Commit Graph

146 Commits

Author SHA1 Message Date
Huw Davies aa57db38dd riched20: Fix the interaction between CFE_UNDERLINE and bUnderlineType.
The effect specifies whether underlining is turned on, while bUnderlineType
indicates the type of underlining.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-14 14:28:21 +02:00
Huw Davies 9d248938ed riched20: Draw the paragraph numbering text in the correct colour.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-12 16:57:02 +02:00
Huw Davies 8a428d52a7 riched20: Add support for displaying bulleted lists.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-07 13:12:13 +02:00
Huw Davies b3b5c25628 riched20: Embed PARAFORMAT2 in the paragraph struct rather than its ptr.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-29 22:40:18 +09:00
Kenneth Haley fc1b2e0473 v4 resend: Riched20: allow setting background text color.
Signed-off-by: Kenneth Haley <haleykd@users.sf.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-16 22:37:05 +09:00
Piotr Caban 060d8c6abb riched20: Add support for ECO_NOHIDESEL flag.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 22:35:02 +09:00
Michael Stefaniuc 9b4b75312a riched20: Use wine_dbgstr_rect() to trace a RECT.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 18:42:12 +09:00
Huw Davies 7a0a4ce7ab riched20: Add uniscribe support. 2014-01-15 15:20:52 +01:00
Huw Davies 674e2cfd24 riched20: Fix an (incorrect) compiler warning. 2013-04-17 14:26:18 +02:00
Huw Davies 5ddfc36cc0 riched20: Add a visual vs logical order flag to the character to position mapping routines. 2013-04-17 14:26:09 +02:00
Huw Davies 635614b5ea riched20: Move the password string hack to just before it's used. 2013-02-15 17:52:11 +01:00
Huw Davies a4378f44aa riched20: Move the range clamping to the helper now that the range isn't used later on. 2013-02-15 17:52:08 +01:00
Huw Davies 79278497d3 riched20: Move underline drawing to a common function. 2013-02-15 17:52:02 +01:00
Huw Davies ab6bb56988 riched20: Simplify selection painting by drawing a selected run twice with appropriate clipping. 2013-02-14 17:35:24 +01:00
Huw Davies d528e76076 riched20: Use the point from char helpers to calculate the selection rectangle. 2013-02-14 17:35:20 +01:00
Huw Davies 2a6f99efcc riched20: The string len parameter is no longer necessary. 2013-02-14 17:35:06 +01:00
Huw Davies 530c546a3f riched20: Remove the special case tab handling now that we handle that in draw_space. 2013-02-14 17:35:00 +01:00
Huw Davies 4cbe94f42a riched20: Move the white space painting operations to a common function. 2013-02-14 17:34:57 +01:00
Huw Davies 4178de89ef riched20: Move text color determination to a helper function. 2013-02-14 17:34:48 +01:00
Huw Davies 681a9e1de6 riched20: Move y offset calculation to a helper function. 2013-02-14 17:34:41 +01:00
Huw Davies c2c5121d19 riched20: Move underline pen creation to a helper function. 2013-02-14 17:34:31 +01:00
Huw Davies 82c8e567fb riched20: Pass the run to the text drawing routine. 2013-02-14 17:34:23 +01:00
Huw Davies 941775e311 riched20: The run width is always passed so we don't need to calculate it again. 2013-02-14 17:34:13 +01:00
Huw Davies 86f077b163 riched20: Add an explicit run length member and use it rather than accessing the string length. 2013-01-31 16:32:12 +01:00
Huw Davies 27578f8bb6 riched20: Add a helper to retrieve the run text. 2013-01-30 17:19:31 +01:00
Dylan Smith 10d800b6b8 richedit: Invalidate a range of paragraphs without marking them. 2012-05-18 18:10:27 +02:00
Dylan Smith 2ebfd01b51 richedit: Remove some unused structure fields. 2012-05-14 12:04:24 +02:00
Dylan Smith 1f8cbe1645 richedit: Avoid scanning all text for paragraphs to invalidate. 2012-05-09 11:55:58 +02:00
Dylan Smith 18fa3287f6 richedit: Remove always FALSE parameter from ME_PaintContent. 2012-05-08 09:42:16 +02:00
Michael Stefaniuc 51998b929a riched20: Drop the WINE_ prefix from a FIXME. 2012-03-12 10:11:16 +01:00
Thomas Faber 28cb0b683e riched20: Constify some ME_Context pointer parameters. 2011-10-24 19:37:08 +02:00
Thomas Faber 73876d6ccd riched20: Fix uninitialized variable usage. 2011-08-22 17:15:02 +02:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
Dylan Smith 4c174fc845 richedit: Removed unused run flags values.
The only place MERF_SKIPPED was in debug code, and MERF_CALCBYWRAP was only
used to clear this unused flag value, so I got rid of both of them.
2010-07-29 10:28:29 +02:00
Dylan Smith dfa80b35b0 richedit: Invalidate without calling UpdateWindow in many cases. 2010-07-29 10:28:00 +02:00
Dylan Smith 328a3f1d8c richedit: EN_UPDATE notification is sent on WM_PAINT. 2010-07-29 10:27:30 +02:00
Dylan Smith dcbc22b985 richedit: Send EN_SELCHANGE after wrapping but before EN_CHANGE.
The call to ME_SendSelChange cannot be done in ME_CommitUndo like it was
before, because it must be done after wrapping.  Native richedit controls
send EN_CHANGE first, which is sent in ME_UpdateRepaint, so
ME_SendSelChange must be before this notification in ME_UpdateRepaint.
2010-05-19 11:17:55 +02:00
Dylan Smith 1f2575ba7c richedit: Documented paragraph border widths are in points not pixels.
The border widths documented by msdn are in points which are 72 dpi, which
is not equivalent to pixels (normally 96 dpi). I pre-converted all the
border widths to 96 dpi resolution since this avoids needed to store
fractions, and often avoids the need for convertion to the displays
resolution.
2010-03-01 11:32:18 +01:00
Dylan Smith 535afbd3aa richedit: Move function ME_GetParaLineSpace to make it static. 2010-02-10 11:32:31 +01:00
Dylan Smith 46b84aed4a richedit: Added function to get selection cursors in order.
Previously the only convenient way to get the start and end of the
selection was through offsets, which eventually need to get converted
back into items in the linked list storing the text.  The new function
will help with eliminating these inefficiencies.
2009-08-12 17:29:30 +02:00
Dylan Smith 0deb3d04ed richedit: Scrollinfo stored as 16-bit values externally.
The application Blitzin2 was sending WM_VSCROLL messages to the
richedit control directly, when normally this message is supposed to
be a notification sent after the scrollinfo is set.  Native richedit
controls always use the 16-bit value passed to this message to set the
scroll position for SB_THUMBPOSITION, rather than trying to find a
32-bit value through GetScrollInfo like I had previously done.
2009-07-22 11:08:33 +02:00
Dylan Smith e364a4406a richedit: Added missing return to ME_EnsureVisible.
The missing return was to prevent automatic vertically scrolling when
style for it is not set, but is set for the horizontal scrollbar. I
initially missed this by testing with no autoscrolling on either
scrollbar.
2009-07-21 10:47:13 +02:00
Dylan Smith f59e41e8d5 richedit: Keep scrollbars hidden without WS_HSCROLL & WS_VSCROLL. 2009-07-17 12:37:17 +02:00
Dylan Smith 140fee1790 richedit: Prevent autoscrolling without ES_AUTO[VH]SCROLL style.
When the richedit control is created without the ES_AUTOHSCROLL or the
ES_AUTOVSCROLL, then scrolling isn't done automatically when moving the
cursor with the arrow keys, drag selecting with the mouse, or even from
using the EM_SCROLLCARET (based on testing using a modified version of
wordpad).
2009-07-17 11:22:07 +02:00
Dylan Smith 5f51221d9c richedit: Fixed scrollbar visiblility calculation after SetScrollInfo.
The scrollbar visibility can be changed from SetScrollRange or
SetScrollInfo, but the visiblity that is a result of these calls are
not consistent with the calculation made by richedit controls to
decide whether to show or hide the scrollbars.
2009-02-24 16:57:28 +01:00
Dylan Smith a0466e2c0e richedit: Don't show vertical scrollbar for single line controls.
The vertical scrollbar is not shown when the ES_MULTILINE style isn't
used, unless ES_DISBALENOSCROLL is also used.
2009-02-24 16:57:28 +01:00
Dylan Smith ecb6c2169c richedit: Store paragraph in cursors.
This prevents some needless searching for the start of the paragraph
from a run stored in a cursor.  Usually a pointer to the paragraph is
already available when the cursor is set anyway.
2009-02-10 12:59:09 +01:00
Dylan Smith 5f15de0690 richedit: Removed ME_StrLen and ME_StrVLen field access functions.
These functions were probably previously needed because of some wierd
special handling of backspace characters, but currently there is no
reason why the nLen field can't be accessed directly.

Having to functions that just access the string length field just causes
slightly more effort for someone to look at the code, because they need
to enter the function to find out what it actually is doing.
2009-02-09 13:05:13 +01:00
Dylan Smith 5c91d5356e richedit: Avoided searching for adjacent paragraphs through runs.
When finding an adjacent paragraph, the next_para and prev_para pointers
should be used because they are direct pointers, a constant time
operation.  Instead I found some places in the code that searched through
the general linked list to get to an adjacent paragraph, which is a linear
time operation, depending on the number of rows and runs in between
paragraphs.
2009-02-06 14:54:01 +01:00
Dylan Smith ea9e062b6c richedit: Removed unnecessary calls to ME_WrapMarkedParagraphs.
These calls to ME_WrapMarkedParagraphs never do anything, and don't make
sense to be called in these places. These places are for ME_MoveCaret,
and ME_ArrowHome, which both don't involve any text being modified, and
all (direct and indirect) calls to these functions are done after the
text has already been wrapped.
2009-02-06 14:50:27 +01:00