Commit Graph

93 Commits

Author SHA1 Message Date
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
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 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 234daa7522 gdi32: Implement DeleteDC in the path driver.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 14:53:06 +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
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
Nikolay Sivov 7889b17425 gdi32: Added GetFontRealizationInfo() export. 2015-09-01 19:28:16 +09:00
Alexandre Julliard 491123e17b gdi32: Support getting character codes instead of glyphs in ExtTextOut for the path driver. 2012-12-05 17:46:53 +01:00
Alexandre Julliard 05c32b9b89 gdi32: Move the SwapBuffers entry point to the OpenGL driver. 2012-09-10 11:38:28 +02:00
Alexandre Julliard bf528c5e9c gdi32: Allow removing a driver from the stack based on its function table. 2012-08-21 12:59:18 +02:00
Alexandre Julliard 0f5cc668ba gdi32: Add a helper function to find a specific driver in the DC stack. 2012-08-21 12:54:01 +02:00
Alexandre Julliard 96e80c2623 gdi32: Move DescribePixelFormat and SetPixelFormat to the WGL driver. 2012-07-30 22:12:13 +02:00
Alexandre Julliard 6a9dcd51a2 gdi32: Remove the remaining OpenGL entry points from the DC driver. 2012-06-28 18:52:23 +02:00
Alexandre Julliard 7a031d9b92 opengl32: Add the concept of a WGL driver. 2012-06-28 14:37:31 +02:00
Alexandre Julliard ee21554893 gdi32: Remove OpenGL functions that don't use an HDC from the driver entry points. 2012-06-25 16:25:57 +02:00
Alexandre Julliard 93758c43fd gdi32: Remove the CreateBitmap and DeleteBitmap driver entry points. 2012-05-29 21:06:41 +02:00
Alexandre Julliard fdc4682e31 gdi32: Remove the CopyBitmap driver entry point. 2012-05-24 22:09:19 +02:00
Alexandre Julliard 147174ff1c winex11: Implement wglGetPbufferDCARB with a DC escape and remove it from the GDI driver interface. 2012-05-08 14:35:44 +02:00
Alexandre Julliard e94d3b4e08 gdi32: Add a priority mechanism for pushing drivers on the stack in a defined order. 2012-05-08 12:16:50 +02:00
Alexandre Julliard 582a2f511f gdi32: Add a GetBoundsRect driver entry point. 2012-04-16 13:53:23 +02:00
Alexandre Julliard 2776a97931 gdi32: Add explicit fields for the DC flags. 2012-04-10 16:21:23 +02:00
Alexandre Julliard fbbf3ba408 gdi32: Get rid of the CreateDIBSection driver entry point. 2012-01-10 16:13:29 +01:00
Alexandre Julliard 79691e7afa gdi32: Specify an initial allocation size for paths to avoid some reallocations. 2011-11-23 14:00:22 +01:00
Alexandre Julliard c2491ccc2d gdi32: Get rid of the Hungarian line noise in the gdi_path structure. 2011-11-23 13:37:14 +01:00
Alexandre Julliard aefb608752 gdi32: Get rid of the GdiPath typedef. 2011-11-23 13:32:22 +01:00
Alexandre Julliard ccc3b9caae gdi32: Get rid of the no longer needed path states. 2011-11-23 13:25:31 +01:00
Alexandre Julliard 2201d08834 gdi32: Only store the path in the DC when it's closed.
Open paths are stored only in the path physdev.
2011-11-23 13:24:12 +01:00
Alexandre Julliard a214a3c3da gdi32: Store a pointer to the path in the DC and make the path structure opaque. 2011-11-22 12:07:24 +01:00
Alexandre Julliard ddc9860a42 gdi32: Return a new path from PATH_WidenPath instead of replacing the DC path. 2011-11-22 12:07:18 +01:00
Alexandre Julliard f388827c8d gdi32: Return a new path from PATH_FlattenPath instead of replacing the DC path. 2011-11-22 12:05:35 +01:00
Alexandre Julliard ac1643caec gdi32: Return the region directly from PATH_PathToRegion. 2011-11-22 11:31:27 +01:00
Alexandre Julliard 7698b636e7 gdi32: Add helper functions for allocating and freeing paths. 2011-11-22 11:25:21 +01:00
Alexandre Julliard 26b1bfa52b gdi32: Use reallocs when growing a path instead of doing it by hand. 2011-11-22 11:23:53 +01:00
Alexandre Julliard 9391c6a757 gdi32: Add a CopyBitmap driver entry point. 2011-11-08 19:25:05 +01:00
Alexandre Julliard 95cba0c0f4 gdi32: Add a DC driver entry point for GdiGradientFill. 2011-10-31 23:51:38 +01:00
Alexandre Julliard 418424d362 gdi32: Add path entry points for functions that behave differently with an open path. 2011-10-28 13:18:42 +02:00
Alexandre Julliard e5db8969ac gdi32: Always start a new stroke when the path ends with a closed figure. 2011-10-28 13:18:23 +02:00
Alexandre Julliard e5ff45992e gdi32: Add a helper function to add multiple points at once to a path. 2011-10-28 13:18:10 +02:00