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
111b9def83
gdi32: Use ntgdi names for object 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-08-30 22:49:58 +02:00
Jacek Caban
4d55d75455
gdi32: Use ntgdi names for palette 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-08-16 18:38:44 +02:00
Nikolay Sivov
0dab1e414a
gdi32: Use documented structure layout for EMF-to-WMF embedding records.
...
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-08-05 20:43:27 +02:00
Jacek Caban
3c6075e4b4
gdi32: Don't restore DC state in EnumEnhMetaFile when using metafiles.
...
Querying state is not supported on metafiles.
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-03 23:41:05 +02:00
Jacek Caban
2a6adcdc0f
gdi32: Use ntgdi name for CreateCompatibleDC.
...
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-07-30 14:27:31 +02:00
Jacek Caban
e33bdb8749
gdi32: Use NtGdiCreateClientObj for enhmetafile objects.
...
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-07-09 22:15:30 +02:00
Jacek Caban
b0240461f1
gdi32: Rename gdi_private.h to ntgdi_private.h.
...
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-07-09 22:15:30 +02:00
Jacek Caban
06afb958d4
gdi32: Store ntgdi object types in handle table.
...
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-07-08 21:12:52 +02:00
Jacek Caban
8df14dac7a
gdi32: Use ntgdi names for region constructors.
...
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-07-07 17:57:58 +02:00
Jacek Caban
a96fcf21b0
gdi32: Introduce gdi_obj_header and use it to store gdi_obj_funcs.
...
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-07-01 22:34:31 +02:00
Alexandre Julliard
b1d920bb9f
gdi32: Use wide-character string literals.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-06 17:34:27 +01:00
Alexandre Julliard
aa90a5969f
gdi32: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 10:44:16 +01:00
Shawn M. Chapla
4e4b1d1406
gdi32: Implement EMR_POLYDRAW16 playback.
...
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 11:25:09 +02:00
Shawn M. Chapla
84d2cf02ed
gdi32: Pass correct pointer to PolyDraw during EMR_POLYDRAW playback.
...
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 11:25:07 +02:00
Alex Henrie
1fcae3c260
gdi32: Handle HeapAlloc failure in SetEnhMetaFileBits (scan-build).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:45 +02:00
Michael Stefaniuc
fb7a8d92fd
gdi32: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-08 12:46:18 +02:00
Vincent Povirk
b6da3547d8
gdi32: Check that emf records are within the file.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-09 15:55:01 +02:00
Vincent Povirk
8d2676fd14
gdi32: Check for truncated EMF files.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-09 15:54:08 +02:00
Huw Davies
1def41b903
gdi32: Don't bother using the return value of HeapFree().
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 12:21:09 +01:00
Andrew Eikum
083e61fddf
gdi32: Update metafile world transform immediately in winnt mode.
...
The Chrome browser print function implements their own handling for
EMR_MODIFYWORLDTRANSFORM which calls ModifyWorldTransform on the HDC
directly without ever calling PlayEnhMetaFileRecord. In Wine, this
transformation would get discarded when the callback function returned,
causing the page to be printed at the wrong scale.
Tests show that the transform is updated immediately during
PlayEnhMetaFileRecord. In addition, a modified transform persists
between callbacks until PlayEnhMetaFileRecord is called on a relevant
type of callback, at which point the transform is reverted before
playing back the record.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-25 18:30:18 +02:00
Michael Stefaniuc
8acdf5e7bf
gdi32: Use wine_dbgstr_rect() to trace a RECT.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 23:22:04 +09:00
Huw Davies
078f192c66
gdi32: Rename the struct representing an embedded WMF in an EMF.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 23:25:16 +09:00
Huw Davies
19d1416cef
gdi32: If the WMF was created by GetWinMetaFileBits() then return the original EMF.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 23:25:16 +09:00
Michael Stefaniuc
4b7adc087a
gdi32: Use wine_dbgstr_rect() to trace RECTs.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 18:42:02 +09:00
Piotr Caban
69e37ff05e
gdi32: Use advanced graphics mode when setting world transform in PlayEnhMetaFileRecord.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 18:26:52 +09:00
Huw Davies
66351b3de3
gdi32: Implement playback of the GradientFill EMF record.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-08 23:01:38 +09:00
Thomas Faber
8a390c8661
gdi32: Avoid uninitialized variable use in EnumEnhMetaFile (MSVC).
2015-03-30 20:05:16 +09:00
André Hentschel
88e8102570
gdi32: Fix typo in a condition (PVS-Studio).
2014-10-28 14:05:19 +09:00
Frédéric Delanoy
0f2bed51bd
Assorted spelling fixes.
2014-02-10 15:47:29 +01:00
Michael Stefaniuc
7589bbeee4
gdi32: Avoid using CONST.
2013-09-23 11:53:59 +02:00
Alexandre Julliard
df357093cc
gdi32: Get rid of the GDIOBJHDR type.
2012-10-17 13:48:45 +02:00
Huw Davies
1c1fff557d
gdi32: Pass a NULL user-style array to ExtCreatePen if the user-style count is zero.
2011-10-28 17:26:44 +02:00
Alexandre Julliard
2116493653
gdi32: Fix the blend function handling for the AlphaBlend enhanced metafile record.
2011-07-29 20:08:53 +02:00
Dmitry Timoshkov
9bc5946cde
gdi32: Use graphics mode specified at the EMF creation time when playing EMR_EXTTEXTOUT record.
2011-02-24 15:49:27 +01:00
Mikhail Maroukhine
8fd8d9e96a
gdi32: Fix compiler warnings with flag -Wcast-qual.
2010-03-29 12:13:55 +02:00
Rob Shearman
eb81fa283b
gdi32: Fix memory leaks on EMF_Create_HENHMETAFILE failure.
2009-12-14 16:14:38 +01:00
Alexandre Julliard
13608c8b18
gdi32: Avoid use of some 16-bit types.
2009-12-07 14:18:29 +01:00
Alexandre Julliard
1ac23b9b0f
gdi32: Don't include wingdi16.h by default.
2009-12-07 14:18:29 +01:00
Alexandre Julliard
55fc90220f
gdi32: Fix SetEnhMetaFileBits last error handling.
2009-04-07 20:55:59 +02:00
Alexandre Julliard
de831f334c
gdi32: Release GDI handles before freeing the object.
...
This makes it unnecessary to hold the GDI lock during destruction.
2009-01-28 18:45:21 +01:00
Alexandre Julliard
311c53db4f
gdi32: Allocate and initialize GDI objects before giving them a handle.
...
This makes it unnecessary to hold the GDI lock since the object
cannot be accessed before it has a handle.
2009-01-28 18:43:06 +01:00
Alexandre Julliard
5811a2ccb4
gdi32: Use the official constants instead of the old Win9x magic numbers for GDI object types.
2009-01-28 16:20:56 +01:00
Michael Stefaniuc
667a1ed5be
gdi32: Remove superfluous pointer casts.
2009-01-26 14:31:13 +01:00
Michael Stefaniuc
2d94915f27
gdi32: Don't cast the void pointer returned by GDI_GetObjPtr().
2008-10-24 14:24:59 +02:00
Dmitry Timoshkov
ccba8578f5
gdi32: Add EMR_GDICOMMENT to the list of records producing output.
...
This completely fixes the print previews generated by MS Access in a Win9x
mode. Access has a custom handler for an EMR_GDICOMMENT record, and GDI APIs
it calls from it don't work properly due to wrong DC mapping.
2008-10-23 15:15:41 +02:00
Dmitry Timoshkov
d1fe894a7d
gdi32: Make EnumEnhMetaFile update the DC state before calling the callback.
...
This makes applications with custom callbacks work properly, and fixes
'make test' in a win9x mode.
2008-10-22 13:54:53 +02:00
Huw Davies
82c7ff811e
gdi32: Initialize the handle table.
...
Fixes Valgrind warning: 'Conditional jump or move depends on
uninitialised value(s)' in metafile test.
2008-06-18 16:15:23 +02:00
Dmitry Timoshkov
02a15500fb
gdi32: Make generated EMFs fully match Windows ones.
2008-05-27 12:05:37 +02:00
Alexandre Julliard
93cbb7a5db
gdi32: Perform coordinate transformations using doubles instead of floats to avoid precision loss.
2008-05-22 17:43:01 +02:00