[Win32SS] Add TextOut to GDI Batch
authorJames Tabor <james.tabor@reactos.org>
Sat, 9 Mar 2019 04:21:41 +0000 (22:21 -0600)
committerJames Tabor <james.tabor@reactos.org>
Sat, 9 Mar 2019 04:21:41 +0000 (22:21 -0600)
commitd57f7becc3f320408008649fa21c86926d9d16b6
tree773c9b0854a578835ccadaf3cde0fcf4b37f7a07
parent6676b7c48baeea3ac81b560eb0a1270956f0a13c
[Win32SS] Add TextOut to GDI Batch

Add fix ups to PolyPatBlt and freetype.
TextOut supports 580 characters w/o Dx and Dx at a max of 193 characters
with Dx*1, both if offset is 0.

Noticed a lot of over drawing with start menu from ComCtl32 SB_SETTEXT
going through User32 DrawText/Worker ExtTextOutW. Explain why it might
be slowing down.

If issues arise, commenting out lines in win32ss/include/gdi32p.h can
help.

Example:
else if (Cmd == GdiBCTextOut) cjSize = 0;//sizeof(GDIBSTEXTOUT); <----
this one most of all.
 else if (Cmd == GdiBCExtTextOut) cjSize = 0;//sizeof(GDIBSEXTTEXTOUT);

Test results:
https://reactos.org/testman/compare.php?ids=66260,66262
win32ss/gdi/gdi32/include/gdi32p.h
win32ss/gdi/gdi32/objects/painting.c
win32ss/gdi/gdi32/objects/text.c
win32ss/gdi/ntgdi/freetype.c
win32ss/gdi/ntgdi/gdibatch.c
win32ss/include/ntgdityp.h