Alexandre Julliard
c54b667e25
gdi32: Add support for DIBINDEX colors in 1-bpp blits.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 21:29:51 +01: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
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
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
Nikolay Sivov
1aa53bc470
gdi32: Initialize 'param' field (Coverity).
...
For consistency with the rest of the code, initialize both
'free' and 'param' fields.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 10:46:35 +01:00
Nikolay Sivov
8a3f3c0817
gdi32/dibdrv: Fix a clipped_rects leak (Valgrind).
2014-04-25 11:05:19 +02:00
Alexandre Julliard
3a4864714d
gdi32: Don't copy unnecessary rows when shrinking in DELETESCANS mode.
2012-12-03 18:24:46 +01:00
Alexandre Julliard
36f2b09632
gdi32: Always return the full DIB surface in GetImage and adjust coordinates accordingly.
...
Based on a patch by Ken Thomases.
2012-10-15 15:25:04 +02:00
Alexandre Julliard
76272e0773
gdi32: Use BI_BITFIELDS to indicate that a 32-bpp DIB doesn't have an alpha channel.
2012-10-10 20:34:08 +02:00
Alexandre Julliard
86cf1126a5
gdi32: Return the full DIB height in GetImage instead of clipping to the visible rect.
2012-10-10 20:34:07 +02:00
Alexandre Julliard
319a87c86e
gdi32: Take into account the DIB rectangles when determining overlap for blits.
2012-06-04 22:23:13 +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
7c4c233d12
gdi32: Add a helper function that implements PutImage on a bitmap.
2012-05-29 18:20:12 +02:00
Alexandre Julliard
cf85fb14ab
gdi32: Add a helper function that implements GetImage on a bitmap.
2012-05-29 18:20:11 +02:00
Alexandre Julliard
c2784e08fc
gdi32: Improve support of bitmaps without a color table in PutImage.
2012-05-29 18:16:30 +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
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
9674011d75
gdi32: Fix coordinates for row copies in mirrored vertical stretching.
2012-04-24 17:37:53 +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
6c028b19c5
gdi32: Avoid redundant computation of the gradient bounding rectangle.
2012-04-13 13:41:16 +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
4e03247427
gdi32: Define a structure to make the brush state independent from the physdev.
2011-12-30 11:04:33 +01:00
Alexandre Julliard
c861284a02
gdi32: Add a helper function to add a rectangle to a region.
2011-12-28 11:04:30 +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
9f410413a6
gdi32: Implement GetPixel in the null driver using GetImage.
2011-12-13 14:00:05 +01:00
Alexandre Julliard
0c194895a2
gdi32: Remove some color table size checks, we use full-size color tables now.
2011-12-12 20:52:59 +01:00
Alexandre Julliard
cae4ef81e6
gdi32: init_dib_info() can no longer fail, and no longer requires freeing.
2011-12-12 20:02:22 +01:00
Alexandre Julliard
d353c95d47
gdi32: Add a flag to request a default color table from init_dib_info.
2011-12-12 15:50:33 +01:00
Alexandre Julliard
25e2fae2a8
gdi32: Always use biClrUsed for the number of colors of internal BITMAPINFO structures.
2011-12-10 13:35:42 +01:00
Alexandre Julliard
360d4bc548
gdi32: Use the DIB engine and PutImage for the null driver triangular gradient implementation.
2011-12-05 17:19:32 +01:00
Alexandre Julliard
743b37df3d
gdi32: Implement triangular gradients in the DIB engine.
2011-12-05 16:36:03 +01:00
Alexandre Julliard
4c6807199e
gdi32: Use the DIB engine and PutImage for the null driver rectangular gradient implementation.
2011-11-30 12:59:11 +01:00
Alexandre Julliard
a135e47167
gdi32: Don't set gradient alpha channel for 8888 bitmaps created with bitfields.
2011-11-29 15:12:28 +01:00
Alexandre Julliard
e19a362407
gdi32: Implement rectangular gradients in the DIB engine.
2011-11-29 15:12:20 +01:00
Alexandre Julliard
bfdac3e885
gdi32: Add a fall back implementation of BlendImage using client-side blending.
2011-10-17 17:45:05 +02:00
Alexandre Julliard
a3a574fae0
gdi32: Implement a BlendImage entry point in the DIB driver.
2011-10-14 21:32:40 +02:00
Alexandre Julliard
d1d8b4de0b
gdi32: Move some common code out of the individual copy_rect functions.
2011-10-12 20:52:46 +02:00
Huw Davies
db6fe9ee9b
gdi32: Use the helper to get the bounding rectangle.
2011-10-12 17:10:09 +02:00
Alexandre Julliard
6c07876e87
gdi32: Add an AlphaBlend entry point in the DIB driver.
2011-10-11 15:34:50 +02:00
Huw Davies
9b7ea6f417
gdi32: Forward StretchBlt calls from the dib driver to the null driver.
2011-09-27 18:46:16 +02:00
Huw Davies
268b8382cd
gdi32: Implement stretch_bitmapinfo.
2011-09-27 18:46:04 +02:00
Huw Davies
15c4754e80
gdi32: stretch_bitmapinfo may need to adjust the dst visrect.
2011-09-27 18:15:23 +02:00
Alexandre Julliard
7bcd8fa20e
gdi32: Copy bits in the correct order for the overlap case in the individual copy_rect functions.
2011-09-22 10:22:56 +02:00
Alexandre Julliard
3ace501190
gdi32: Copy DIB rectangles in the correct order when source and destination overlap.
2011-09-22 10:11:27 +02:00
Alexandre Julliard
7696168dce
gdi32: Add a placeholder function for DIB stretching.
2011-09-14 11:17:02 +02:00