Re: riched20: (updated) EM_GETLINE implementation and test
On 6/22/06, Krzysztof Foltman <wdev(a)foltman.com> wrote:
This is the EM_GETLINE patch from Thomas Kho, updated to current git and with L"" replaced by proper WCHAR array.
Krzysztof
======================================================
Hi,
The following patch implements EM_GETLINE. This feature was requested in bug #4305 <http://bugs.winehq.org/show_bug.cgi?id=4305> and also mentioned at <http://groups.google.com/group/comp.emulators.ms-windows.wine/msg/f897626539d4701c>
Regards,
Thomas Kho
diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c index 9a2b966..23538ab 100644 --- a/dlls/riched20/editor.c +++ b/dlls/riched20/editor.c
...
@@ -2016,6 +2016,62 @@ LRESULT WINAPI RichEditANSIWndProc(HWND return nChars; } } + case EM_GETLINE: + { + ME_DisplayItem *run; + ME_String *strText; + int nMaxChars = (int) *(WORD *) lParam; + int nBPC = 1; /* bytes per character */ + int nEndChars; + char *dest = (char *) lParam; + + TRACE("EM_GETLINE: row=%d, nMaxChars=%d (%s)\n", (int) wParam, nMaxChars, + IsWindowUnicode(hWnd) ? "Unicode" : "Ansi"); +
A case this long should be moved into its own function and called from case EM_GETLINE. In fact, most of these should probably be factored into separated functions to reduce clutter. As it stands, RichEditANSIWndProc is a 1048 line function...yikes. -- James Hawkins
participants (1)
-
James Hawkins