Commit Graph

123 Commits

Author SHA1 Message Date
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
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
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
Francois Gouget 166e7c7381 gdi32: Make make_rgb_colorref() static. 2012-12-07 12:35:29 +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 9cdb0e1ca6 gdi32: Disable anti-aliasing when necessary in the various drivers. 2012-11-02 16:41:26 +01:00
Huw Davies 9247328371 gdi32: Implement sub-pixel glyph smoothing. 2012-10-30 18:09:00 +01:00
Alexandre Julliard 96e80c2623 gdi32: Move DescribePixelFormat and SetPixelFormat to the WGL driver. 2012-07-30 22:12:13 +02:00
Alexandre Julliard 6714f16c74 gdi32: Clip solid pen regions to the DIB rectangle to avoid overflows. 2012-07-30 17:13:36 +02:00
Alexandre Julliard 35eef16ba7 gdi32: Support OpenGL in bitmaps through libOSMesa. 2012-07-27 17:05:16 +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 1416d0e6f1 gdi32: Remove the bitmap parameter from the Get/PutImage entry points. 2012-05-29 21:05:52 +02:00
Alexandre Julliard 139aeba3ef gdi32: Implement dithering of solid brushes when drawing to DDBs. 2012-05-23 20:24:03 +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
Alexandre Julliard 9968f3083a gdi32: Use the default color table when mapping colors in bitmaps that don't have one. 2012-05-23 17:22:07 +02:00
Alexandre Julliard b8e4cd81ab gdi32: Simplify creation of hatch masks and avoid endianness issues. 2012-05-23 17:22:03 +02:00
Alexandre Julliard b708b40105 gdi32: Pass a rop_mask_bits object to the pattern_rects primitive. 2012-05-22 21:52:44 +02:00
Alexandre Julliard 524aef660e gdi32: Use a rop_mask_bits object to store the brush bits. 2012-05-22 21:47:30 +02:00
Alexandre Julliard 3c2502a8c7 gdi32: Add support for dithering pattern brushes when painting to monochrome bitmaps. 2012-05-22 17:43:52 +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 568afc210e gdi32: Move the pen/brush_region helpers to graphics.c and avoid redundant clipping. 2012-04-13 13:36:23 +02:00
Huw Davies ff4045b110 gdi32: Use separate x and y parameters in the get_pixel primitive. 2012-01-18 16:27:39 +01:00
Alexandre Julliard bf718448f3 gdi32: Add a stub for the ExtFloodFill entry point. 2012-01-06 19:24:11 +01:00
Alexandre Julliard ff31a448b3 gdi32: Implement Arc, ArcTo, Chord, and Pie, using line segments for now. 2012-01-06 19:24:02 +01:00
Alexandre Julliard 5ff285629e gdi32: Implement Ellipse and RoundRect, using line segments for now. 2012-01-06 19:22:12 +01:00
Alexandre Julliard d858041a19 gdi32: Get rid of the pen deferring support, all pen styles are implemented now. 2012-01-04 16:53:17 +01:00
Alexandre Julliard 488bf107a9 gdi32: Implement brushed pens. 2011-12-30 11:04:35 +01:00
Alexandre Julliard 4e03247427 gdi32: Define a structure to make the brush state independent from the physdev. 2011-12-30 11:04:33 +01:00
Alexandre Julliard cc9836bda0 gdi32: Pass a brush_pattern structure to the SelectPen entry point for brushed pens. 2011-12-30 11:04:29 +01:00
Alexandre Julliard f85bb35280 gdi32: Pass a brush_pattern structure to the SelectBrush entry point. 2011-12-30 11:04:26 +01:00
Alexandre Julliard c1c8c92875 gdi32: Add helpers to paint a region with the brush or pen. 2011-12-29 10:10:45 +01:00
Alexandre Julliard 579afe5cc6 gdi32: Implement PolyPolygon in the DIB driver. 2011-12-29 09:57:58 +01:00
Alexandre Julliard 64ed56366c gdi32: Use a region to render geometric and wide pens in PolyPolyline. 2011-12-29 00:02:24 +01:00
Alexandre Julliard 0429d9181f gdi32: Add support for updating a region from the pen backend functions instead of painting directly. 2011-12-28 23:02:10 +01:00
Alexandre Julliard 881f635ce9 gdi32: Extended pens are always transparent. 2011-12-28 16:33:31 +01:00
Alexandre Julliard 9b8d920cb7 gdi32: Pass the clip region to the brush_rect helper and add a similar helper for pens. 2011-12-28 11:28:21 +01:00
Alexandre Julliard 18c20964e1 gdi32: Add support for PS_INSIDEFRAME pens when drawing rectangles. 2011-12-28 11:17:41 +01:00
Alexandre Julliard a80eafe8d7 gdi32: Re-create the brush bits only when the ROP has really changed. 2011-12-27 16:55:02 +01:00
Alexandre Julliard 8b3271c3b0 gdi32: Avoid making a copy of the device clipping region in the DIB driver. 2011-12-27 15:48:29 +01:00
Alexandre Julliard 56373bc491 gdi32: Use the get_clipped_rects helper in the blitting functions. 2011-12-27 15:41:21 +01:00
Alexandre Julliard b761d0e1c6 gdi32: Add a helper function to compute the list of rectangles to paint after clipping. 2011-12-27 14:57:23 +01:00
Alexandre Julliard 8f929ae04d gdi32: Add a common helper for computing pen and brush masks. 2011-12-22 20:10:31 +01:00
Alexandre Julliard 56532d0cf7 gdi32: Recompute the foreground masks on every use to support PALETTEINDEX colors. 2011-12-22 19:50:29 +01:00
Alexandre Julliard e166ec0bb0 gdi32: Recompute the background masks on every use to support PALETTEINDEX colors. 2011-12-22 19:50:07 +01:00
Alexandre Julliard 9237638c0e gdi32: Recompute the pen masks on every use to support PALETTEINDEX colors. 2011-12-22 19:49:23 +01:00
Alexandre Julliard 43373c29ef gdi32: Recompute the brush masks on every use to support PALETTEINDEX colors. 2011-12-22 19:47:40 +01:00
Alexandre Julliard a585659e31 gdi32: Remove support for deferring brush calls to X11, all brush types are supported now. 2011-12-19 20:15:42 +01:00