Jacek Caban
953a219004
gdi32: Use EMR_TRANSPARENTBLT to record GetTransparentBlt.
...
And use NtGdiTransparentBlt.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 20:22:12 +02:00
Jacek Caban
03ec246e52
gdi32: Use EMR_PLGBLT to record PlgBlt.
...
And use NtGdiPlgBlt.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 19:31:16 +02:00
Jacek Caban
dcf7d7d5c4
gdi32: Use EMR_MASKBLT to record MaskBlt.
...
And use NtGdiMaskBlt.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 19:31:14 +02:00
Jacek Caban
8e70a0a5cc
gdi32: Use NtGdiDeleteObjectApp instead of DeleteObject in ntgdi functions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 21:43:03 +02:00
Jacek Caban
072a100f66
gdi32: Use internal get_stock_object in ntgdi functions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 21:43:03 +02:00
Jacek Caban
05a3384ca8
gdi32: Use NtGdiGetDCObject for GetCurrentObject.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 21:43:03 +02:00
Jacek Caban
34508690cb
gdi32: Move CombineTransform to objects.c.
...
And use a separated copy in ntgdi functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-01 17:09:07 +02:00
Jacek Caban
f6e584e626
gdi32: Use NtGdiCreateDIBSection for CreateDIBSection.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 15:48:33 +02:00
Jacek Caban
55849cd428
gdi32: Use NtGdiGetAndSetDCDword for SetGraphicsMode.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 15:48:27 +02:00
Jacek Caban
9c03e8ae8c
gdi32: Use NtGdiCreateCompatibleBitmap for CreateCompatibleBitmap.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-31 15:48:24 +02:00
Jacek Caban
9a53f3ae11
gdi32: Use NtGdiDeleteObjectApp for DeleteDC.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 18:15:07 +02:00
Jacek Caban
ad00037c27
gdi32: Use NtGdiDoPalette for GetPaletteEntries.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-16 18:38:47 +02:00
Jacek Caban
2f7b9e29e4
gdi32: Use NtGdiAlphaBlend for GdiAlphaBlend.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-12 17:30:21 +02:00
Jacek Caban
23ac1c6e62
gdi32: Use NtGdiBitBlt for BitBlt.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-12 17:30:21 +02:00
Jacek Caban
8b5ae11421
gdi32: Use NtGdiStretchBlt for StretchBlt.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-12 17:30:21 +02:00
Jacek Caban
6f095cea53
gdi32: Use NtGdiPatBlt for PatBlt implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Jacek Caban
0d03c57d89
gdi32: Store vis_rect in DC_ATTR.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 22:59:23 +02:00
Jacek Caban
2a6adcdc0f
gdi32: Use ntgdi name for CreateCompatibleDC.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 14:27:31 +02:00
Jacek Caban
4198e0760b
gdi32: Store stretch_blt_mode in DC_ATTR.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 15:40:43 +02:00
Jacek Caban
454b0fcb1e
gdi32: Store text color in DC_ATTR.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00
Jacek Caban
6a2decc259
gdi32: Move background color to DC_ATTR.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:04 +02:00
Jacek Caban
148a2b60a5
gdi32: Move layout to DC_ATTR.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:04 +02:00
Jacek Caban
b0240461f1
gdi32: Rename gdi_private.h to ntgdi_private.h.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-09 22:15:30 +02:00
Jacek Caban
0a42d6a915
gdi32: Use ntgdi names for region functions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 17:58:02 +02:00
Jacek Caban
8df14dac7a
gdi32: Use ntgdi names for region constructors.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 17:57:58 +02:00
Jacek Caban
dc73184c29
gdi32: Directly use ntgdi interface to select objects.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 16:53:50 +02:00
Alexandre Julliard
aa90a5969f
gdi32: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 10:44:16 +01:00
Rémi Bernon
a404eb7272
gdi32: Use explicit CDECL in gdi_image_bits.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 11:29:54 +02:00
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
Akihiro Sagawa
9f458df88c
gdi32: Adjust destination coordinates in some special cases.
...
When the source rectangle needs to flip and it doesn't fit in the
source device area, the destination image is flipped but the
destination area isn't flipped. GdiAlphaBlend doesn't support
mirroring, the above isn't applicable.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:55:14 +02:00
Akihiro Sagawa
566b92320c
gdi32: Fix negative width/height handling in stretch bitblt family.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:55:05 +02:00
Akihiro Sagawa
bdfbd32e85
gdi32: Use the helper function to order the points of a rectangle.
...
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-12 09:48:29 +02:00
Huw Davies
de9d224996
gdi32: Ignore the alpha channel for blits to DDBs too.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-06 21:48:49 +02:00
Alexandre Julliard
474f9ff1fa
gdi32: Avoid having the source alpha channel interfere with color comparisons in GdiTransparentBlt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-12 11:43:50 +02:00
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
Alexandre Julliard
89d31e42fc
gdi32: Fix color conversion when blitting to 1-bpp by matching pixels instead of color values.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 21:07:46 +01:00
Alexandre Julliard
c0b30432ea
gdi32: Support PALETTEINDEX colors for 1-bpp DIB blits.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-27 20:09:02 +01: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
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
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
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
3d58c354ae
gdi32: Take into account the mask's offset.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 21:11:26 +09:00
Michael Müller
cde2fbb08e
gdi32: Make BitBlt and StretchDIBits hotpatchable.
...
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
2015-10-05 22:27:13 +09:00
Alexandre Julliard
58fe3afff5
gdi32: Add an intermediate pointer to avoid a compiler warning.
2015-09-10 19:47:24 +09:00
Alexander Almaleh
8762842cd3
gdi32: Fix XFORM.eM22 calculation in PlgBlt.
2014-06-26 21:19:25 +02:00
Alexandre Julliard
6e325afaa7
gdi32: Handle a missing source alpha directly in the blend_rect primitive instead of modifying the source data.
2012-10-10 20:34:08 +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
34b70728f3
gdi32: Limit the allocation size to the useful data when converting DIB bits.
2012-10-10 20:34:07 +02:00
Alexandre Julliard
e95cff0332
gdi32: Always update the DC before looking for the physdev pointer.
2012-09-20 21:07:04 +02:00