Andrew Talbot
d287e88691
riched20: Declare some functions static.
2009-01-14 12:40:40 +01:00
Dylan Smith
ee19ec056a
richedit: Prevent an unsigned integer underflow.
2009-01-12 14:40:30 +01:00
Dylan Smith
6df4148b04
richedit: Prevent redundant rewraps when scrollbar is shown.
...
A common case for richedit controls are that a large amount of text is
set initially with word wrap enabled. This causes the initially
wrapping of the text, which also calculates the text length. After
this the vertical scrollbar will be shown, which causes the text to be
rewrapped again. After this there are two redundant rewraps that are
done which this patch eliminates.
2009-01-06 12:51:55 +01:00
Dylan Smith
a16db0afc6
richedit: Scroll up with less than page of text with ES_DISABLENOSCROLL.
2009-01-06 12:51:41 +01:00
Dylan Smith
97a83147b3
richedit: Avoid re-calculating positions found in wrapping for painting.
...
When the text is wrapped, the positions for all the runs, paragraphs,
and cells are already calculated and stored. The only thing left to do
for painting is to offset them by the formatting rectangle and the
scroll position.
2008-12-20 11:43:29 +01:00
Dylan Smith
dc03b6b2f2
richedit: Removed redundant editor height variables and calculations.
...
During wrapping there were three different heights that were being
stored, with only one of them being done correctly. The other ones
failed to incorporate the height of the paragraph or row, so ended up
being incorrect.
2008-12-20 11:43:09 +01:00
Dylan Smith
297716e01c
richedit: Made sure text is offset by formatting rectangle.
...
The formatting rectangle is set with EM_SETRECT, and retrieved with
EM_GETRECT, so it corresponds to rcFormat in the code. This defines the
area that the richedit control should draw the text so that it is
offset by the top-left corner of the formatting rectangle, and clipped
so that it doesn't draw past the bottom or right hand side. Thus this
is important for implementing windowless richedit controls to not
interfere with the rest of the window.
2008-12-18 14:19:40 +01:00
Dylan Smith
c70f6a3933
richedit: Use the DefWindowProc to implement WM_SETREDRAW.
2008-10-20 11:37:27 +02:00
Dylan Smith
ae3394271d
richedit: Prevent EN_UPDATE notifications when window isn't visible.
2008-10-20 11:37:27 +02:00
Dylan Smith
f24678b285
richedit: Scroll cursor into view even with redraw turned off.
2008-10-18 19:32:43 +02:00
Dylan Smith
f78a841973
richedit: Removed space in front of function signature.
2008-09-22 11:49:29 +02:00
Dylan Smith
72d754108a
richedit: Removed a redundant condition.
2008-09-19 11:40:48 +02:00
Dylan Smith
87292d81ee
richedit: Avoid unconditionally rewrapping text on scroll.
2008-09-18 12:32:50 +02:00
Dylan Smith
da058cbf67
richedit: Handle deletion at the end of text properly.
2008-09-18 12:32:44 +02:00
Dylan Smith
ddc107bd26
richedit: Added support for changing cell border colours.
2008-08-18 17:15:57 +02:00
Dylan Smith
421c5b0e02
richedit: Borders are now drawn for tables and nested tables.
2008-08-18 17:15:57 +02:00
Dylan Smith
967c148a68
richedit: Borders are drawn for simple tables.
2008-08-18 17:15:57 +02:00
Dylan Smith
b628482d68
richedit: Removed an unused local variable and assignments to it.
2008-08-18 17:15:57 +02:00
Dylan Smith
300db3765f
richedit: Each cell can contain multiple paragraphs in msftedit.
2008-08-18 14:34:11 +02:00
Dylan Smith
11c8039699
richedit: Use tabstops to store cell positions.
2008-08-05 14:09:37 +02:00
Alex Villacís Lasso
acfb6ea210
richedit: Do not read actual scrollbar state for scrollbar update, use internal state instead.
2008-07-23 13:05:27 +02:00
Eric Pouech
6ef6f7167d
richedit: Add an assert to point out what we're expecting.
2008-07-17 10:53:41 +02:00
Dylan Smith
0f14d65c70
richedit: Use system colour for highlighting after v2.0.
...
In version 1.0 of the richedit controls highlighting is done by
inverting the colours. Version 2.0 and up highlight instead draw
the text using system colours for the background and the text.
2008-07-11 14:25:17 +02:00
Dylan Smith
9bcfa942a0
richedit: Prevented underlining the end of paragraph character.
2008-07-11 14:25:02 +02:00
Dylan Smith
5ec188d955
richedit: Tabs are now highlighted and underlined.
2008-07-11 14:24:51 +02:00
Juan Lang
c40c08b3d3
richedit: Only send update events in 1.0 emulation mode if the event mask specifies it.
...
Fixes a crash in native cryptui.dll when viewing certificate properties.
2008-07-01 13:45:37 +02:00
Alex Villacís Lasso
163e9d1d02
richedit: Revert patch that introduced a test that fails on all platforms.
2008-06-25 11:14:13 +02:00
Andrew Talbot
11f5909368
riched20: Constify some variables.
2008-06-20 12:22:51 +02:00
Alex Villacís Lasso
0e9ed5c10e
richedit: Empty text should result in a scroll range of 0. Tests for this behavior.
2008-06-19 12:10:21 +02:00
Dylan Smith
6f11b1b354
richedit: Removed useless code.
2008-05-05 21:18:13 +02:00
Eric Pouech
60234f8fc4
richedit: Properly handle the background in case of border in paragraph.
2008-04-25 11:43:54 +02:00
Andrew Talbot
0ba8677430
riched20: Remove unused variables.
2008-04-24 11:49:53 +02:00
Alex Villacís Lasso
dfcebfb22e
riched20: Fix behavior of EM_REPLACESEL with painting disabled.
2008-04-21 20:26:54 +02:00
Austin English
313a85f163
Spelling fixes.
2008-04-17 12:25:57 +02:00
Eric Pouech
5d36c47e1f
richedit: Fixed object leaks generated by context creation & destruction.
2008-03-17 14:37:58 +01:00
Eric Pouech
9b2e552bf4
richedit: Prevent division by zero when 0-width border is used.
2008-03-17 14:18:36 +01:00
Eric Pouech
00de77517a
riched20: Start handling OLE objects inside richedit.
2008-02-05 11:11:32 +01:00
Eric Pouech
cb4f8a80de
richedit: Check return of GetScrollInfo before accessing the returned structure.
2008-01-07 12:14:10 +01:00
Eric Pouech
d5478118a1
richedit: Don't force repaint while the redraw flag is off.
2008-01-02 13:57:53 +01:00
Eric Pouech
f43570cbf0
richedit: Optimizations for the style selection.
...
Use a ME_Context for style selection/unselection.
Store the (x,y) dpi information for a given DC in the corresponding ME_Context structure.
2008-01-02 13:57:37 +01:00
Eric Pouech
4cecb5dc70
richedit: Move init code after some sanity checks to avoid unneeded computations.
2008-01-02 13:55:53 +01:00
Eric Pouech
d319033a97
richedit: Added support for intra-paragraph line space.
2008-01-02 13:54:49 +01:00
Eric Pouech
f1b029ef6a
richedit: Added support for spaces above & below paragraphs.
2008-01-02 13:54:25 +01:00
Eric Pouech
caa37c749a
richedit: Now drawing the paragraph borders (if any) from paraformat2.
2008-01-02 13:54:01 +01:00
Eric Pouech
28cc0f9e69
richedit: Fix the para computation when zoom is used.
2008-01-02 13:52:52 +01:00
Eric Pouech
f4fd063101
richedit: Enforce usage of paraformat2 fields instead of homegrown ones for paragraphs.
2008-01-02 13:52:10 +01:00
Eric Pouech
0549b9009a
richedit: Simplified handling of background brush while painting.
2008-01-02 13:49:57 +01:00
Eric Pouech
2602a39bd9
richedit: Now painting the newly supported underline types.
2008-01-02 13:48:53 +01:00
Alex Villacís Lasso
42d6cc7cf5
riched20: Invalidate all the text on bogus last selection.
2007-12-08 19:54:23 +01:00
Clinton Stimpson
f8f07dfe54
riched20: Adjust event mask when sending EN_CHANGE notification.
2007-09-20 16:47:30 +02:00
Lei Zhang
0d4707c284
riched20: Properly calculate control display height.
2007-08-16 11:35:06 +02:00
Andrew Talbot
ed93ed9a08
riched20: Constify some variables.
2007-08-14 13:28:05 +02:00
Andrew Talbot
166b3a6cdb
riched20: Declare some functions static.
2007-01-24 12:31:29 +01:00
Clinton Stimpson
78584b6ee1
riched20: Only send EN_CHANGE when it is supposed to be sent.
2006-11-27 13:46:02 +01:00
Hans Leidekker
177350d087
riched20: Win64 printf format warning fixes.
2006-10-14 20:16:56 +02:00
Matt Finnicum
abecd9e393
riched20: Rewrite of scrolling and some redrawing code.
...
Replaces duplicated scrolling code with re-usable functions.
Removes excessive boundary checking on scroll code, since that's done
in the scrollbar control anyways.
Properly separates repaint calls based on what has changed.
Send EN_UPDATE and EN_CHANGE at the right places.
Only call EnsureVisible on changes, not all repaints.
2006-09-11 11:29:42 +02:00
Matt Finnicum
e73890a72c
riched20: Send EN_LINK notifications. Properly underline / color links.
2006-08-17 11:44:12 +02:00
Matt Finnicum
658c0cdd1a
riched20: Implement EM_SHOWSCROLLBAR, EM_SETSCROLLPOS, ES_DISABLENOSCROLL, and WS_VSCROLL.
2006-08-09 11:20:43 +02:00
Krzysztof Foltman
bad844d0a9
riched20: New, clean, simple selection repaint logic - should fix all outstanding refresh issues.
2006-08-07 19:59:58 +02:00
Krzysztof Foltman
3a0c15e939
riched20: Ensure text is wrapped before invalidating selection.
2006-08-07 13:09:27 +02:00
Matt Finnicum
2b92bf78d1
riched20: Implement EM_SETPASSWORDCHAR and EM_GETPASSWORDCHAR.
2006-08-05 11:25:34 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Hamza Lakhani
6979719a90
riched20: EM_HIDESELECTION implementation.
2006-02-27 12:20:56 +01:00
Phil Krylov
08bf7180f3
riched20: Initial support for simple tables.
2006-02-04 17:01:01 +01:00
Phil Krylov
f0d6519ef5
riched20: Added support for hidden text.
2006-01-31 13:01:26 +01:00
Alexandre Julliard
ba0d6bd0f7
riched20: Remove a couple of no longer used functions.
2006-01-27 12:20:21 +01:00
Phil Krylov
bb9631b196
riched20: Selection painting fixes.
2006-01-26 13:27:28 +01:00
Phil Krylov
8205252f10
riched20: Fixed some selection painting bugs.
2006-01-13 13:53:35 +01:00
Phil Krylov
777d9bfacd
riched20: Removed a useless check in painting code.
2006-01-12 11:54:37 +01:00
Phil Krylov
6818762a6e
riched20: Reduced screen flicker by using proper update region invalidation.
2006-01-10 20:41:23 +01:00
Phil Krylov
fe2951daaa
Cache background color brush instead of recreating it at each screen
...
update.
2005-11-03 11:33:24 +00:00
Phil Krylov
a91ba787e2
Added support for EM_REQUESTRESIZE message, EN_REQUESTRESIZE
...
notification, and ENM_REQUESTRESIZE event mask.
2005-11-03 09:52:29 +00:00
Phil Krylov
f1184b466d
Added EM_SETRECT, EM_SETRECTNP, and WM_SETREDRAW message handling.
...
Added support for GT_SELECTION flag in EM_GETTEXTEX handler.
2005-08-15 09:47:14 +00:00
Phil Krylov
8759b5fead
Added EM_GETZOOM and EM_SETZOOM RichEdit message handlers.
2005-07-24 16:17:43 +00:00
Stefan Huehner
70c80fb430
Make functions static to fix -Wmissing-declarations warnings.
2005-07-06 15:53:04 +00:00
Krzysztof Foltman
b16f330197
- added support for \ulnone (turning underline off)
...
- support for basic subscript and superscript
- untested support for text offset
2005-06-12 10:43:24 +00:00
Hannu Valtonen
cd80c487f5
Use correct background color for the whole richedit control.
2005-05-24 10:10:54 +00:00
Krzysztof Foltman
13578c8602
- removed trailing spaces from some files
...
- tab support
- indent support
2005-04-16 10:48:35 +00:00
Krzysztof Foltman
d6b198b3bd
- PageUp key support.
...
- Support for "normal" scroll bar functionality (line and page
scrolling).
2005-03-21 10:27:24 +00:00
Krzysztof Foltman
810b261175
- made string operations consistent wrt whitespace handling (which
...
should greatly improve stability of the wrap code and eliminate
regressions of the most recent versions)
- completely new scrollbar handling (much more reliable) and related
redraw fixes
- Page Down handler (no Page Up yet, fixing wrap/redraw/scrollbar bugs
was of higher priority)
2005-03-19 17:06:17 +00:00
Krzysztof Foltman
f089de1f4d
- RTF reader doesn't use RichEdit messages anymore (which saves on
...
unnecessary repaints)
- added unicode character support to RTF import (like: \u12345 ?)
- small fixes
- fixed whitespace identification bug
- removed drawing of paragraph marks
- improved stub implementations for IRichEditOle
2005-03-17 10:23:40 +00:00
Krzysztof Foltman
f7e0f7cabe
- Optimized repaint of the area below the text.
...
- ME_JoinRuns didn't mark the paragraph for rewrapping, fixed.
- Removed PostQuitMessage(0) from WM_DESTROY handler (duh!).
- Use of EM_GETOLEINTERFACE is reported with FIXME instead of TRACE
(any app using this message is likely to encounter major problems).
2005-03-09 18:43:18 +00:00
Krzysztof Foltman
89075fb429
The meaning of the rewrap flag got inverted (MEPF_REWRAP instead of
...
MEPF_WRAPPED) for consistency.
Major code cleanups in rewrap/repaint code, leading to "smarter"
behaviour wrt repainting selections.
2005-03-09 11:48:59 +00:00
Krzysztof Foltman
300f684053
Old font management replaced by the cache-based one, which keeps
...
maximum of 10 HFONTs at once, instead of one per a couple of runs.
2005-03-08 16:26:23 +00:00
Krzysztof Foltman
cdbab8bcfd
Added a check for empty scrollbar range.
2005-03-07 10:59:53 +00:00
Krzysztof Foltman
d488f3f1de
Initial implementation of riched20.
2005-03-05 11:19:14 +00:00