Zhiyi Zhang
3ba4412be6
gdi32: Fix typos for GET_DC_PHYSDEV.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 23:32:38 +02:00
Zhiyi Zhang
3ebc715881
gdi32: Reselect font and pen when changing world transforms for enhanced metafiles.
...
Reselect font and pen into enhanced metafile device contexts after world transform is changed so
that content can be drawn using the correct size. Also modifying the world transform for enhanced
metafiles doesn't generate EMR_SELECTOBJECT records according to winedump outputs.
Fix an issue that Tally may produce a print preview with a too large font or with a black side bar.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 21:07:10 +02:00
Zhiyi Zhang
1543be811d
gdi32: Move common SetLayout() code to nulldrv_SetLayout().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 21:07:10 +02:00
Zhiyi Zhang
8ae18d055a
gdi32: Implement EMFDRV_AlphaBlend().
...
Fix a bug that Tally produces a blank print preview when images have to be scaled.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 21:07:10 +02:00
Zhiyi Zhang
efdd6f46c9
gdi32: Fix handling of ModifyWorldTransform( MWT_IDENTITY ) on an emf dc.
...
When the mode parameter is MWT_IDENTITY, the xform parameter can be NULL because it should be
ignored and use the identity matrix.
Fix Tally crashing when exporting a JPEG image.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-31 19:26:09 +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
Akihiro Sagawa
bf06e25f6a
gdi32: Fix function names in comments.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 22:39:59 +01:00
Zhiyi Zhang
354359197b
gdi32: Add D3DKMTSetVidPnSourceOwner and D3DKMTCheckVidPnExclusiveOwnership stubs.
...
D3DKMTSetVidPnSourceOwner needs to be implemented in the graphics drivers
because we need to maintain the VidPN source ownership information list
in the graphics drivers. For example, the graphics drivers need to release the
exclusive ownership when a new window is moved to a monitor which has been taken
exclusive ownership.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:27 +02:00
Alexandre Julliard
4a902de213
gdi32: Make GDI driver functions cdecl.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-06 21:47:58 +02:00
Akihiro Sagawa
1128587fd2
gdi32: Implement GetCharWidthInfo().
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +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
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
Roderick Colenbrander
3de61a9dd9
winevulkan: Define vulkan driver interface.
...
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 12:47:16 +01:00
Huw Davies
9ea33ed00a
gdi32: Cache the device caps from the reference dc, since the dc may become invalid.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-24 14:16:47 +09:00
Piotr Caban
f629e9797d
gdi32: Don't write EMR_EXTSELECTCLIPRGN to emf file on SelectClipPath call.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-22 10:56:58 +02:00
Daniel Lehman
0d9f044dcd
gdi32: Trace more in CreateEnhMetaFileW.
...
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-30 13:26:27 +01:00
Nikolay Sivov
41fa3f02ef
gdi32: Fix its vs it's typo.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:19 -05:00
Sebastian Lackner
aa4a1e17a2
gdi32/enhmfdrv: Remove unused debug channel.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 05:30:11 -05:00
Huw Davies
0f2a776a59
gdi32: Convert a few uses of get_dc_ptr() to get_physdev_dc().
...
In these cases we have the PHYSDEV meaning we own the DC already.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 23:43:35 +09:00
Huw Davies
199ca9258a
gdi32: Access several more properties directly from the DC.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 23:43:35 +09:00
Huw Davies
aa4934783f
gdi32: Where possible directly access the DC instead of using GetCurrentObject().
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 23:43:35 +09:00
Huw Davies
67520ebaf5
gdi32: Pass a DC pointer to get_gdi_flat_path().
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 23:43:34 +09:00
Huw Davies
54ec86021a
gdi32: Change get_gdi_flat_path() to return an opaque path pointer.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 11:26:10 +09:00
Michael Stefaniuc
0b96693f75
gdi32: Remove a redundant NULL check before HeapFree().
...
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-07-08 20:12:19 +09:00
Sebastian Lackner
69d895ac86
gdi32: Fix copy & paste mistake in a comment.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-07 19:55:57 +09:00
Alexandre Julliard
c7bbc83062
gdi32: Implement bounds for FillPath, StrokeAndFillPath and StrokePath in enhanced metafiles.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 00:58:54 +09:00
Alexandre Julliard
625ff9b528
gdi32: Implement a path driver for enhanced metafiles.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 14:54:49 +09:00
Alexandre Julliard
6bab6ad40d
gdi32: Add a helper function to return the metafile device.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 14:54:02 +09:00
Alexandre Julliard
ef3494c623
gdi32: Implement AngleArc in enhanced metafiles.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 22:27:49 +09:00
Alexandre Julliard
b06e6147d1
gdi32: Implement PolyDraw in enhanced metafiles.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 22:27:49 +09:00
Alexandre Julliard
1f004c42bf
gdi32: Add a few helper functions to manipulate point arrays in enhanced metafiles.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 22:27:49 +09:00
Alexandre Julliard
91ef88a9e3
gdi32: Implement PolylineTo in enhanced metafiles.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 14:00:17 +09:00
Alexandre Julliard
e92e5ec376
gdi32: Implement ArcTo in enhanced metafiles.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 13:51:05 +09:00
Piotr Caban
dfb750b9c2
gdi32/enhmfdrv: Don't update document bounds in PolyPolyline within a path.
...
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-29 20:02:44 +09:00
Piotr Caban
67e26bec8d
gdi32/enhmfdrv: Don't update document bounds in Polyline within a path.
...
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-29 20:02:44 +09:00
Piotr Caban
0d84feaf49
gdi32/enhmfdrv: Don't update document bounds in RoundRect within a path.
...
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-29 20:02:44 +09:00
Piotr Caban
661bc10bfe
gdi32/enhmfdrv: Don't update document bounds in Ellipse within a path.
...
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-29 20:02:44 +09:00
Piotr Caban
c36f365329
gdi32/enhmfdrv: Don't update document bounds in Arc/Chord/Pie within a path.
...
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-29 20:02:44 +09:00
Piotr Caban
c019c68b45
gdi32/enhmfdrv: Don't update document bounds in LineTo within a path.
...
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-29 20:02:43 +09:00
Piotr Caban
44f860daff
gdi32/enhmfdrv: Don't update document bounds in Rectangle within a path.
...
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-29 20:02:43 +09:00
Piotr Caban
269b2519a7
gdi32/enhmfdrv: Always set ExtTextOut bounding rect if we're not inside path bracket.
...
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-29 20:02:43 +09:00
Piotr Caban
a3e741fd4c
gdi32/enhmfdrv: Fix PolyBezierTo bounding box computation.
...
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-29 20:02:43 +09:00
Piotr Caban
d9e7c4d820
gdi32/enhmfdrv: Don't drop viewport/window transformation in StretchBlt.
...
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-22 21:04:35 +09:00
Huw Davies
ac0959cdf6
gdi32: Implement recording 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:28 +09:00
Huw Davies
6e05189ba4
gdi32: Don't update the bounds if any poly{line|gon} has fewer than two points.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-09 21:22:32 +09:00
Huw Davies
2e4a37f2cf
gdi32: Generate EMR_POLYPOLY{LINE|GON}16 records if the co-ords fit.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-09 21:22:28 +09:00
Nikolay Sivov
7889b17425
gdi32: Added GetFontRealizationInfo() export.
2015-09-01 19:28:16 +09:00
Thomas Faber
07ca1afbd3
gdi32: Do not omit mandatory argument to WriteFile.
2014-07-14 17:22:39 +02:00
André Hentschel
540d1459f9
gdi32: Use boolean return values in boolean functions.
2014-01-30 14:51:36 +01:00