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
Nikolay Sivov
d82321006d
gdi32: Pick first charmap if none was selected using preferred encoding.
...
FreeType 2.8.1 has similar logic removed from WinFNT module,
that always pre-selected first charmap.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 11:20:08 +02:00
Nikolay Sivov
2bd5f6e057
gdi32: Remove runtime check for FT_Set_Charmap().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 11:20:01 +02:00
Alexandre Julliard
66507e86c0
gdi32: Do not dither non-extended wide pens.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-28 09:14:30 +02:00
Alexandre Julliard
1c56b3b516
gdi32: Use the correct brush origin when the blit operation requires an intermediate bitmap.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-28 09:10:45 +02: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
Andrew Eikum
083e61fddf
gdi32: Update metafile world transform immediately in winnt mode.
...
The Chrome browser print function implements their own handling for
EMR_MODIFYWORLDTRANSFORM which calls ModifyWorldTransform on the HDC
directly without ever calling PlayEnhMetaFileRecord. In Wine, this
transformation would get discarded when the callback function returned,
causing the page to be printed at the wrong scale.
Tests show that the transform is updated immediately during
PlayEnhMetaFileRecord. In addition, a modified transform persists
between callbacks until PlayEnhMetaFileRecord is called on a relevant
type of callback, at which point the transform is reverted before
playing back the record.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-25 18:30:18 +02:00
Alexandre Julliard
593def1756
gdi32/tests: Run DIB tests also against a monochrome DDB.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-25 12:47:14 +02:00
Alexandre Julliard
80ae5c968e
gdi32: Always dither brush when painting to a 1-bpp device.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-25 10:05:55 +02:00
Alexandre Julliard
103f2646d5
gdi32/tests: Add a test case for DIB color painting.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-25 10:05:55 +02:00
Huw Davies
9ea33ed00a
gdi32: Cache the device caps from the reference dc, since the dc may become invalid.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-24 14:16:47 +09: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
46e6ee48f3
gdi32: Add a helper to fill rectangles with a given pixel.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 18:58:30 +02:00
Akihiro Sagawa
22135ba583
gdi32: Return non-zero VREFRESH value for display devices.
...
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>
2017-07-21 18:39:27 +02:00
Jens Reyer
ebbbe85038
make_unicode: Use VerticalOrientation.txt from UCD.
...
Signed-off-by: Jens Reyer <jre.winesim@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:45:18 +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
Piotr Caban
f629e9797d
gdi32: Don't write EMR_EXTSELECTCLIPRGN to emf file on SelectClipPath call.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-22 10:56:58 +02:00
Alexandre Julliard
0c005a329e
gdi32: Return more meaningful data in the null driver GetDeviceCaps implementation.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-18 13:22:48 +02:00
Huw Davies
2dfb09893c
gdi32: Try to read the dpi from the user key first.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-27 22:22:47 +02:00
Piotr Caban
3471b59ae0
gdi32: Only delete unmodified font keys in delete_external_font_keys.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-26 10:59:40 +02:00
Piotr Caban
93def703cf
gdi32: Allocate smaller buffer in delete_external_font_keys helper.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-26 10:59:40 +02:00
Sebastian Lackner
f625707ffc
configure: Support for recent versions of OSMesa.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 19:21:49 +02:00
Nikolay Sivov
bba13f04c4
gdi32: Fix widths returned by GetCharWidthI().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-13 10:14:12 +02:00
Nikolay Sivov
215e8b10a8
gdi32: Trace charmap encoding as 4 bytes tag.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-06 19:00:20 +02:00
Huw Davies
8dc039a7d1
gdi32/tests: Prevent a crash if the shell dlg font is not found.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 16:17:27 +02:00
Huw Davies
858c07f667
gdi32/tests: Combine the matching macros into a single function.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-17 09:54:18 +01:00
Alexandre Julliard
57aa60689d
gdi32/tests: Remove workarounds for old Windows versions in the DIB tests.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-09 20:13:16 +01:00
Alexandre Julliard
059170208a
gdi32: Map the black and white entries to the DIB color table after dithering.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-09 20:12:50 +01: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
71d2d4ee96
gdi32: Add more helper functions for RGB to pixel conversions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 20:57:41 +01:00
Nikolay Sivov
533d800d42
gdi32: Cleanup otmfsType bit mask from reserved bits.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-07 10:00:02 +01:00
Nikolay Sivov
be287422ce
gdi32/tests: Test that otmfsType field is cleaned up from reserved bits.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-07 10:00:00 +01:00
Huw Davies
be908f2f26
gdi32/tests: Test blitting from a D3DKMT bitmap to a regular bitmap.
...
Based on a patch by Henri Verbeet.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:28 +01:00
Huw Davies
0bec2f7965
gdi32: Calculate the stride from the image size.
...
This allows bitmaps to be created by D3DKMTCreateDCFromMemory() which have more freedom
in their choice of stride.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:28 +01:00
Huw Davies
a4f0415a5b
gdi32: Calculate the stride from the image size.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:28 +01:00
Huw Davies
fe26147c17
gdi32: Reset the image size when cropping the source bitmap.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:28 +01:00
Huw Davies
2eeed2df51
gdi32: Initialize biSizeImage in the DDB's bitmapinfo.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:27 +01:00
Huw Davies
8c2374ab08
gdi32: Update biSizeImage when uncompressing the RLE bitmap.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:27 +01:00
Huw Davies
a3e09aa43f
gdi32: Use the image size returned by GetImage.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:27 +01:00
Huw Davies
9d0338bc4f
gdi32: Don't copy biSizeImage in copy_color_info().
...
It meant there was a hack which incorrectly changed the corresponding value in src_info.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:27 +01:00
Francois Gouget
4099ddb521
gdi32/tests: Add inline, __WINE_ALLOC_SIZE attributes to heap_xxx() functions.
...
And standardize their formatting and parameter names.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 10:24:23 +01:00
Huw Davies
0805b0d567
gdi32: Add the ability to disable a DC.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:46:20 +01:00
Fabian Maurer
e0ad2c3e5f
gdi32: Add traces for painting functions.
...
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 11:26:58 +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
Daniel Lehman
0d9f044dcd
gdi32: Trace more in CreateEnhMetaFileW.
...
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-30 13:26:27 +01:00
Ken Thomases
d684831f4a
gdi32: Get the font URL directly from the descriptor on macOS 10.6 and later.
...
It's significantly faster than the roundabout way that's necessary for
10.5, which is especially important for users with many fonts installed.
Issue identified by Andrew Eikum.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-29 19:14:22 +01:00
Daniel Lehman
5244bd0748
gdi32: Initialize rgbReserved to zero in SetDIBColorTable.
...
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-23 22:36:39 +01:00
Henri Verbeet
d837b71557
gdi32: Add support for D3DDDIFMT_A4R4G4B4 and D3DDDIFMT_X4R4G4B4 to D3DKMTCreateDCFromMemory().
...
These are needed by wined3d to support DCs on WINED3DFMT_B4G4R4A4_UNORM and
WINED3DFMT_B4G4R4X4_UNORM textures, as required by the Microsoft Motocross
Madness demo. Note that these formats are not available on versions of Windows
newer than Vista, and as far as I'm aware the application doesn't work on
those versions. I don't expect exposing more formats to be an issue in
practice, but these could be hidden behind a version check if needed.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-17 07:41:47 -06: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