Commit graph

822 commits

Author SHA1 Message Date
Bartosz Kosiorek
a97911fdfe gdiplus: Improve performance of GdipScaleMatrix.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53947
2022-12-06 17:17:23 +01:00
Bartosz Kosiorek
edee5538e3 gdiplus: Add support for LineCapArrowAnchor.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42809
2022-11-29 21:33:58 +01:00
Bartosz Kosiorek
e0f32f53d5 gdiplus: Add GdipSetCustomLineCapStrokeCaps implementation and usage. 2022-11-23 22:27:38 +01:00
Bartosz Kosiorek
1271ae3ebd gdiplus: Add support for widen path with GpCustomLineCap.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45273
2022-11-23 22:27:38 +01:00
Bartosz Kosiorek
200652075b gdiplus: Add GdipSetCustomLineCapBaseInset implementation. 2022-11-23 22:27:20 +01:00
Bartosz Kosiorek
742c315702 gdiplus: Add GdipSetCustomLineCapBaseCap implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45273
2022-11-23 22:27:20 +01:00
Bartosz Kosiorek
2f26b02fd2 gdiplus: Add GdipGetPenCompoundArray implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52196
2022-10-31 12:11:55 +01:00
Bartosz Kosiorek
e2e8487b99 gdiplus: Add GdipGetPenCompoundCount implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52196
2022-10-31 12:05:02 +01:00
Bartosz Kosiorek
9d5d4dba28 gdiplus: Add GdipSetPenCompoundArray implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52196
2022-10-31 12:04:59 +01:00
Eric Pouech
57a8ccf4e8 gdiplus/tests: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 21:31:56 +01:00
Eric Pouech
eb39c4e4fe gdiplus/tests: Introduce helper functions (expect*) to handle integral conversions.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-28 21:31:56 +01:00
Eric Pouech
aa9d1bd130 gdiplus/tests: Get rid of some GCC11 warnings (-Warray-bounds).
don't pretend using a BITMAPINFO when only a BITMAPINFOHEADER is used

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 08:21:29 +01:00
Fabian Maurer
759a93d94d gdiplus/tests: Avoid "misleading indentation" warnings.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:20 +01:00
Alexandre Julliard
f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Bernhard Kölbl
d3275f5f6a gdiplus: Add simple test for bitmap clone from rgb values to indexed.
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-29 23:25:46 +01:00
Esme Povirk
28c35689d2 gdiplus: Mark a Windows behavior as broken.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51989
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-23 22:24:20 +01:00
Francois Gouget
53371cc556 gdiplus/tests: Fix a font test crash when "MS Shell Dlg" is not found.
When "MS Shell Dlg" is missing GdipCreateFontFamilyFromName() leaves
the GpFontFamily* pointer uninitialised. So initialize it to NULL in
order to get clean failures instead of a crash.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 20:27:22 +02:00
Francois Gouget
ad663360fa gdiplus: GdipGetFamilyName() should not crash when given a NULL name.
It used to crash on Windows XP and Vista but does not since Windows 7.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 20:27:22 +02:00
Esme Povirk
a554079860 gdiplus: Implement reference counting for private font families.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50896
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 11:33:16 +02:00
Nikolay Sivov
2c77f717c8 gdiplus/metafile: Implement rendering origin recording.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 09:41:21 +02:00
Nikolay Sivov
42cb11b1c1 gdiplus/metafile: Implement SetClipPath() recording.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 09:41:19 +02:00
Nikolay Sivov
24278c4fc7 gdiplus/metafile: Implement ResetClip() recording.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 09:41:16 +02:00
Nikolay Sivov
33d2f6b7ec gdiplus/metafile: Implement TranslateClip() recording.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 09:41:13 +02:00
Nikolay Sivov
41651d2e16 gdiplus: Forward GdipDrawRectangle() to GdipDrawRectangles().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-23 21:02:40 +01:00
Nikolay Sivov
81b7555da8 gdiplus/metafile: Implement FillEllipse() recording.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:58 +01:00
Nikolay Sivov
4e55ec2b9e gdiplus/metafile: Implement DrawEllipse() recording.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:58 +01:00
Alexandre Julliard
0ec38429f3 gdiplus/tests: Regenerate ttf files with the official fontforge version.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 20:44:03 +01:00
Haoyang Chen
cda039943d gdiplus/tests: Test image brush transformation.
Signed-off-by: Haoyang Chen <chenhaoyang@uniontech.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 09:23:39 +01:00
Ziqing Hui
3549097c9e gdiplus: Record logical DPI in metafile.
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 11:12:20 +01:00
Ziqing Hui
c32be58b47 gdiplus/tests: Add initial tests for metafile created from printer DC.
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 10:42:20 +01:00
Ziqing Hui
f40f379f05 gdiplus: Correctly handle UnitDisplay for printer DC.
For printer DC, UnitDisplay specifies that a unit is 1/100 inch,
which is different from display DC.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=17848
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 10:42:14 +01:00
Ziqing Hui
ae7d81317b gdiplus/tests: Add tests for drawing on printer DC.
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Jeff Smith
8eff23cc06 gdiplus/tests: Use wide-char string literals for test strings.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-10 09:41:39 +01:00
Jeff Smith
cf405026cd gdiplus/tests: Use wide-char string literal for metafile description.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-10 09:41:37 +01:00
Jeff Smith
ebc2d2a39a gdiplus/tests: Use wide-char string literal for mimetype.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-10 09:41:35 +01:00
Jeff Smith
796550cc72 gdiplus/tests: Use wide-char string literals for file names.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-10 09:41:33 +01:00
Jeff Smith
de0497df87 gdiplus/tests: Use wide-char string literals for font names.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-10 09:41:21 +01:00
Ziqing Hui
c509060f52 gdiplus: Support StringFormatNoWrap for GdipMeasureString.
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-23 10:59:32 +02:00
Ziqing Hui
3f228497a8 gdiplus/tests: Add tests for GdipMeasureString with StringFormatFlagsNoWrap.
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-23 10:59:30 +02:00
Michael Stefaniuc
4e9ad7b305 gdiplus/tests: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:02:08 +02:00
Esme Povirk
6a5eed549d gdiplus/tests: Don't test point type array padding.
Since the point types are an array of bytes, padded to a DWORD
boundary, some of the bytes at the end are undefined, and there's
no good reason to test them.

Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-17 10:43:52 +02:00
Shawn M. Chapla
52fa4fb74e gdiplus: Implement GdipGetClipBoundsI in terms of GdipGetClipBounds.
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 21:25:39 +02:00
Shawn M. Chapla
5e40198862 gdiplus/tests: Add cursory GdipGetClipBoundsI checks to graphics clipping test.
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 21:25:39 +02:00
Shawn M. Chapla
03e9de4920 gdiplus: Incorporate GDI frame into metafile auto-frame before scaling.
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-11 23:18:54 +02:00
Shawn M. Chapla
14bf19ec5e gdiplus/tests: Add metafile null frame rect GDI/GDI+ interop test case.
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-11 23:18:52 +02:00
Shawn M. Chapla
7c2d5d40e5 gdiplus/tests: Fix 'LogicalDpiY' typos in metafile tests.
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-29 11:24:26 +02:00
Shawn M. Chapla
d3de57c2b3 gdiplus: Use FromRect constructor in LinearGradientBrush deserialization.
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 10:16:53 +02:00
Shawn M. Chapla
6c787852c4 gdiplus: Fix LinearGradientBrush deserialization off-by-one errors.
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 10:16:51 +02:00
Shawn M. Chapla
60fd827d8b gdiplus: Add LinearGradient brush object serialization.
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 10:16:49 +02:00
Shawn M. Chapla
6c57cf5eee gdiplus/tests: Add metafile LinearGradient brush test.
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 10:16:36 +02:00