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
Dmitry Timoshkov
5c15cf5f12
gdi32: info->state.next is always NULL, there is no need to save/restore it.
2008-04-29 12:46:35 +02:00
Dmitry Timoshkov
c871d9a81d
gdi32: Save/restore internal EMF playing state on EMR_SAVEDC/EMR_RESTOREDC, add a test for this.
2008-04-28 13:27:52 +02:00
Dmitry Timoshkov
5201c78b2e
gdi32: Add a test for EMR_EXTSELECTCLIPRGN, make it pass under Wine.
2008-04-21 16:59:03 +02:00
Austin English
cb2274e690
Spelling fixes.
2008-04-04 11:51:40 +02:00
Gerald Pfeifer
43837ed227
gdi32: Tighten range checking in PlayEnhMetaFileRecord() and remove four useless checks.
2008-01-09 13:38:03 +01:00
Andrew Talbot
d0d4c74e85
gdi32: Remove unneeded casts.
2008-01-07 12:18:50 +01:00
Evan Stade
cf8b59ef81
gdi32: Don't print fixme more than once.
2007-08-03 12:48:22 +02:00
Dmitry Timoshkov
6aa84e0eaf
gdi32: Perform consistency checks when loading an EMF, add a test case.
2007-05-29 11:56:10 +02:00
Andrew Talbot
7bdba1b63a
gdi32: Constify some variables.
2007-04-30 13:33:26 +02:00
Alexandre Julliard
75b8f88875
gdi32: Get rid of the gdi.h include.
2006-11-17 14:52:07 +01:00
Andrew Talbot
5a2227f86e
gdi32: Cast-qual warnings fix.
2006-10-30 11:25:47 +01:00
Alexandre Julliard
7dfc447741
gdi32: Renamed the gdi directory to gdi32.
2006-10-20 12:25:29 +02:00