Commit graph

253 commits

Author SHA1 Message Date
Jacek Caban 3dbe180ea5 win32u: Extend NtGdiSetDIBitsToDeviceInternal for SetDIBits implementation. 2023-05-29 11:37:08 +02:00
Jacek Caban 0c73b717fb win32u: Pass blend function as DWORD to NtGdiAlphaBlend. 2023-05-25 16:26:08 +02:00
Piotr Caban 0e976ca544 gdi32: Abort printing if DeleteDC is called before EndDoc. 2023-05-23 09:28:43 +02:00
Piotr Caban ec6062c572 wineps: Introduce wine_driver_open_dc wine specific export used to create printer DC.
Doing it this way avoids passing Unix library pointers throught PE.
2023-05-17 07:19:09 -05:00
Alexandre Julliard f83ec675bd win32u: Don't use floating point types in syscalls. 2023-05-12 11:39:10 +02:00
Piotr Caban 0ba17961a9 gdi32: Add device name to wine_get_gdi_driver call. 2023-05-10 21:18:10 +02:00
Piotr Caban 9adaca0f19 gdi32: Handle NEXTBAND escape in Escape(). 2023-05-08 20:00:50 +02:00
Piotr Caban 33ee9fad71 gdi32: Return error in EndPage if it's called before StartPage. 2023-05-01 16:44:11 +02:00
Piotr Caban f4d78d5352 gdi32: Support saving EMR_EXTESCAPE record in spool file. 2023-05-01 16:44:11 +02:00
Piotr Caban a79c2fd379 gdi32: Ignore in_count parameter in Escape() on PASSTHROUGH escape. 2023-05-01 16:44:11 +02:00
Piotr Caban 4496c64aa1 gdi32: Support creating EMRI_DEVMODE records in spool files. 2023-04-28 18:33:23 +02:00
Piotr Caban 2b8de93005 gdi32: Implicitly call StartPage while drawing on printer DC. 2023-04-28 18:33:23 +02:00
Piotr Caban e0513f4dd1 gdi32: Add GdiIsMetaPrintDC implementation. 2023-04-27 18:34:10 +02:00
Piotr Caban ca66b3eb84 gdi32: Add support for creating EMF spool files. 2023-04-27 18:34:10 +02:00
Piotr Caban d317db91f2 gdi32: Store the printer info in a structure. 2023-04-27 18:34:09 +02:00
Piotr Caban c752e84543 gdi32: Use EMR_REALIZEPALETTE to record RealizePalette. 2023-04-22 17:34:32 +02:00
Piotr Caban b6204639ba gdi32: NULL terminate output string in CreateDCW. 2022-11-29 19:11:19 +01:00
Piotr Caban 1cf1412a12 gdi32: Get printer output file name in StartDoc. 2022-11-22 18:27:30 +01:00
Piotr Caban 4e527045d5 gdi32: Don't crash in StartDoc on NULL DOCINFO. 2022-11-22 18:27:30 +01:00
Jacek Caban 2b6647cdd5 win32u: Use platform-independent layout for DC_ATTR. 2022-08-09 15:55:43 +02:00
Jacek Caban 7f64eead50 win32u: Introduce inline helpers for NtUserCallOneParam calls.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-13 18:13:06 +02:00
Eric Pouech b31225da21 gdi32: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 18:09:46 +01:00
Eric Pouech b072f01e13 win32u: Change NtGdiPolyPolyDraw parameter to ULONG.
As suggested by Nikolay Sivov.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-01 18:23:19 +01:00
Jacek Caban f359c7f60c win32u: Use NtUserSelectPalette instead of GDISelectPalette.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-03 16:56:08 +01:00
Jacek Caban 41eac6e25c win32u: Use NtUserCallOneParam instead of GDIRealizePalette.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-03 16:56:08 +01:00
Jacek Caban 5a66203ba5 gdi32: Rename gdidc.c to dc.c.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:54:36 +02:00
Jacek Caban 08f677cadf win32u: Move ntgdi implementation from gdi32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Jacek Caban 7757f4ee7e gdi32: Use __wine_ prefix for Wine ntgdi extensions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Jacek Caban 9aa1cd06dd gdi32: Use pthread mutex instead of gdi_section.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 16:11:12 +02:00
Jacek Caban 01b6ba88d6 gdi32: Use NtAllocateVirtualMemory to alloc DC_ATTR.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-01 12:36:02 +02:00
Jacek Caban 6ea18f6681 gdi32: Use native memory allocators in Unix library.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-01 12:35:54 +02:00
Jacek Caban 6857cb5695 gdi32: Move ntgdi functions to Unix library.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Jacek Caban 09362dbf75 gdi32: Use NtGdiOpenDCW for CreateDCW.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Jacek Caban 6342e9217d gdi32: Remove unused argument from CreateDC driver entry point.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Nikolay Sivov 2b99a4ebb9 gdi32: Fix a typo in failure path (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:23 +02:00
Jacek Caban d3d6b832a3 win32u: Directly use NtGdiGetDeviceCaps in ntgdi functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:23 +02:00
Jacek Caban ad4f9396e0 win32u: Use NtGdiSetBrushOrg in NtGdiMaskBlt.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:23 +02:00
Jacek Caban a222f974c3 gdi32: Introduce get_gdi_object_type.
And use it instead of GetObjectType in ntgdi functions.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:22 +02:00
Jacek Caban 5f139f1411 gdi32: Factor out get_icm_profile.
And move it to dc.c.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 19:31:24 +02:00
Jacek Caban bf4cdfad5b gdi32: Support NULL prev_value in NtGdiGetAndSetDCDword.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 19:31:19 +02:00
Jacek Caban 3361a2f2ba gdi32: Don't use gdi_private.h and ntgdi_private.h at the same time.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-07 23:19:22 +02:00
Jacek Caban 8e70a0a5cc gdi32: Use NtGdiDeleteObjectApp instead of DeleteObject in ntgdi functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 21:43:03 +02:00
Jacek Caban 072a100f66 gdi32: Use internal get_stock_object in ntgdi functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 21:43:03 +02:00
Jacek Caban 5794b2da18 gdi32: Use shifted values for NTGDI_OBJ_* constants.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 21:43:03 +02:00
Jacek Caban 34508690cb gdi32: Move CombineTransform to objects.c.
And use a separated copy in ntgdi functions.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 17:09:07 +02:00
Jacek Caban 55849cd428 gdi32: Use NtGdiGetAndSetDCDword for SetGraphicsMode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 15:48:27 +02:00
Jacek Caban 233af3fdbf gdi32: Handle EMF recording clean up in DeleteDC.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 18:15:14 +02:00
Jacek Caban 9a53f3ae11 gdi32: Use NtGdiDeleteObjectApp for DeleteDC.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 18:15:07 +02:00
Jacek Caban e33cdf89c5 gdi32: Use NtGdiResetDC for ResetDCW.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 18:15:02 +02:00
Jacek Caban 7ad7ec5b8b gdi32: Store font code page in DC_ATTR.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 17:34:56 +02:00