Commit Graph

116 Commits

Author SHA1 Message Date
Michael Stefaniuc 50032f4e14 gdiplus: Remove useless casts to self.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:30 +01:00
Vincent Povirk e2f37558a7 gdiplus: Add support for reading nested metafiles.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-25 12:28:27 +01:00
Nikolay Sivov 8463159344 gdiplus: Use ARRAY_SIZE() macro.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 23:51:27 +02:00
Nikolay Sivov 394e15e39c gdiplus/metafile: Support linear gradient brushes in playback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 20:21:29 +01:00
Nikolay Sivov baba9a8e48 gdiplus/metafile: Implement playback for EmfPlusRecordTypeSetCompositingMode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-07 21:24:45 +01:00
Nikolay Sivov 784fe04994 gdiplus/metafile: Implement playback for EmfPlusRecordTypeFillClosedCurve.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-07 21:24:45 +01:00
Nikolay Sivov 3186df2b02 gdiplus/metafile: Implement playback for EmfPlusRecordTypeDrawEllipse.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-06 19:54:25 +01:00
Nikolay Sivov 2f2cbd4150 gdiplus/metafile: Implement playback for EmfPlusRecordTypeDrawArc.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-06 19:54:22 +01:00
Nikolay Sivov fd8185132e gdiplus/metafile: Add brush object if needed in FillRectangles().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-03 23:44:52 +01:00
Nikolay Sivov 9c47baa3fc gdiplus/metafile: Implement playback for EmfPlusRecordTypeFillPie.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-03 23:44:52 +01:00
Nikolay Sivov f75b57ad81 gdiplus/metafile: Implement playback for EmfPlusRecordTypeFillEllipse.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-03 23:44:52 +01:00
Nikolay Sivov e934c4c06f gdiplus/metafile: Implement playback for EmfPlusRecordTypeDrawRects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-03 23:44:52 +01:00
Nikolay Sivov 6931e629cd gdiplus/metafile: Implement EmfPlusRecordTypeDrawPie playback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-03 23:44:52 +01:00
Nikolay Sivov 5787727f9e gdiplus/metafile: Implement playback for EmfPlusRecordTypeDrawImage.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 19:12:08 +01:00
Nikolay Sivov f25f0fa2ac gdiplus/metafile: Support hatch brushes for recording.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 19:12:08 +01:00
Nikolay Sivov 905bd23b2e gdiplus/metafile: Support texture brushes playback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 19:12:08 +01:00
Nikolay Sivov 6d0ca495b8 gdiplus/metafile: Support hatch brushes in playback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 19:12:07 +01:00
Nikolay Sivov 0625b33834 gdiplus/metafile: Simplify EmfPlusARGB definition.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 19:12:07 +01:00
Andrey Gusev ef5a3ffe51 gdiplus: Fix misplaced parentheses.
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>
2017-10-24 19:09:29 +02:00
Nikolay Sivov d0f2361170 gdiplus/metafile: Implement EmfPlusRecordTypeSetClipPath playback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 21:08:28 +02:00
Nikolay Sivov bf9305f635 gdiplus/metafile: Implement EmfPlusRecordTypeSetClipRegion playback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 21:08:28 +02:00
Nikolay Sivov aef2f0799f gdiplus/metafile: Implement EmfPlusRegion deserialization.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-20 19:00:41 +02:00
Nikolay Sivov 363d24d458 gdiplus/metafile: Implement playback for EmfPlusRecordTypeDrawPath records.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-20 19:00:38 +02:00
Nikolay Sivov 9f45ef729c gdiplus/metafile: Partially implement EmfPlusPen support for playback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-20 19:00:35 +02:00
Nikolay Sivov 7b99fe6f09 gdiplus/metafile: Added support for EmfPlusFont objects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-18 09:44:14 +02:00
Nikolay Sivov b203b76190 gdiplus/metafile: Validate data size when playing back EmfPlusClear.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-18 09:44:12 +02:00
Nikolay Sivov 57ca6b90bb gdiplus/metafile: Support serialized brushes in EmfPlusFillRects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-16 21:00:14 +02:00
Nikolay Sivov 6cde9952f2 gdiplus/metafile: Implement playback for EmfPlusRecordTypeFillPath.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-16 21:00:12 +02:00
Nikolay Sivov 2a2f61dfe9 gdiplus/metafile: Partially implement EmfPlusPath deserialization.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-16 21:00:10 +02:00
Nikolay Sivov 440efc8244 gdiplus/metafile: Implement EmfPlusRecordTypeDrawImagePoints record playback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-16 21:00:08 +02:00
Nikolay Sivov 81459d6526 gdiplus/metafile: Implement EmfPlusImage deserialization for bitmaps.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-16 21:00:05 +02:00
Nikolay Sivov ce315b9f86 gdiplus/metafile: Support solid brushes in EmfPlusRecordTypeObject record playback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-14 01:04:33 +02:00
Nikolay Sivov 825f393299 gdiplus/metafile: Implement EmfPlusRecordTypeObject for image attributes object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-12 19:40:48 +02:00
Nikolay Sivov 4b028bb09c gdiplus/metafile: Support playback for EmfPlusRecordTypeSetAntiAliasMode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-11 20:33:23 +02:00
Nikolay Sivov 6010b52a2e gdiplus/metafile: Support playback for EmfPlusRecordTypeSetTextRenderingHint.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-11 20:31:20 +02:00
Nikolay Sivov 30ba465786 gdiplus/metafile: Fix flags handling for EMF+ property records.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-11 20:31:13 +02:00
Nikolay Sivov 071d7c3fbe gdiplus: Implement playback for EmfPlusRecordTypeSetInterpolationMode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 18:26:52 +02:00
Nikolay Sivov 024750b182 gdiplus: Implement playback for EmfPlusRecordTypeSetCompositingQuality.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 18:26:51 +02:00
Nikolay Sivov 10a80b8c1b gdiplus: Implement playback for EmfPlusRecordTypeSetPixelOffsetMode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 18:26:49 +02:00
Andrew Eikum 7860d11e6c gdiplus: Don't call PlayEnhMetaFileRecord for records handled by gdiplus.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-25 18:30:16 +02:00
Andrew Eikum a4ab858a96 gdiplus: GdipCreateMetafileFromWmfFile will also load EMFs.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-18 08:07:56 +09:00
Piotr Caban 14bb8df8a5 gdiplus: Support GdipSetClipRegion in metafiles.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-12 11:14:44 +09:00
Piotr Caban 2176348998 gdiplus: Return success saving path to metafile.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 20:05:40 +02:00
Piotr Caban 70afb4ecd0 gdiplus: Fix saving pen dashed line cap style to metafile.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 20:05:38 +02:00
Piotr Caban a892b68016 gdiplus: Add write_path_data helper to create EMF+ path object.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-19 20:53:37 +02:00
Piotr Caban a8b5fdda32 gdiplus: Use VERSION_MAGIC2 constant in metafiles functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:28:47 +02:00
Piotr Caban 8498aa3dfa gdiplus: Add support for creating image object containing metafile.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:28:22 +02:00
Piotr Caban de37cedb70 gdiplus: Add partial support for GdipFillPath on metafiles.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 21:04:25 +02:00
Piotr Caban e79c4caf14 gdiplus: Add partial support for GdipDrawPath on metafiles.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 21:04:23 +02:00
Piotr Caban 7d6896efee gdiplus: Add helper for saving pens to metafile.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 21:04:21 +02:00