Commit Graph

807 Commits

Author SHA1 Message Date
Nikolay Sivov 2d6a23bef6 gdi32: Implement GetFontFileData().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 20:33:16 +01:00
Nikolay Sivov 93eca9e919 gdi32: Set data size for fonts created from memory.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 20:10:57 +01:00
Nikolay Sivov 03ccce70b5 gdi32: Improve GetFontFileInfo() compatibility.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 20:10:52 +01:00
Nikolay Sivov 65ef40bff7 gdi32/tests: Run memory resource font test in a child process.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 20:10:21 +01:00
Nikolay Sivov ce3e220c26 gdi32/tests: Fix some test failures on newer Win10 releases.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 10:43:40 +01: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 71c9a8f3ca gdi32/tests: Add more stretch bitblt tests.
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:54:46 +02:00
Alexandre Julliard d99f682118 gdi32: Don't return screen resolution on printer devices.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-05 19:52:31 +02:00
Daniel Lehman e976e179ae gdi32: Update edgetable limits with top and bottom.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-18 14:13:43 +02:00
Daniel Lehman 418514820f gdi32/tests: Add test for clipped polygon.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-18 14:13:43 +02:00
Michael Müller 96721e4291 gdi32: Treat lpResults as optional in GetCharacterPlacement.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 10:04:09 +02:00
Michael Stefaniuc 314a276f19 gdi32/tests: Use the available 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-06-26 13:29:10 +02:00
Zebediah Figura 7527ab493e gdi32/tests: Test writing to the default palette.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 12:45:00 +02:00
Akihiro Sagawa dce3e17185 gdi32: Fix text metrics in synthetic bold bitmap fonts.
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-02-19 16:55:08 +01:00
Akihiro Sagawa b4a10d17c6 gdi32/tests: Add more text metrics tests in synthetic bold bitmap fonts.
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-02-19 16:55:08 +01:00
Akihiro Sagawa c17a8f32c4 gdi32: Fix ABC width calculations when using vertical font.
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-02-08 10:20:24 +01:00
Akihiro Sagawa 34c4687f25 gdi32/tests: Add more ABC width tests with vertical font.
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-02-08 10:20:21 +01:00
Akihiro Sagawa da63c2356d gdi32/tests: Add more ABC width tests in various widths.
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-02-08 10:20:19 +01:00
Akihiro Sagawa 2a402a427a gdi32: Fix ABC width calculations when applying transformations internally.
This fixes a regression introduced by f6bc356860.

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-02-08 10:20:16 +01:00
Michael Stefaniuc 5c3928df94 gdi32/tests: Use the global HeapAlloc() wrappers.
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-01-31 09:46:37 +01:00
Huw Davies ccc871dcd0 gdi32: Set otmMacLineGap from the line gap in the hhea table.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-19 19:49:02 +01:00
Fabian Maurer 6f790606c0 gdi32: In AddFaceToList allow fonts with long names and add tests.
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-11-28 22:00:39 +01: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
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 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
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
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
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
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
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 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
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 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
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 45b848ccd1 gdi32: Handle the case of a partial source byte separately.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 01:10:21 +09:00
Michael Stefaniuc 68f1df237a gdi32/tests: Make use of todo_wine_if().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 09:14:34 -05:00
Huw Davies 6a8cfea99b gdi32: Use POINT and SIZE to hold positions and extents.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-27 22:21:08 +09:00
Huw Davies 778faedbae gdi32: Copy 1-bpp pixels one byte at a time.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 19:56:38 +09:00