Piotr Caban
befb8603e2
gdiplus: Fix GdipCreateLineBrushFromRectWithAngle implementation.
...
The patch fixes isAngleScalable==TRUE argument handling. It also fixes a
mistake when width was used instead of height.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-25 18:33:33 +02:00
Vincent Povirk
88168d4b3d
gdiplus: Implement GdipIsOutlineVisiblePathPoint.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-21 13:38:18 +02:00
Vincent Povirk
6920cf68e6
gdiplus: Reimplement GdipDrawPolygon based on GdipDrawPath.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-19 08:12:15 -07:00
Vincent Povirk
6e054e43c6
gdiplus: Add a software path for thin line drawing.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-14 09:17:31 +02:00
Vincent Povirk
092531df71
gdiplus: Add non-gdi32 implementation of GdipDrawPath.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-14 09:17:28 +02:00
Vincent Povirk
dd5fd46c63
gdiplus/tests: Add tests for 0-pixel pens.
...
It turns out that GdipDrawLine behaves differently from GdipDrawPath, only
in the case of a 0 pixel pen.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-14 09:17:14 +02:00
Vincent Povirk
99e5f24b6d
gdiplus: GdipDrawLine ignores 0-pixel pens.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-14 09:17:08 +02:00
Vincent Povirk
96eac4876c
gdiplus: Allow widening a "closed" line segment.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-14 09:16:56 +02:00
Vincent Povirk
069f20d1b3
gdiplus: Implement EMR_EXTSELECTCLIPRGN playback.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-11 18:38:09 +02:00
Vincent Povirk
28cfa306b4
gdiplus: Implement EMR_SETWORLDTRANSFORM playback.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-10 21:13:13 +02:00
Vincent Povirk
094516d47a
gdiplus/tests: Add test for gdi32 SetWorldTransform record.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-10 21:13:06 +02:00
Vincent Povirk
2054c8fe6f
gdiplus: Add FIXME for EMF records we need to implement.
...
These records cause state tracking in gdi32, but the state tracking doesn't
work correctly because we didn't pass a DC to EnumEnhMetaFile.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-10 21:12:53 +02:00
Marcus Meissner
4c3f494aa0
gdiplus: Assign error return (Coverity).
...
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-10 21:11:42 +02:00
Vincent Povirk
f696e431ad
gdiplus: Add clipping to GdipDrawImage.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-20 10:36:22 +09:00
Vincent Povirk
c6afa50db6
gdiplus: Add clipping to GDI32_GdipDrawDriverString.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-20 10:36:18 +09:00
Vincent Povirk
3fd47e1be1
gdiplus: Add clipping to GDI32_GdipFillRegion.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-20 10:36:10 +09:00
Vincent Povirk
8b7520ce6d
gdiplus/tests: Check record types in playback tests.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-19 10:59:51 +09:00
Vincent Povirk
410163a9f2
gdiplus: Implement BeginContainer metafile record.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-19 10:59:51 +09:00
Vincent Povirk
18964c9665
gdiplus/tests: Add tests for GdipBeginContainer.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-19 10:59:51 +09:00
Vincent Povirk
f5b14a7ab6
gdiplus: Implement GdipBeginContainer.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-19 10:59:51 +09:00
Dmitry Timoshkov
b7956a89bd
gdiplus: Implement GdipGetMetafileHeaderFromFile.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-15 21:02:34 +09:00
Dmitry Timoshkov
368b4c47bb
gdiplus: Implement GdipGetMetafileHeaderFromStream.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-15 21:02:34 +09:00
Dmitry Timoshkov
8c1ded6164
gdiplus: Implement GdipGetMetafileHeaderFromWmf.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-15 21:02:33 +09:00
Dmitry Timoshkov
b1e77d3fc8
gdiplus: Implement GdipCreateMetafileFromFile.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-12 11:09:20 +09:00
Vincent Povirk
f60d2b63cc
gdiplus: Add more tests for GdipGetMetafileHeaderFromMetafile.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-12 11:09:17 +09:00
Dmitry Timoshkov
259837a199
gdiplus: Implement GdipGetMetafileHeaderFromMetafile.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-12 11:09:10 +09:00
Dmitry Timoshkov
3769778917
gdiplus: Implement GdipCreateMetafileFromStream.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-12 11:09:02 +09:00
Vincent Povirk
d26c0ca214
gdiplus: Copy remap tables when cloning an ImageAttributes.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-27 13:22:09 +09:00
Dmitry Timoshkov
2f7a2fdea3
gdiplus: Reimplement metafile loading using gdi32 instead of IPicture.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 12:39:12 +09:00
Vincent Povirk
5ef00ff17e
gdiplus/tests: Add metafile test for SetClipRect.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 11:54:10 +09:00
Vincent Povirk
3f6faddd56
gdiplus: Implement playback/recording for SetClipRect.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 11:54:08 +09:00
Vincent Povirk
977ba49768
gdiplus/tests: Add test for containers in metafiles.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-16 12:00:58 +09:00
Vincent Povirk
f28803c0a4
gdiplus: Add support for containers in metafiles.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-16 12:00:55 +09:00
Vincent Povirk
cc8cc65f79
gdiplus: Fix mismatched use of Begin/EndContainer and Save/RestoreGraphics.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 12:55:10 +09:00
Vincent Povirk
8fbdd670ca
gdiplus/tests: Test mixing Begin/EndContainer and Save/Restore.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 12:55:08 +09:00
Vincent Povirk
af500612f2
gdiplus: Implement recording/playback for TranslateWorldTransform.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 12:55:05 +09:00
Vincent Povirk
690e0f269c
gdiplus: Implement recording/playback for SetWorldTransform.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 12:35:21 +09:00
Vincent Povirk
cfae34a7e2
gdiplus: Implement recording/playback for RotateWorldTransform.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 12:35:19 +09:00
Vincent Povirk
69a7c2c6a2
gdiplus: Implement recording/playback for MultiplyWorldTransform.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 12:35:17 +09:00
Vincent Povirk
25e8c83a8a
gdiplus/tests: Add feature for loading emf files.
...
This enables testing for mutual compatibility of emf's, by saving the files
on Wine and loading them on Windows, or vice versa.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 12:34:48 +09:00
Vincent Povirk
d4d18aa511
gdiplus: Fix matrix append flag in metafile transform records.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 12:34:44 +09:00
Michael Stefaniuc
5fce51236c
gdiplus/tests: Make use of todo_wine_if().
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 14:50:30 -05:00
Nikolay Sivov
2de908f3ff
gdiplus: Remove some casts.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 14:50:30 -05:00
Vincent Povirk
a65718a3e7
gdiplus: Implement ResetWorldTransform metafile playback/recording.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 16:43:11 -05:00
Vincent Povirk
1816698f82
gdiplus/tests: Add test for ScaleWorldTransform in metafiles.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 16:43:09 -05:00
Vincent Povirk
136d9e8c18
gdiplus: Implement metafile playback for ScaleWorldTransform.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 16:43:07 -05:00
Vincent Povirk
271c2bd62c
gdiplus: Implement metafile recording for ScaleWorldTransform.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 16:43:05 -05:00
Nikolay Sivov
668fe2030d
gdiplus: Fix its vs it's typos.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 11:13:49 -05:00
Vincent Povirk
da31ddb797
gdiplus: Account for GDI+ drawing operations in the metafile frame.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-03 10:22:35 +09:00
Vincent Povirk
0f3db73628
gdiplus: Implement playback of Clear operations.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-03 10:22:30 +09:00
Vincent Povirk
5c6247f7e2
gdiplus: Implement writing Clear operation to metafiles.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-03 10:22:26 +09:00
Vincent Povirk
10516308a8
gdiplus: Clip metafile drawing to destination points.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-03 10:22:20 +09:00
Vincent Povirk
9df85c48aa
gdiplus: Account for world transform in GdipGraphicsClear.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-03 10:22:14 +09:00
Michael Stefaniuc
9c64ca0d93
gdiplus: Use SetRect() instead of open coding it.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-03 10:16:50 +09:00
Vincent Povirk
bf4a2ba264
gdiplus: Add support for reading png cHRM chunks.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:19 +09:00
Alexandre Julliard
bc44b3f60d
gdiplus: Avoid using PathToRegion with an empty path.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-16 01:21:47 +09:00
Vincent Povirk
7fbf0deede
gdiplus: Implement GdipGetImageAttributesAdjustedPalette.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 12:16:59 +09:00
Michael Stefaniuc
64a1028bfe
gdiplus/tests: Use wine_dbgstr_rect() to print RECTs.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-11 18:10:04 +09:00
Vincent Povirk
be5b270690
gdiplus: Return visible clip bounds in world coordinates.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-07 12:32:21 +09:00
Vincent Povirk
f42ff6feab
gdiplus/tests: Accept empty metafiles having 0 size on Windows.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-07 12:32:21 +09:00
Andrey Gusev
bddba301be
gdiplus: Fix a typo in struct GpAdjustableArrowCap.
...
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-04 13:37:44 +09:00
Nikolay Sivov
b18ecadef7
gdiplus/tests: Fix a font leak (Valgrind).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-01 01:04:37 +09:00
Vincent Povirk
a9e4e3b403
gdiplus: Implement GdipRecordMetafileStream.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 12:58:20 +09:00
Vincent Povirk
4ed1b4f5e8
gdiplus: Allow recording metafiles with a NULL frame.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 12:58:16 +09:00
Vincent Povirk
1e67fcce9d
gdiplus: Add test for creating a metafile with NULL frameRect.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 12:58:10 +09:00
Vincent Povirk
18e65a95a7
gdiplus: Fix bounds of recorded Metafile objects.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 12:58:01 +09:00
Louis Lenders
2d6daeb8ea
gdiplus/tests: Add test for GdipTransformPath with null-matrix.
...
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 12:44:16 +09:00
Louis Lenders
36fdc6abf1
gdiplus: GdipTransformPath should return Ok if matrix = NULL.
...
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 12:43:56 +09:00
Vincent Povirk
6a6aa3134d
gdiplus: Fix GdipWidenPath transform for non-pixel pens.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-17 13:08:04 +09:00
Vincent Povirk
91352c5aa4
gdiplus/tests: Add test for matrix transform in GdipWidenPath.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-17 13:07:55 +09:00
André Hentschel
1ff3264deb
gdiplus/tests: Use todo_wine_if() in tests.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:39 +09:00
Vincent Povirk
b9e58dd7cc
gdiplus/tests: Add test for GdipWidenPath.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:16:05 +09:00
Alistair Leslie-Hughes
0f94756728
gdiplus: Implement GdipResetPenTransform.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-06 12:23:48 +09:00
Alistair Leslie-Hughes
36c068193d
gdiplus: Implement GdipSetPenTransform.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-06 12:23:39 +09:00
Alistair Leslie-Hughes
b8449062eb
gdiplus: Implement GdipGetPenTransform.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 14:41:05 +09:00
Alistair Leslie-Hughes
a4d95074b9
gdiplus/tests: Add Pen Transform tests.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-26 14:48:50 +09:00
Thomas Faber
9b82368c36
gdiplus/tests: Fix build with MSVC.
...
VC 2010 can't initialize a structure with a structure.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-27 15:38:16 +09:00
Alexandre Julliard
9fb9cb2bb7
gdiplus/tests: Check the correct fallback font when Arial is missing.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-26 00:12:51 +09:00
Vincent Povirk
2dc5685897
gdiplus: Placeable is optional in GdipCreateMetafileFromWmf.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 13:47:56 +09:00
Vincent Povirk
c7bdc88812
gdiplus: Return Ok from GdipSetMetafileDownLevelRasterizationLimit.
...
Until we have a reason to use this value (application asks for it or
we're building the emf part of a dual emf+), there's no need to worry
about this.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 13:47:41 +09:00
Vincent Povirk
592533bd72
gdiplus: Use GdipGetMetafileHeaderFromEmf when opening metafiles.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-01 22:53:54 +09:00
Vincent Povirk
1735a7240e
gdiplus: Use reference device to determine created metafile resolution.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-01 22:53:54 +09:00
Vincent Povirk
233f1c1b88
gdiplus: Add initial GdipGetMetafileHeaderFromEmf implementation.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-01 22:53:53 +09:00
Vincent Povirk
09c16eb5d3
gdiplus/tests: Add tests for metafile headers and image information.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-01 22:53:53 +09:00
Vincent Povirk
198acf7e8c
gdiplus: Skip the EMR_HEADER record when looking for the EMF+ header.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-01 22:53:53 +09:00
Gerald Pfeifer
8f5b50d46b
gdiplus: Avoid shift overflow in get_gif_background_color.
...
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:06 +09:00
Sebastian Lackner
ffa467691d
gdiplus: Use helper function for remaining HeapFree calls.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 10:49:20 +09:00
Sebastian Lackner
1250af4986
gdiplus: Use helper function for HeapReAlloc calls.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 10:49:17 +09:00
Sebastian Lackner
ff1b209be8
gdiplus: Use helper function for HeapAlloc calls.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 10:49:14 +09:00
Sebastian Lackner
2fdccc247e
gdiplus: Use the correct memory allocation function for PropVariants.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 12:45:00 +09:00
Nikolay Sivov
c820139b0f
gdiplus: Added GdipBitmapConvertFormat stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:13 +09:00
Vincent Povirk
f6c104b322
gdiplus/tests: Add a test for CompositingModeSourceCopy.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 12:40:40 +09:00
Michael Stefaniuc
3708d53373
gdiplus/tests: Test the return of GdipImageSelectActiveFrame().
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 01:04:34 +09:00
Alistair Leslie-Hughes
71294e2a11
gdiplus: Add GdipCreateEffect tests.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-11 13:44:59 +09:00
Alistair Leslie-Hughes
e5d478c799
gdiplus: Add GdipCreateEffect stub.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-11 13:44:55 +09:00
Sebastian Lackner
aa70a90c6e
gdiplus: Do not use GdipAlloc and GdipFree in internal functions.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-11 13:44:22 +09:00
Dmitry Timoshkov
50b6b376cb
gdi32: EnumFontFamilies should enumerate substituted fonts only when directly asked for.
2015-07-17 19:29:10 +09:00
Dmitry Timoshkov
f78a6dd15c
gdiplus: Move the burden of supporting GIF encoding to the WIC backend.
2015-07-14 14:41:47 +09:00
Alistair Leslie-Hughes
94f6d069f2
gdiplus: GdipConvertToEmfPlus parameter succ is optional.
2015-07-10 21:44:49 +09:00
Nikolay Sivov
07f8493895
gdiplus: Remove always true condition (Coverity).
2015-07-06 15:13:27 +09:00
Nikolay Sivov
c2ae34c54d
gdiplus: Check GetMetadataFormat() return value (Coverity).
2015-06-29 18:51:02 +09:00
Dmitry Timoshkov
a66d664505
gdiplus: Implement GdipCreateRegionRgnData.
2015-06-15 17:40:43 +09:00
Jacek Caban
39797dcfb2
gdiplus: Added version 1.1 manifest.
2015-06-11 21:06:10 +09:00
Nikolay Sivov
0a15e163db
gdiplus: Implement trivial case of GdipCreateRegionRgnData for empty and infinite regions.
2015-06-10 15:50:44 +09:00
Nikolay Sivov
a5ab896abd
gdiplus: Added GdipImageSetAbort stub.
2015-06-09 18:05:48 +09:00
Vincent Povirk
3c74e465bc
gdiplus: Add support for reading png gAMA chunks.
2015-04-07 15:10:20 +09:00
Vincent Povirk
d4f4c76bc6
gdiplus: Fix leak in png metadata reader.
2015-04-07 15:09:40 +09:00
Andrew Eikum
1d5914b777
gdiplus: Avoid unnecessary pre-multiplied alpha conversions in GdipDrawImagePointsRect.
...
We can avoid doing a pre-multiplied alpha conversion by detecting
whether we need to perform any graphics operations ahead of time.
2015-04-06 12:04:15 +09:00
Michael Stefaniuc
e81ff99c72
gdiplus: The result of a comparison is already a BOOL.
2015-04-01 17:02:34 +09:00
Vincent Povirk
3b51859871
gdiplus: Add support for reading PNG tEXt metadata.
2015-03-27 13:05:17 +09:00
Vincent Povirk
9c579023f0
gdiplus: Fix blend_colors when alpha channel differs.
...
When picking a color halfway between 100% white (0xffffffff) and fully
transparent (0x00000000), the result was 50% opaque 50% grey
(0x80808080) when it should really be 50% opaque white (0x80ffffff).
This had a tendency to create grey fringes on things. The fix is to
weight the non-alpha components based on how much they contribute to
the final alpha value.
2015-03-25 19:46:38 +09:00
Vincent Povirk
6b97abf930
gdiplus: Handle large input rect in GdipMeasureCharacterRanges.
2015-03-24 14:06:13 +09:00
Vincent Povirk
6ee26aca16
gdiplus: Apply page scale to pen thickness.
2015-03-24 14:06:02 +09:00
Sebastian Lackner
2af09b49a8
gdiplus: Add missing returns in initialize_decoder_wic (Coverity).
2015-03-23 16:20:57 +09:00
Vincent Povirk
137128fa50
gdiplus: Fonts in UnitWorld shouldn't be scaled to the page unit.
2015-03-23 16:20:39 +09:00
Vincent Povirk
e9d9ef591b
gdiplus: GdipGetDC doesn't set the alpha channel for a 32-bit dib.
2015-03-19 14:07:41 +09:00
Vincent Povirk
2827a1a460
gdiplus: Fix leak in test in todo_wine case.
2015-03-19 14:05:35 +09:00
Vincent Povirk
0bec10bc3d
gdiplus: Access bitmaps by row in alpha_blend_bmp_pixels.
2015-03-18 19:38:10 +09:00
Vincent Povirk
08c1e6cd96
gdiplus: Do not access Bitmap bits when drawing transparent pixels.
2015-03-18 19:38:07 +09:00
Piotr Caban
59eef10f34
gdiplus: Fixed palette flags setting.
2015-03-16 15:03:21 +09:00
Piotr Caban
3ece08ff4d
gdiplus: Add pixel format test for transparent non-animated gif.
2015-03-13 21:52:53 +09:00
Piotr Caban
a3822f973e
gdiplus/tests: Add gif frames composition tests.
2015-03-13 21:52:49 +09:00
Piotr Caban
821932dab9
gdiplus: Fix animated gif frames composition.
2015-03-13 21:52:48 +09:00
Piotr Caban
799362a0b7
gdiplus: Convert animated gif to PixelFormat32bppARGB on load.
2015-03-13 21:52:46 +09:00
Piotr Caban
b3a9c698e8
gdiplus: Don't store stream reference in GpImage, it's done by IWICBitmapDecoder.
2015-03-13 21:52:45 +09:00
Piotr Caban
a181997855
gdiplus: Don't create new instance of IWICBitmapDecoder to encode every frame of animation.
2015-03-13 21:52:40 +09:00
Piotr Caban
4c6427d080
gdiplus: Don't use CoCreateInstance in encode_image_wic.
2015-03-06 20:31:44 +09:00
Piotr Caban
afe3422849
gdiplus: Don't use CoCreateInstance in get_palette function.
2015-03-06 20:31:42 +09:00
Piotr Caban
b03c60d85c
gdiplus: Don't use CoCreateInstance in decode_image_wic.
2015-03-06 20:31:40 +09:00
Changhui Liu
5fa7402a36
gdiplus: Fix get_graphics_bounds when window origin point changed.
2015-01-19 18:47:47 +01:00
Michael Stefaniuc
0c91032f3a
gdiplus/tests: Actually test a GdipCreateFromHDC call (PVS-Studio).
2015-01-16 16:52:52 +01:00
André Hentschel
e63b0a0a45
gdiplus/tests: Fix compiler warnings with flag -Wunused-macros.
2014-12-11 11:55:56 +01:00
André Hentschel
1d0ff2ded3
gdiplus: Fix compiler warnings with flag -Wunused-macros.
2014-12-10 13:31:11 +01:00
Vincent Povirk
4361cbabd7
gdiplus: Fix error when drawing from a rectangle outside bitmap bounds.
2014-10-30 11:59:59 +09:00
Huw Davies
6df5ce7c9e
gdiplus: Blend in the background colour.
2014-10-29 20:31:01 +09:00
André Hentschel
f1ed09fdd9
gdiplus: Adjust identical conditions (PVS-Studio).
2014-10-28 14:05:08 +09:00
Vincent Povirk
3fc386fc86
gdiplus: Process a row instead of a column in inner conversion loop.
2014-09-22 19:10:46 +02:00
Vincent Povirk
57f1d4489f
gdiplus: Use integer math to apply color matrices.
2014-09-18 16:28:17 +02:00
Vincent Povirk
76a96b70f7
gdiplus: Skip resampling when drawing a bitmap with no scaling/rotation.
2014-09-18 16:28:06 +02:00
Gerald Pfeifer
42afdebc43
gdiplus: Remove three unused constants.
2014-08-25 20:40:16 +02:00
Qian Hong
deb1f047a7
gdiplus: Set outer pointer to NULL when image loading functions fail.
2014-07-11 16:59:38 +02:00
Vincent Povirk
60f558876e
gdiplus: Account for transforms when calculating hdc bounds.
2014-07-09 21:16:35 +02:00
Vincent Povirk
efc1d791a3
gdiplus/tests: Fix image leak in graphics test.
2014-04-30 09:33:55 +02:00
Nikolay Sivov
e9633ef220
gdiplus: Simplify GdipResetImageAttributes(), fix remap table leak (Valgrind).
2014-04-25 14:03:33 +02:00
Nikolay Sivov
d68dde3751
gdiplus/tests: Fix some leaks when running with Wine (Valgrind).
2014-04-25 14:03:31 +02:00
Nikolay Sivov
62502d0670
gdiplus: Properly delete a DC.
2014-04-21 10:40:09 +02:00
Vincent Povirk
4def66c11c
gdiplus: Prevent NULL StringFormat in gdip_format_string.
2014-04-14 20:19:01 +02:00
Nikolay Sivov
d78a0612ed
gdiplus: Fix image attributes leak (Coverity).
2014-03-27 12:06:03 +01:00
Vincent Povirk
500a96d079
gdiplus: Copy palettes with bitmaps.
2014-03-25 10:56:17 +01:00
Vincent Povirk
392d3b657a
gdiplus: Remove a useless comparison.
2014-03-25 10:56:09 +01:00
Vincent Povirk
526143cb05
gdiplus: Limit image output to the bounds of the Graphics object.
2014-03-25 10:56:04 +01:00
Frédéric Delanoy
73288e1100
gdiplus: Use BOOL type where appropriate.
2014-03-18 11:39:13 +01:00
Vincent Povirk
9a5375989d
gdiplus: Fix an overzealous optimization.
2014-03-14 11:31:19 +01:00
Vincent Povirk
06555a96ad
gdiplus: Account for negative height/width in GdipDrawImagePointsRect.
2014-03-14 11:31:14 +01:00
Dmitry Timoshkov
865b503af8
gdiplus/tests: Mark some GdipGetPropertyItem test results as broken under XP.
2014-03-06 13:36:04 +01:00
Vincent Povirk
78459aea0d
gdiplus: Improve GdipFillRectangles parameter validation.
2014-02-20 11:18:24 +01:00
André Hentschel
374b449fdd
gdiplus/tests: Remove assertions in graphics tests.
2014-02-12 19:15:05 +01:00
Francois Gouget
d371225ec2
gdiplus: Make METAFILE_GetEmfType() static.
2014-01-30 15:00:25 +01:00
Vincent Povirk
2d487e22d6
gdiplus: Move metafile functions to metafile.c.
2014-01-29 12:38:46 +01:00
Vincent Povirk
6332297bf5
gdiplus: Add option to save metafile tests to files.
2014-01-27 14:13:32 +01:00
Vincent Povirk
3f8864ea82
gdiplus: Add test for page transform in metafiles.
2014-01-27 14:13:30 +01:00
Vincent Povirk
7c12d889d4
gdiplus: Implement SetPageTransform playback.
2014-01-17 11:00:30 +01:00
Vincent Povirk
6518edfa5f
gdiplus: Implement writing SetPageTransform records.
2014-01-17 11:00:28 +01:00
Vincent Povirk
55ad831598
gdiplus: Fix recording metafile bounds/dpi reporting.
2014-01-17 11:00:24 +01:00
Vincent Povirk
51b873b3ca
gdiplus: Mark the Graphics object as busy before freeing it.
2014-01-06 16:02:40 +01:00
Alexandre Julliard
99ef0d6ff0
makefiles: Get rid of the MAKE_TEST_RULES variable.
2014-01-02 12:13:16 +01:00
Alexandre Julliard
5e7416e5c8
makefiles: Get rid of the MAKE_DLL_RULES variable.
2014-01-02 12:08:18 +01:00
Marcus Meissner
ba8cacebf3
gdiplus: Free the correct pointer (Coverity).
2014-01-01 19:59:30 +01:00
Vincent Povirk
68b60c0ddd
gdiplus: Add metafile test for FillRectangles.
2013-11-25 15:15:52 +01:00
Vincent Povirk
681cd545ea
gdiplus: Set world transform when drawing metafiles.
2013-11-25 15:15:52 +01:00
Vincent Povirk
fc560b2121
gdiplus: Implement FillRects record playback.
2013-11-25 15:15:52 +01:00
Vincent Povirk
c491d52821
gdiplus: Write FillRects records to metafiles.
2013-11-25 15:15:52 +01:00
Vincent Povirk
8babdc860a
gdiplus: Forward GdipFillRectangle to GdipFillRectangles.
2013-11-25 15:15:52 +01:00
Vincent Povirk
fbcbd09bb3
gdiplus: Fix StringFormatFlagsLineLimit handling.
2013-11-20 11:25:04 +01:00
Frédéric Delanoy
4cc3705f66
gdiplus: Use BOOL type where appropriate.
2013-11-19 18:47:18 +01:00
Vincent Povirk
1202e9af56
gdiplus: Allow excluding from infinite regions.
2013-11-18 11:15:12 +01:00
Dmitry Timoshkov
dd545c3e37
gdiplus: Use GdipFree instead of HeapFree to free memory allocated with GdipAlloc.
2013-11-15 12:01:20 +01:00
Dmitry Timoshkov
4bca12c0db
gdiplus: Slightly simplify write_path_types.
2013-11-15 12:01:16 +01:00
Dmitry Timoshkov
c9f8f41d18
gdiplus/tests: Add a test for bezier data returned by GdipGetRegionData.
2013-11-14 10:37:00 +01:00
Dmitry Timoshkov
4b256191a0
gdiplus/tests: Reset the buffer contents before each GdipGetRegionData test and check the tail of the returned data.
2013-11-14 10:36:58 +01:00
Dmitry Timoshkov
c11476aeb8
gdiplus/tests: Convert expect_float() to macro to make failure messages print correct line numbers.
2013-11-14 10:36:57 +01:00
Dmitry Timoshkov
56a6500721
gdiplus: Check whether region path points really fit into shorts.
2013-11-13 11:27:24 +01:00
Dmitry Timoshkov
761391f156
gdiplus: Add a check for passed buffer size to GdipGetRegionData.
2013-11-13 11:26:24 +01:00
Dmitry Timoshkov
8dc170e2ca
gdiplus/tests: Test GdipGetRegionData behaviour with an integer path that can't be stored as an array of shorts.
2013-11-13 11:26:20 +01:00
Dmitry Timoshkov
619e968314
gdiplus/tests: Add some invalid parameter tests for GdipGetRegionData.
2013-11-13 11:26:14 +01:00
Frédéric Delanoy
1787509111
gdiplus/tests: Use BOOL type where appropriate.
2013-11-13 11:22:01 +01:00
Dmitry Timoshkov
f5d807b7d7
gdiplus: Get rid of no longer needed path and region fields.
2013-11-12 14:14:46 +01:00
Dmitry Timoshkov
b0da542210
gdiplus: Determine type of the path at the time the region data are written instead of the path creation time.
2013-11-12 14:14:17 +01:00
Dmitry Timoshkov
2bbd179ea4
gdiplus: Add test for data returned by GdipGetRegionData for a translated integer region.
2013-11-08 16:29:43 +01:00
Dmitry Timoshkov
108a633677
gdiplus: Use flags 0 for an empty path in region to follow Windows7+ behaviour.
2013-11-08 16:29:43 +01:00
Dmitry Timoshkov
9797afd003
gdiplus/tests: Fix the test for flags of an empty region.
2013-11-08 16:29:43 +01:00
Dmitry Timoshkov
7dfbadec67
gdiplus/tests: Clean up the use of macros in the region tests.
2013-11-08 16:29:43 +01:00
Dmitry Timoshkov
394d4b07e6
gdiplus: Avoid not necessary memory allocations in GdipCreateRegionPath.
2013-11-08 16:29:43 +01:00
Dmitry Timoshkov
f204aab17f
gdiplus: Use same rounding formula that is used to decide whether a path should be stored as an array integers.
2013-11-08 16:29:43 +01:00
Dmitry Timoshkov
e7f6d77919
gdiplus: Implement GdipPrivateAddFontFile.
2013-11-06 12:01:55 +01:00
Dmitry Timoshkov
6278f5ffdc
gdiplus/tests: Add more checks to the GdipGetPathData test.
2013-11-06 12:01:55 +01:00
Dmitry Timoshkov
d4db49efc2
gdiplus/tests: Use trace instead of printf.
2013-11-06 12:01:55 +01:00
Vincent Povirk
feef61743d
gdiplus: Use clip region in GdipFillPath.
2013-10-31 09:46:36 +01:00
Vincent Povirk
08b650202c
gdiplus: Use clip region in GdipDrawPath.
2013-10-31 09:46:29 +01:00
Vincent Povirk
2dbd0e1694
gdiplus: Implement remaining dash styles in GdipWidenPath.
2013-10-24 10:46:23 +02:00