Commit Graph

150 Commits

Author SHA1 Message Date
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
Frédéric Delanoy adee328a50 gdi32: Use BOOL type where appropriate. 2013-11-07 13:13:05 +01:00
Michael Stefaniuc 7589bbeee4 gdi32: Avoid using CONST. 2013-09-23 11:53:59 +02:00
Marcus Meissner 1cf9939dc0 gdi32: Close handle in error path (Coverity). 2013-06-24 11:46:34 +02:00
Dmitry Timoshkov e069662c0c gdi32: SelectClipPath should update actual clipping region for a EMF DC. 2013-02-15 11:50:32 +01:00
Dmitry Timoshkov 88b9ae1ec2 gdi32: ExcludeClipRect should update actual clipping region for a EMF DC. 2013-02-14 11:14:47 +01:00
Dmitry Timoshkov 47b89a8fac gdi32: IntersectClipRect should update actual clipping region for a EMF DC. 2013-02-14 11:14:45 +01:00
Dmitry Timoshkov 756736ae42 gdi32: OffsetClipRgn should update actual clipping region for a EMF DC. 2013-02-14 11:14:43 +01:00
Dmitry Timoshkov 9a2688e690 gdi32: Make sure that actual clipping region is updated for a EMF DC. 2013-02-13 16:13:54 +01:00
Alexandre Julliard 9cdb0e1ca6 gdi32: Disable anti-aliasing when necessary in the various drivers. 2012-11-02 16:41:26 +01:00
Alexandre Julliard 6164d533a9 gdi32: Add a parameter to return anti-aliasing flags in the SelectFont driver entry point. 2012-11-02 16:41:21 +01:00
André Hentschel cf95218f08 gdi32: Fix copy-paste error (coverity). 2012-10-24 19:38:20 +02:00
Alexandre Julliard 091c342f32 gdi32: Add a generation count in the high word of GDI handles. 2012-10-17 21:38:07 +02:00
Alexandre Julliard 2bdf447744 gdi32: Store the object type directly in the GDI handle table. 2012-10-17 13:10:21 +02:00
Alexandre Julliard 05c32b9b89 gdi32: Move the SwapBuffers entry point to the OpenGL driver. 2012-09-10 11:38:28 +02:00