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
0fd51346e1
gdiplus: Fix position of Custom Cap when Scale is different that 1.
2022-11-29 21:33:58 +01:00
Bartosz Kosiorek
be7db8457d
gdiplus: Add support for Custom Line Indent.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45273
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
cd17de8827
gdiplus: Fix shape of CustomLineCap created by GdipCreateAdjustableArrowCap.
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
a8e8730769
gdiplus: Use GpPointF for drawing in widen_closed_figure.
2022-11-23 22:27:20 +01:00
Bartosz Kosiorek
200652075b
gdiplus: Add GdipSetCustomLineCapBaseInset implementation.
2022-11-23 22:27:20 +01:00
Bartosz Kosiorek
bc8ced226a
gdiplus: Remove not used LineCustomCap parameter.
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
Alexandre Julliard
a1c8232b33
include: Remove custom/undocumented language identifiers.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-11-16 21:24:18 +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
Jinoh Kang
72c0c88f2a
gdiplus: Replace GpImage's busy flag with SRWLOCK.
...
Today, the image_unlock() helper function has a data race due to
non-atomic write to GpImage's 'busy' flag which is accessible by other
threads. Also, it lacks a release fence, which means that other threads
can observe the unlocked (busy = 0) state too early when the current
thread unlocks the image; specifically, the write to the 'busy' field of
the GpImage can be reordered before the last read/write to any other
fields of the same GpImage.
Fix this by replacing the 'busy' field of GpImage with SRWLOCK.
2022-10-24 11:17:39 +02:00
Jinoh Kang
7abca9742a
gdiplus: Avoid copying GpImage's busy flag in select_frame_wic().
...
The 'busy' field in GpImage is used as an atomic variable. The C11
standard (§5.1.2.4, paragraph 25) states that two conflicting actions to
a memory location shall be both atomic operations, or otherwise properly
synchronized; otherwise, it constitutes a data race.
However, select_frame_wic() performs a non-atomic access to the 'busy'
field on a GpImage that is potentially accessible by other threads.
This happens when select_frame_wic() copies new_image to the old image
object. Although it does attempt to preserve the value of the 'busy'
field by setting new_image->busy = image->busy first, thereby
effectively assigning an identical value to the field, it is unclear
that this does not actually constitute a theoretical, if not practical,
data race. This also prevents replacing the busy flag with a mutex or
other synchronization primitives.
Therefore, skip the 'busy' field when copying fields from the new image
to the original image object.
2022-10-24 11:17:37 +02:00
Jinoh Kang
d6b4321125
gdiplus: Avoid recursively locking image in GdipImageRotateFlip.
...
GdipImageRotateFlip() calls GdipBitmapLockBits() while holding the image
lock, resulting in a recursive lock.
Since GdipImageRotateFlip() uses GdipBitmapLockBits() only to obtain
Scan0 and Stride, replace them with equivalent fields from GpBitmap
itself.
2022-10-24 11:17:35 +02:00
Alexandre Julliard
fe7df46118
gdiplus: Get the compositing mode directly from the graphics object.
...
GdipGetCompositingMode() fails when the object is busy, which happens
when flushing changes in GdipReleaseDC().
Fixes a test crash on Gitlab CI.
2022-09-28 15:39:04 +02:00
Esme Povirk
7d118a25c0
gdiplus: Accept newer version in OpenType header.
...
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 11:54:54 +02: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
af403bd34f
gdiplus: Get rid of gcc11 warnings (-Warray-bounds).
...
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:22:06 +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
Eric Pouech
846fcc5bf6
gdiplus: 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-14 21:20:41 +01:00
Eric Pouech
e393526855
gdiplus: Use correct integral type.
...
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-04 22:44:48 +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
Florian Will
6090276b3e
gdiplus: Disable PNG encoding filters.
...
This speeds up the encoding process, sometimes at the cost of increased
PNG file sizes. PNGs created using gdiplus on Windows 10 have filters
disabled, too, according to pngcheck.
The application "ZusiDisplay" encodes finished frames in PNG format and
sends them through a named pipe for "Zusi 3" to use as an in-game
texture, so performance matters for that use case to improve "embedded
display" FPS.
Signed-off-by: Florian Will <florian.will@gmail.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 09:25:40 +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
Bernhard Kölbl
ec29292141
gdiplus: Introduce dst palette parameter to convert_pixels().
...
Make it possible to define a destination colour palette when
using convert_pixels(), so converting a bitmap from a non
indexed format to an indexed format does not produce an empty image.
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
Bernhard Kölbl
77121b3b23
gdiplus: Add pixel conversions to 4bpp 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-19 20:56:26 +01:00
Huw Davies
0d8428fbc5
gdiplus: Switch to STRETCH_HALFTONE mode before playing a blit record.
...
This is done even if the emf contains a previous EMR_SETSTRETCHBLTMODE
record.
Thanks to Sebastián Aedo for some of the testing.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-20 20:11:46 +02:00
Alexandre Julliard
088a787a2c
makefiles: Make -mno-cygwin the default.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02: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
Dongwan Kim
aa54278250
gdiplus: Implement GdipEnumerateMetafileSrcRectDestRectI.
...
Signed-off-by: Dongwan Kim <kdw6485@gmail.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 21:25:00 +02:00
Haoyang Chen
43e2563f44
gdiplus: Avoid filtering of special characters.
...
Symbols such as ← should also be displayed.
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-05-17 09:27:00 +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
7ca2f86f06
gdiplus/metafile: Fully initialize record header on allocation.
...
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:11 +02:00
Jacek Caban
883298f627
gdiplus: Use nameless unions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 09:24:46 +02:00
Nikolay Sivov
c17cd0fcab
gdiplus/metafile: Implement DrawArc() 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-23 21:02:45 +01:00
Nikolay Sivov
beefe76c6f
gdiplus: Add a helper to initialize RectF.
...
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:43 +01: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
9b04f1c660
gdiplus/metafile: Implement FillPie() 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-23 21:02:38 +01:00
Jacek Caban
b39b9eea39
include: Don't default to WINE_NO_NAMELESS_EXTENSION for Wine build.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 21:48:38 +01:00
Nikolay Sivov
81bbc4872e
gdiplus/metafile: Implement DrawRectangles() 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
b733e39ae5
gdiplus: Add a helper to check for metafile graphics context.
...
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
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
Chao Long
3c2da5b9c9
gdiplus/metafile: Implement GdipRecordMetafileFileName.
...
Signed-off-by: Chao Long <longchao@uniontech.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 10:44:51 +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
Nikolay Sivov
c090b35d99
gdiplus/metafile: Fix copy-paste typo when setting resolution (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-01 17:10:04 +01:00
Haoyang Chen
4c4a5cb799
gdiplus: Avoid negative integer overflow due to implicit type conversion.
...
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-01 10:47:20 +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
Jeff Smith
6aea9b9d77
gdiplus: Guard initialization of installed font collection.
...
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-11-23 12:41:10 +01:00
Jeff Smith
4e395ba85b
gdiplus: Fix function name typo in comment.
...
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-11-23 12:41:07 +01:00
Michael Stefaniuc
60c1035137
gdiplus: Use wide-char string literals.
...
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-11-13 11:28:44 +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
Haoyang Chen
2697b74d67
gdiplus: Fix texture brush rotation.
...
Signed-off-by: Haoyang Chen <chenhaoyang@uniontech.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 10:42:03 +02:00
Michael Stefaniuc
812eb3c41d
gdiplus: Remove superfluous cast to self.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 21:35:01 +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
Pengpeng Dong
36e6ea9767
gdiplus: Initialize the dead point coordinates in "GpPointF, *ptf" to 0.
...
Signed-off-by: Pengpeng Dong <dongpengpeng@uniontech.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 22:25:25 +02:00
Haoyang Chen
bccd754966
gdiplus: Implement GdipEnumerateMetafileSrcRectDestRect.
...
Signed-off-by: Haoyang Chen <chenhaoyang@uniontech.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 22:25:09 +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
Jiajin Cui
5754bd9c0a
gdiplus: Make gdi_alpha_blend fallback to StretchBlt if current Compositing Mode is SourceCopy.
...
Signed-off-by: Jiajin Cui <cuijiajin@uniontech.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 21:16:49 +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
c155b043fd
gdiplus: Add missing allocation failure checks to graphics functions.
...
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
1f8e40e461
gdiplus: Remove outdated FIXME comment about compositing mode.
...
Removes an outdated comment about graphics compositing mode being
unused. Graphics compositing mode has been used in pixel blending since
a16a4d97
.
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
Jeff Smith
82eb0a66a2
gdiplus: Avoid a few unnecessary calculations for arc2polybezier.
...
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-08-05 15:06:53 +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
Shawn M. Chapla
1cb437ac25
gdiplus: Add FillRegion 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-22 22:18:22 +02:00
Shawn M. Chapla
8191ed86ca
gdiplus: Add FillRegion record 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-22 22:18:19 +02:00
Shawn M. Chapla
5ccd10fce8
gdiplus/tests: Add metafile FillRegion 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-22 22:18:17 +02:00
Jiajin Cui
f992bc77c8
gdiplus: Fix crash if failed to create bitmap.
...
Signed-off-by: Jiajin Cui <cuijiajin@uniontech.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 20:17:50 +02:00
Shawn M. Chapla
a9151e2e2b
gdiplus: Use GenericFontFamilySansSerif when missing deserialized font family.
...
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-20 11:44:42 +02:00
Shawn M. Chapla
fcc21dbf48
gdiplus/tests: Add metafile unknown font deserialize 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-20 11:44:37 +02:00
Shawn M. Chapla
71bb5cd52a
gdiplus: Add DrawDriverString 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-17 13:25:08 +02:00
Shawn M. Chapla
30c7fe69e0
gdiplus: Add DrawDriverString record 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-17 13:25:08 +02:00