Commit Graph

2218 Commits (37457f11f720352c511670aeb159336904ae4524)

Author SHA1 Message Date
Huw Davies 04f8ecd956 gdi32: Check that ExtFloodFill()'s initial co-ordinates lie within the dib.
It might seem more natural to move this check inside is_interior(), but
this would slow down the unclipped case.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-29 22:40:06 +09:00
Huw Davies c429c595e8 gdi32: Explicitly write out the rops for copy_rect_1().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 19:59:07 +09:00
Huw Davies efd6292fae gdi32: Split out the various offset cases for copy_rect_1() into separate functions.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 19:59:05 +09:00
Huw Davies e1ce79ec94 gdi32: Explicitly write out the rops for mask_rect_32().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 19:59:03 +09:00
Huw Davies 4b39c7b944 gdi32: Explicitly write out the rops for copy_rect_32().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 19:59:00 +09:00
Huw Davies 1d0e25e600 gdi32: Move the outer loop into separate functions for each direction.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 19:58:58 +09:00
Huw Davies a875e3c6ab gdi32: Unroll the start- and end-of-line loops.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 01:10:21 +09:00
Huw Davies 45b848ccd1 gdi32: Handle the case of a partial source byte separately.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 01:10:21 +09:00
Huw Davies 6c7ed1214c gdi32: Eliminate a masking operation by generating a larger colour table.
This helps significantly for large rectangles.

This is only done for the 32-bpp case as typically the lower bit
depths would more likely be used to draw small icons and the like,
where the extra fixed cost of this optimization will potentially
outweigh the savings.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 01:10:21 +09:00
Huw Davies 9fe77b4d7b gdi32: Exponentially grow successive point buffers.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 11:53:32 +09:00
Nikolay Sivov fcd0f6b074 gdi32: Append "TrueType" suffix to registry key names.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 18:28:41 +09:00
Nikolay Sivov 492b10ef6c gdi32: Simplify font table name tracing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 18:28:38 +09:00
Nikolay Sivov 7e50116b52 gdi32: Support special 'ttcf' tag in GetFontData().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-12 20:38:20 +09:00
Nikolay Sivov cd68821780 gdi32: Keep font tables tags defined in one place.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-12 20:38:02 +09:00
Michael Stefaniuc 68f1df237a gdi32/tests: Make use of todo_wine_if().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 09:14:34 -05: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
Huw Davies 28bb9d15a6 gdi32: Only reselect the objects if the linear transform portion changes.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 05:30:17 -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 d4d65e2df9 gdi32: Move the release until after the final dc access.
Also only reselect the font if the graphics mode changes.

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 e1130cbb99 gdi32: Add an internal version of DPtoLP that takes a DC pointer.
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 637c99f675 gdi32: Remove an unnecessary call to get_dc_ptr().
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 e767a60790 gdi32: Access a few more properties directly from the DC in the path driver.
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 377010dcfc gdi32: Pass a DC pointer to PATH_CheckCorners().
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 f1aaf0efb0 gdi32: Pass a DC pointer to the point adding routines.
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 1b4f0f8a07 gdi32: Pass the path directly to start_new_stroke().
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 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 0c1e42235a gdi32: Don't call GetObjectW() unless necessary.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 23:43:33 +09:00
Huw Davies 41f763ea87 gdi32: Add an internal version of GetTextCharsetInfo() that takes a DC pointer.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 23:43:32 +09:00
Huw Davies 22202eae59 gdi32: Use a buffer on the stack if the number of points is small.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 23:43:32 +09:00
Huw Davies 5118d1312c gdi32: Access a few more properties directly from the DC in the dib driver.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-28 21:38:09 +09:00
Huw Davies d8e353f99f gdi32: Pass a DC pointer to get_pixel_color().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-28 21:38:09 +09:00
Huw Davies cf386b8b64 gdi32: Pass a DC pointer to get_mono_dc_colors().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-28 21:38:08 +09:00
Huw Davies 9efe66a83a gdi32: Use lp_to_dp() instead of LPtoDP() in the dib driver.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-27 22:21:10 +09:00
Huw Davies 7fa6dfecc9 gdi32: Pass a DC pointer to get_device_rect() to avoid accesses via the handle.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-27 22:21:09 +09:00
Huw Davies 36a0bb0f52 gdi32: Avoid unnecessary calls to get_dc_ptr().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-27 22:21:09 +09:00
Huw Davies 6a8cfea99b gdi32: Use POINT and SIZE to hold positions and extents.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-27 22:21:08 +09:00
Huw Davies f4bc213ce5 gdi32: Use an internal version of LPtoDP that takes a DC * where possible.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 19:38:14 +09:00
Huw Davies af5014f4c8 gdi32: Add a small rectangle buffer to reduce memory allocation.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 19:38:12 +09:00
Huw Davies 01c33fb983 gdi32: Add helpers to allocate, grow and free regions.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 19:38:09 +09:00
Huw Davies 778faedbae gdi32: Copy 1-bpp pixels one byte at a time.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 19:56:38 +09:00
Huw Davies da8834609a gdi32: Reduce the number of memory allocations required for gdi paths.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 11:26:10 +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
Huw Davies 23751e0ac2 gdi32: Use alloc_gdi_path() to create the path.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 11:18:31 +09:00
Jacek Caban 585f6074b0 gdi32: Make CreateDIBSection hotpatchable.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 11:18:27 +09:00
Huw Davies a8044bebe8 gdi32: Add a mask_rect primitive for use when the src is 1bpp.
This essentially combines the format conversion with a copy_rect.

It cannot be used when stretching, since stretching of 1bpp is
slightly special.  Similarly, it cannot be used if the dst is also
1bpp (hence there is no mask_rect_1) or if the rop involves the brush.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-14 17:52:35 +09:00
Huw Davies f5bffe0ef7 gdi32: Use the get_mono_dc_colors() helper.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-14 17:52:35 +09:00
Huw Davies 622c01c5e1 gdi32: Add back the extents test.
Spotted by Sebastian Lackner.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-09 11:03:55 +09:00
Huw Davies fc2d310949 gdi32: Add get_any_obj_ptr() to retrieve the ptr and type of a GDI handle.
This enables get_dc_obj() to check the type without calling GetObjectType()
and thus it saves additional calls to Enter/LeaveCriticalSection().

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 23:07:22 +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
Huw Davies f7b6a7d77a gdi32: Precompute the destination colours for sources with a colour table.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-07 21:23:24 +09:00
Huw Davies f59d3f60e1 gdi32: Use a binary search for PtInRegion() and RectInRegion().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-07 21:23:24 +09:00
Huw Davies 7fd44a511f gdi32: Use a binary search to generate the clipped rects.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-07 21:23:24 +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
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 6526ac1999 gdi32: Try to compact the region.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 21:03:58 +09:00
Huw Davies 27375d8476 gdi32: Try to coalesce into wider bands.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 21:03:42 +09:00
Huw Davies 0e93387d9b gdi32: Use the add_rect() helper to add a rectangle.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 21:03:33 +09:00
Francois Gouget d7e18f6540 mfdrv: Fix a typo in a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-04 11:01:25 +09:00
Alexandre Julliard b70cda9a1e gdi32/tests: Add a test to run once through all functions supported on paths.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-24 15:33:04 +09:00
Alexandre Julliard 06234a081a gdi32: Reimplement Ellipse in paths to avoid calling imprecise arc helper functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-24 15:33:04 +09:00
Alexandre Julliard 0b38f16767 gdi32: Reimplement RoundRect in paths to avoid calling imprecise arc helper functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-24 15:33:04 +09:00
Alexandre Julliard 1fcf8f547a gdi32: Compatibility fixes for Rectangle in paths, with tests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-24 15:33:03 +09:00
Alexandre Julliard 57d2009035 gdi32: Add a helper function to reverse an array of points in paths.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-24 13:21:47 +09:00
Alexandre Julliard 117f862ce5 gdi32: Validate the point count in Polyline and Polygon.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-23 12:36:23 +09:00
Alexandre Julliard b2702b2d6f gdi32/tests: Get rid of the todo mechanism in the path tests.
All the tests succeed now.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-23 12:36:15 +09:00
Michael Stefaniuc 6d21655ed9 gdi32/tests: Use SetRect() instead of open coding it.
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-06-22 22:09:17 +09:00
Alexandre Julliard 84ce9dfba7 gdi32: Start a new path stroke when the current position differs from the last.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 22:09:17 +09:00
Alexandre Julliard e68d68fb7d gdi32: Fix setting the path flags in PolyPolyline and PolyPolygon.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 22:09:17 +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 234daa7522 gdi32: Implement DeleteDC in the path driver.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 14:53:06 +09:00
Michael Stefaniuc 75426bb926 gdi32/tests: Use wine_dbgstr_rect() to print RECTs.
Two old (win95 and winnt) broken() removed en passant.

Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 00:23:56 +09:00
Alexandre Julliard c500713dd3 gdi32: Fix updating the current position in PolyDraw.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 00:23:50 +09:00
Alexandre Julliard dfa3c68854 gdi32: Don't modify the DC arc direction in AngleArc.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-20 20:06:39 +09:00
Alexandre Julliard 4ea7190361 gdi32: Keep track of the last move position in a path.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-20 20:06:39 +09:00
Alexandre Julliard 3c63993f7e gdi32: Add path helper functions to add points and close figures.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-20 20:06:39 +09:00
Michael Stefaniuc 27f80dab77 gdi32/tests: Compare RECTs with EqualRect instead of memcmp.
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-06-20 20:06:39 +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
Alexandre Julliard 7cfcd23878 gdi32: Take the transform rotation into account to compute pen width.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:20 +09:00
Alexandre Julliard 04e7215faf gdi32: Remove the no longer needed (and broken) null driver implementation of some path functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:20 +09:00
Alexandre Julliard b5cf73edd9 gdi32: Implement FillPath, StrokeAndFillPath and StrokePath in the DIB driver.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:20 +09:00
Alexandre Julliard 7373a7c71d gdi32: Fix PathToRegion and SelectClipPath behavior with an empty path.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-16 01:21:47 +09:00
Alexandre Julliard bd53a012b4 gdi32/tests: Add a few more path tests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-16 00:25:34 +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
Huw Davies 7be1c53d82 gdi32: Rename the struct representing an embedded EMF in a WMF.
Also, use an array rather than a pointer to represent the start of the data.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 23:08:00 +09:00
Alexandre Julliard d341b0c381 user32: Completely free owned DCEs when the corresponding window/class is destroyed.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 09:55:03 +09:00
Andrey Gusev 9a80284e1a gdi32: Fix a typo in a pointer name in primitive_funcs.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 23:42:23 +09:00
Andrey Gusev 6fae520e1c gdi32/tests: Fix a typo in trace() message.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-02 12:27:18 +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