James Tabor
e98684ed8b
[GDI32] Fix rectangle flag issues.
...
Fix CORE-17815. Remove dumb dumb code breakers.
2021-10-16 11:16:43 -05:00
James Tabor
8767aada75
[GDI32] Fix IV msvc build.
2021-09-27 19:08:43 -05:00
James Tabor
be4540821a
[GDI32] Fix III msvc build.
2021-09-27 18:19:49 -05:00
Hermès Bélusca-Maïto
e6306db0c3
[GDI32] Fix build errors~~
2021-09-28 00:48:24 +02:00
James Tabor
d4b2c97b67
[GDI32] Fix msvc build errors.
2021-09-27 17:30:40 -05:00
James Tabor
fc16259faf
[GDI32] Update Wine Metafile Code
...
Sync/Port: Metafile code from wine.
Patches by Jacek Caban, Daniel Lehman, Zhiyi Zhang. Gabriel Ivancescu, Michael Stefaniuc, Francois Gouget, Nikolay Sivov Dmitry Timoshkov, Andrew EiKum, Piotr Caban and Alexandre Julliard.
This commit is dedicated to George Bisoc!
2021-09-27 16:18:20 -05:00
James Tabor
970344bd16
[Win32SS|GDI] Implement seldom used API and update types for local DC's.
...
Two working in house application require these API. Known as FolCOL and Reach.
2021-09-25 11:57:26 -05:00
Hermès Bélusca-Maïto
9393fc320e
[FORMATTING] Remove trailing whitespace. Addendum to 34593d93
.
...
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
James Tabor
a022dc8eaf
[GDI32] Fix Meta file packing recursion issues.
...
TextOut was looping back adding additional EMR packet to the meta file.
2021-09-06 18:37:24 -05:00
Oleg Dubinskiy
58daf942fe
[GDI32] Fix wrong ordering of parameters in NtGdiDdGetDC call ( #3637 )
...
It allows to properly pass the surface handle (and palette entry pointer) from MS ddraw into win32k.
Otherwise, they are passing into the wrong parameters of actual NtGdi* function, and due to this,
since they're detected as invalid, they become NULL, and that function does not work correctly.
See https://docs.microsoft.com/en-us/windows/win32/devnotes/-dxgkernel-ntgdiddgetdc for the reference
(and confirmed by our headers).
Required by MS DirectDraw stack (ddraw.dll & dxg.sys).
CORE-17561
2021-05-03 18:11:18 +02:00
Jérôme Gardou
e470b58376
[REACTOS] Explicitly link against pseh & include pseh headers in a few places
2021-04-28 13:10:23 +02:00
Jérôme Gardou
b96e88894a
[CMAKE] Turn import libs into regular C static libs
...
Embed msvcrtex into libmsvcrt
Idea taken from Thomas Faber
2020-12-28 12:13:30 +01:00
Timo Kreuzer
cef57d3c44
[GDI32] Fix up GdiFixUpHandle
2020-10-31 14:24:09 +01:00
Mark Jansen
7ed0f25b64
[GDI32] Prevent double initialization in GdiProcessSetup
...
Found with Application Verifier :)
2020-10-11 16:30:39 +02:00
James Tabor
8313483202
[GDI32] Force Return if other Type of Device Requested
...
Fix CORE-17241 assert.
2020-09-08 12:52:28 -05:00
Doug Lyons
7624a98706
[GDI32] Fix double cx's in call to HANDLE_METADC in win32ss painting.c ( #3137 )
...
Fix copy-paste error.
2020-09-06 18:08:03 +02:00
Serge Gautherie
5f076e5558
[GDI32] MirrorRgnByWidth(): Fix 'phrgn' parameter handling
...
Detected by Cppcheck: uselessAssignmentPtrArg.
Addendum to 794e7aa
(r31523) and e647530
(r65893).
2020-06-18 10:33:35 +02:00
Tibor Lajos Füzi
6020af2014
[GDI32] Allow BI_BITFIELDS compression in CreateDIBitmap ( #2448 )
...
CORE-16750, CORE-15960
2020-03-30 12:11:38 +02:00
Thomas Faber
72c51aabba
[NTOS:IO][GDI32][CMD] Fix some under-sized variables. CORE-14922
...
Fixes x64 boot with RTC.
2020-03-13 20:45:06 +01:00
Colin Finck
5d8c39753e
[GDI32] GdiConvertToDevmodeW: Import WINE commit 32393796bb534e9cf11dd988dce88722c67f7906 ("gdi32: GdiConvertToDevmodeW should not refer to unintialized name bytes.")
...
This makes our GdiConvertToDevmodeW equivalent to the WINE counterpart again.
2020-02-24 19:17:56 +01:00
jimtabor
c89e111c6a
[GDI32] Use Gdi Flush for SetViewportOrgEx.
...
Fixes offset in combo texts and menu highlights. See CORE-16644 & CORE-16656.
2020-02-13 17:05:38 -06:00
jimtabor
5214a38fd0
[Win32SS] Fix Opaque Text Fade while in Desktop Startup
...
See CORE-16498.
2019-12-09 11:18:32 -06:00
jimtabor
333b8f19a4
[GDI32] Update Gdi Driver Header.
...
Patch by : Akihiro Sagawa : Implement GetCharWidthInfo().
1128587fd2
2019-10-18 23:49:13 -05:00
jimtabor
665871527b
[GDI32] Allow functions to access printing support.
...
Reapplying lost committed code.
2019-07-27 14:15:42 -05:00
jimtabor
4563ca28d3
[GDI32] Add more to Local DC structure.
...
Make the two structures identical. These are used for printing and
enhanced metafile support.
2019-07-27 14:13:14 -05:00
James Tabor
9f57320175
[GDI32] Meta File Fix Ups
...
Remove pointer hack. Safer since using wines Enhanced Meta headers with
unknown wine magic information.
2019-06-03 15:49:14 -05:00
jimtabor
da264743e1
[Win32SS] Support Clipboard Metafile
...
Major fix ups and plugging in missing code changes. Handle code is from
another project currently being developed for ReactOS.
See CORE-12143
2019-05-31 21:44:17 -05:00
jimtabor
e229b3eea7
[GDI32] Support Clipboard Metafile
...
Metafile patch from Katayama Hirofumi MZ. See CORE-12143.
2019-05-30 16:33:23 -05:00
jimtabor
5418f394ab
[Gdi32] Batch Type Select Mode for Testing
...
Do not allow setting hdc if no batch type is found.
See CORE-15988.
2019-05-11 11:22:06 -05:00
jimtabor
dc7f4f682f
[Win32SS] Plug in Last Batch
...
Plugging in last batch after 12 years.
2019-05-09 12:35:21 -05:00
James Tabor
9d00413754
[GDI32] Add batch flag for Text Out
...
Set batch flag for Text Out with font and attributes change sets.
2019-05-01 23:24:53 -05:00
James Tabor
44b11ad6a9
[GDI32] Fix MS build
...
Fix old uncovered code.
2019-05-01 20:53:06 -05:00
James Tabor
b751c31c74
[GDI32] Update signal flags for batch.
...
Add removed flags for batch signaling. This will allow syncing of
changed Xfroms after batched drawing. Disable calls to kernel mode since
the code is closely identical. Kernel calls are for init time when
PDCATTR is normally zero. ReactOS seems to work better keeping this from
NULL.
While making code changes add Xform state flags from:
https://www.reactos.org/archives/public/ros-diffs/2019-May/070693.html
Test BOT results:
https://reactos.org/testman/compare.php?ids=67251,67254
https://reactos.org/testman/compare.php?ids=67253,67255
2019-05-01 20:33:09 -05:00
Katayama Hirofumi MZ
8bdfdd5c17
[WIN32SS][NTGDI][GDI32] Fix DPtoLP and NtGdiTransformPoints etc. ( #1540 )
...
Fix NtGdiTransformPoints, gdi32!DPtoLP, gdi32!LPtoDP and gdi32!SetMapMode functions. Fix CORE-15983. CORE-15983
2019-04-29 14:45:44 +09:00
Pierre Schweitzer
610cc5a6b6
[GDI32] Reduce verbosity on debug builds
2019-04-20 11:24:54 +02:00
jimtabor
7fabc51d73
[GDI] Fixup attribute support for Regions
...
Start to fix CORE-13817 when GDI batch is turn on for SelectClipRgn.
2019-04-17 14:09:58 -05:00
Hermès Bélusca-Maïto
7334567211
[GDI32] Do not 'hard-assert' during the font-unit-test.
2019-04-14 01:17:15 +02:00
Katayama Hirofumi MZ
bc9f3ed887
[GDI32][NTGDI] Avoid integer overflow (follow-up of #1492 ) ( #1495 )
...
Follow up of #1492 . CORE-15755
- Use RtlULongMult function to check integer overflows.
2019-04-11 17:57:57 +09:00
Katayama Hirofumi MZ
811faed421
[GDI32][NTGDI][SETUP] Fix font enumeration part 2 ( #1492 )
...
Eliminate some bugs about font enumeration. CORE-15755
- Add "Microsoft Sans Serif" font substitution.
- Fix and improve the treatment of the nominal font names.
- Split IntGetFontFamilyInfo function from NtGdiGetFontFamilyInfo.
- Add DoFontSystemUnittest function for font system unittest to GDI32.
- Call DoFontSystemUnittest function at CreateFontIndirectW first call.
2019-04-11 11:46:52 +09:00
Katayama Hirofumi MZ
ae80eb824e
[GDI32] Improve IntFontFamilyListUnique function ( #1491 )
...
Make gdi32!IntFontFamilyListUnique function std::unique compatible. Previous code didn't set the first entry correctly. CORE-15785
2019-04-09 17:39:42 +09:00
Katayama Hirofumi MZ
672ac75033
[GDI32] add some DPRINT's for font enum functions
2019-04-09 16:44:57 +09:00
Jérôme Gardou
e24182f8c0
[GDI32] Use correct dependenxy for the winegdi library
2019-04-06 17:43:38 +02:00
Jérôme Gardou
23373acbb9
[CMAKE] Use modules instead of shared libraries
...
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.
On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Baruch Rutman
7143e411c4
[GDI32] Integrate LpkGetTextExtentExPoint(). ( #1362 )
...
- Assume that GetTextExtentExPointWPri() uses the same kind of
arguments as GetTextExtentExPointW().
- Add GetTextExtentExPointWPri() declaration to undocgdi.h.
2019-03-23 23:34:09 +01:00
James Tabor
b4624f32f3
[GDI32] Fix issue after a Flush
...
While flushing the DC handle goes down with the flush. This was not a
regression, just untested old code.
2019-03-14 12:00:53 -05:00
James Tabor
d57f7becc3
[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
2019-03-08 22:21:41 -06:00
Timo Kreuzer
7dabd235ec
[GDI32] Add casts to silence warnings on x64
...
The cast is required, because FARPROC is only compatible with function pointer types that return INT_PTR and the ones used return int/BOOL.
2019-03-04 21:58:42 +01:00
Timo Kreuzer
711dbd19f7
[GDI32] Fix bDDCreateSurface
2019-03-04 21:58:42 +01:00
jimtabor
b6262a25fd
Use GDI Batch for PatBlt
...
This should increase speed a bit. Makes a good argument to use
PolyPatBlt for more than one call.
PolyPatBlt is not fully tested yet.
2019-03-02 11:30:21 -06:00
Mark Jansen
0bfa6722ba
[GDI32] Add missing dependency
2019-01-06 21:07:28 +01:00