Commit Graph

96 Commits

Author SHA1 Message Date
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
Byeongsik Jeon 649dd1292d gdi32: Support the gamma correction for the subpixel rendering.
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 22:36:43 +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
Alexandre Julliard 0188dc7da8 gdi32: Clip the computed region to the DIB rectangle in PolyPolygon().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-04 15:43:52 +02:00
Alexandre Julliard 90273a6e81 gdi32: Fix clipping to the DIB rectangle in GetPixel().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-22 16:29:03 +01:00
Alexandre Julliard 97a9db43d2 gdi32: Pass the brush origin explicitly to the brush backend functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-28 09:08:41 +02:00
Huw Davies 8e9af9e016 gdi32: Respect the rop mode in SetPixel.
Based on a patch by Tim Worthington.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 18:58:30 +02:00
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 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 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 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 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
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
Akihiro Sagawa b138c36c11 gdi32: Fix empty glyph handling in the dib driver. 2013-10-01 19:26:11 +02:00
Ralf Habacker 39629a3d35 gdi32: Fixed Rectangle() rotation with GM_ADVANCED graphics mode in dib driver. 2013-09-05 20:58:24 +02:00
Alexandre Julliard a973df3324 gdi32: Fix off-by-one error in the extent of arcs when the size is even. 2013-07-01 19:51:14 +02:00
Alexandre Julliard 456b4c876e gdi32: Add a helper function to order the points of a rectangle. 2012-12-14 17:37:33 +01:00
Alexandre Julliard a3cf48afad gdi32: Add a level of pointers to the glyph cache to avoid the need for locking individual glyphs. 2012-12-11 12:03:33 +01:00
Alexandre Julliard b057c5f140 gdi32: Fix handling of font orientation in advanced graphics mode. 2012-12-10 17:36:23 +01:00
Alexandre Julliard 78626cdbaa gdi32: Support caching glyphs by character code and not only by glyph index. 2012-12-05 17:46:47 +01:00
Alexandre Julliard 2d3385eec9 gdi32: Avoid computing grayscale glyph intensities when not needed. 2012-11-30 19:12:17 +01:00
Alexandre Julliard 6050a025bb gdi32: Add a font glyph cache in the DIB engine. 2012-11-28 12:22:40 +01:00
Alexandre Julliard 1c4cf1a2db gdi32: Fix coordinate mapping of arc limits. 2012-11-19 16:35:23 +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 ccc034c27e gdi32: Store the anti-aliasing flags in the DC when selecting a font. 2012-11-02 16:41:23 +01:00
Huw Davies 9247328371 gdi32: Implement sub-pixel glyph smoothing. 2012-10-30 18:09:00 +01:00
Huw Davies aa9827b08e gdi32: Move the string rendering code to a common function. 2012-10-19 18:09:52 +02:00
Huw Davies e6c349d69f gdi32: Use the helper to draw the glyphs. 2012-10-19 18:09:49 +02:00
Huw Davies 3e7517328d gdi32: Pass individual x, y co-ords to draw_glyph rather than a POINT. 2012-10-19 18:09:46 +02:00
Huw Davies 3ef520650c gdi32: Pass a dib_info structure to draw_glyph. 2012-10-19 18:09:44 +02:00
Huw Davies 64e2ad5709 gdi32: Make get_glyph_bitmap return a dib_info structure in order to avoid code duplication. 2012-10-18 19:22:14 +02:00
Alexandre Julliard 7c9d35e575 gdi32: PatBlt needs to bypass the brush for ROPs that don't make use of it. 2012-07-19 15:42:31 +02:00
Alexandre Julliard af4871f862 gdi32: Make sure the bounds are always updated in ExtTextOutW. 2012-05-30 21:35:22 +02:00
Alexandre Julliard 664442ab84 gdi32: Don't store the default color table in dib_info objects. 2012-05-23 17:22:17 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Alexandre Julliard 6a19d9f252 gdi32: Support drawing to a visible rectangle smaller than the whole bitmap in the DIB engine. 2012-05-01 14:28:39 +02:00
Alexandre Julliard 3ea711dd7c gdi32: Store the bounds rectangle as a pointer in the DIB driver. 2012-04-27 12:49:20 +02:00
Alexandre Julliard 34457aa4c3 gdi32: Add bounds tracking to all the DIB engine entry points. 2012-04-16 17:49:22 +02:00
Alexandre Julliard ea5fa7ddbe gdi32: Map all the points at once in PolyPolyline, similarly to what PolyPolygon does. 2012-04-13 13:39:06 +02:00
Alexandre Julliard 568afc210e gdi32: Move the pen/brush_region helpers to graphics.c and avoid redundant clipping. 2012-04-13 13:36:23 +02:00
Alexandre Julliard c65de04789 gdi32: Use 64-bit values when computing ellipses to avoid overflows. 2012-02-24 15:55:45 +01:00
Alexandre Julliard 21498d6c11 gdi32: Paint everything in ExtFloodFill when the DIB doesn't have a clip region. 2012-02-19 20:34:27 +01:00
Huw Davies 3dc4f259e9 gdi32: The clip region should stop the flooding. 2012-01-19 21:08:50 +01:00
Huw Davies d69868e464 gdi32: Implement ExtFloodFill. 2012-01-18 16:27:42 +01:00
Huw Davies ff4045b110 gdi32: Use separate x and y parameters in the get_pixel primitive. 2012-01-18 16:27:39 +01:00
Huw Davies 7994f2c03b gdi32: Don't create the outline region twice. 2012-01-09 15:23:17 +01:00
Alexandre Julliard bf718448f3 gdi32: Add a stub for the ExtFloodFill entry point. 2012-01-06 19:24:11 +01:00