Commit Graph

1995 Commits

Author SHA1 Message Date
Piotr Caban b58276af4d gdiplus: Reimplement GdipCreateHBITMAPFromBitmap so it can work on locked bitmaps.
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-02-16 08:30:47 +01:00
Piotr Caban 5673d82b8e gdiplus: GpBitmap can be only locked once, get rid of numlocks field.
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-02-16 08:30:46 +01:00
Piotr Caban 0eaaa15144 gdiplus: Make GpBitmap->bitmapbits access thread safe.
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-02-16 08:30:40 +01:00
Nikolay Sivov 4e685ebb9b gdiplus: Added GdipGetCustomLineCapType().
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-02-03 19:05:13 +01:00
André Hentschel 36bb9d905a gdiplus: Fix some spec file entries.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 22:31:00 +01:00
Francois Gouget f870708c66 gdiplus: Make some GdipDraw*Path() functions static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-09 21:29:55 +01:00
Alex Henrie 046fc19cd1 gdiplus: Fix memory leak in format_string_callback error path.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-03 20:07:51 +01:00
Nikolay Sivov 134cb70fed gdiplus/tests: Test for initial properties of adjustable arrow caps.
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-12-19 19:08:19 +01:00
Vincent Povirk 50185949d8 gdiplus: Create the FontFamily before checking for duplicates.
Sometimes GdipCreateFontFamilyFromName stores a different name in the
GpFontFamily object, which breaks the duplicate check.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-02 11:43:03 +01:00
Vincent Povirk 0d6a4b06f9 gdiplus: Don't include rotated fonts in the installed font collection.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-02 11:42:57 +01:00
Nikolay Sivov 8e8c991cd7 gdiplus/tests: A couple more GdipSetPenCompoundArray() tests.
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-11-29 17:56:26 +01:00
Nikolay Sivov 919d9facea gdiplus/tests: Some tests for GdipGetPenCompoundCount().
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-11-29 17:56:24 +01:00
Nikolay Sivov f7187ecbd6 gdiplus: Use static data for identity check in GdipIsMatrixIdentity().
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-11-04 18:42:45 +01:00
Nikolay Sivov da2021e46f gdiplus: Return success from GdipImageSetAbort().
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-11-04 18:42:39 +01:00
Nikolay Sivov 509ba80bcb gdiplus: Implement GdipBitmapGetHistogram().
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-11-03 11:43:02 +01:00
Nikolay Sivov 8de0275e48 resend patch 1/2: Gdiplus: Implement GdipBitmapGetHistogramSize.
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-11-03 11:42:50 +01:00
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
Vincent Povirk 1c35dd6cb4 gdiplus: Implement GdipWidenPath for custom dashed lines. 2013-10-24 10:46:15 +02:00
Dmitry Timoshkov b528e01d85 gdiplus: Reimplement GdipCloneImage using GdipCloneBitmapArea for a bitmap. 2013-10-18 16:56:56 +02:00
Dmitry Timoshkov df367c3399 gdiplus: Reimplement GdipCloneBitmapArea without using GdipBitmapLockBits. 2013-10-18 16:56:56 +02:00
Dmitry Timoshkov 4e14c45b8b gdiplus/tests: Add a test for GdipCloneBitmapArea called on an already locked bitmap. 2013-10-17 10:47:09 +02:00
Dmitry Timoshkov 1c8d4aaa4b gdiplus/tests: Fix tests compilation with __WINESRC__ defined. 2013-10-16 11:41:20 +02:00
Vincent Povirk b14a4ca006 gdiplus: Properly set the gdi+ format to match the wic encoder's format. 2013-10-07 13:32:06 +02:00
Frédéric Delanoy 70bc6d5f78 gdiplus: Use BOOL type where appropriate. 2013-10-03 12:54:40 +02:00
Michael Stefaniuc 0e681027a2 tests: Compile the tests by default with -D__WINESRC__. 2013-10-02 11:04:02 +02:00
Dmitry Timoshkov ec9a0d8570 gdiplus: GdipTransformRegion should not fail for an empty path. 2013-09-24 12:56:22 +02:00
Dmitry Timoshkov 3870e5b255 gdiplus/tests: Add a test for GdipTransformRegion with an empty region path. 2013-09-24 12:56:15 +02:00
Dmitry Timoshkov 108873320c gdiplus/tests: Don't bother to delete a NULL hrgn. 2013-09-24 12:56:11 +02:00
Dmitry Timoshkov fdeab06142 gdiplus/tests: Print actual rectangle extents if the tests fail. 2013-09-24 12:56:05 +02:00
Dmitry Timoshkov 603ccca889 gdiplus/tests: Add a test for GdipTransformMatrixPoints with number of points == 0. 2013-09-24 12:55:51 +02:00
Vincent Povirk 12586f76e3 gdiplus: Always provide image data in the format requested by image encoders. 2013-09-23 21:31:18 +02:00
Vincent Povirk 85b989c1fa gdiplus: Don't expand the drawing area to include empty glyphs. 2013-09-23 21:31:07 +02:00
Vincent Povirk ce9de5c4bb gdiplus: Skip drawing lines of text with only empty glyphs. 2013-09-23 21:31:00 +02:00
Akihiro Sagawa e29e4caca3 gdiplus: Fix empty glyph handling. 2013-09-23 20:32:27 +02:00
Michael Stefaniuc 9fefae61da gdiplus: Avoid using CONST. 2013-09-23 11:54:47 +02:00
Vincent Povirk 2c3142f0ee gdiplus: Copy custom dashes in GdipClonePen. 2013-08-15 16:25:08 +02:00
Vincent Povirk dc047ecdaa gdiplus: Add error checking to GdipClonePen. 2013-08-15 16:25:03 +02:00
Vincent Povirk 814f9cf7e4 gdiplus: Only clip strings if rectangle width and height are positive. 2013-08-15 16:24:45 +02:00
Dmitry Timoshkov f575eb494b gdiplus: Reimplement GdipSetClipRect to avoid potential problems with rotating world transform. 2013-07-30 20:51:54 +02:00
Dmitry Timoshkov cdc3e820cd gdiplus: Fix clipping region bounds calculation with rotating transform. 2013-07-30 20:51:52 +02:00
Dmitry Timoshkov 249bf0eb63 gdiplus/tests: Add clipping region tests with rotating world transform. 2013-07-30 20:51:47 +02:00
Marcus Meissner 716f115293 gdiplus/tests: Check return code of GdipGetClipBounds (Coverity). 2013-07-22 17:16:04 +02:00
Dmitry Timoshkov 14f34c15d1 gdiplus: Store graphics clipping region in device coordinates. 2013-07-19 11:58:23 +02:00
Dmitry Timoshkov c8ebd4ade0 gdiplus/tests: Test how device to world transform correlates with clipping region bounding rectangle. 2013-07-19 11:57:56 +02:00
Dmitry Timoshkov 73f7b857b3 Revert "gdiplus: Ignore gdiplus page and world transformations when creating a gdi32 clipping region.".
This reverts commit 61dafbb701.
2013-07-12 12:14:59 +02:00
Dmitry Timoshkov ffd207850c gdiplus/tests: Add another set of clipping region tests. 2013-07-12 12:14:58 +02:00
Dmitry Timoshkov 964778fda5 gdiplus/tests: Add tests for a sample 100x100 rectangle region. 2013-07-10 11:00:00 +02:00
Dmitry Timoshkov ccdc41d8c4 gdiplus: Add more clipping region tests. 2013-07-09 22:21:58 +02:00
Piotr Caban f37027a947 gdiplus: Add support for more string formats while getting font name. 2013-07-08 15:15:43 +02:00
Dmitry Timoshkov e1572f9cd1 gdiplus/tests: Add GdipGetClipBounds tests. 2013-07-08 15:15:40 +02:00
Dmitry Timoshkov 84ef3d484c gdiplus: get_font_hfont() should ask gdi32 to match font height against the character height instead of cell height. 2013-06-19 19:18:39 +02:00
Vincent Povirk e21af554b5 gdiplus: Add test for measuring a single line that exactly fits. 2013-05-31 12:00:16 +02:00
Andrew Eikum 2b8b64f9ab gdiplus: Implement GdipResetImageAttributes. 2013-05-22 19:32:44 +02:00
Alexandre Julliard 1731ee55b6 gdiplus: Don't bother to free memory at process exit. 2013-05-15 10:19:18 +02:00
Dmitry Timoshkov 4c4c661bc0 gdiplus: Implement GdipEnumerateMetafileDestPoint and GdipEnumerateMetafileDestPointI. 2013-05-06 15:55:22 +02:00
Dmitry Timoshkov 69d74ece53 gdiplus: Implement GdipEnumerateMetafileDestRect and GdipEnumerateMetafileDestRectI. 2013-05-06 15:55:21 +02:00
Detlef Riekenberg fa5d091051 gdiplus/tests: Add tests for GdipSetCustomLineCapWidthScale. 2013-04-18 11:41:53 +02:00
Detlef Riekenberg da7fe7ab55 gdiplus: Implement GdipSetCustomLineCapWidthScale. 2013-04-18 11:41:50 +02:00
Victor Martinez e891fe4b8e gdiplus: Fix returned rect in GdiGetRegionBoundsI. 2013-04-03 11:33:01 +02:00
Dmitry Timoshkov 6ab04040e5 gdiplus: GdipMeasureCharacterRanges should treat empty layout extents as infinite when StringFormatFlagsNoClip is specified.
Unlike GdipMeasureString which always treats empty layout extents as infinite.
2013-03-15 11:43:24 +01:00
Dmitry Timoshkov db746fe897 gdiplus: GdipMeasureCharacterRanges shouldn't add margins to string bounds. 2013-03-15 11:43:13 +01:00
Dmitry Timoshkov 4b19b618f5 gdiplus: Add more GdipMeasureString/GdipMeasureCharacterRanges clipping and alignment tests. 2013-03-14 12:03:45 +01:00
Dmitry Timoshkov 61dafbb701 gdiplus: Ignore gdiplus page and world transformations when creating a gdi32 clipping region. 2013-03-13 11:30:11 +01:00
Vincent Povirk a424968482 gdiplus: Correct EMF record size calculation. 2013-03-13 11:29:17 +01:00
Vincent Povirk 6214e5b92c gdiplus: Also get a DC for drawing WMF images. 2013-03-13 11:29:10 +01:00
Dmitry Timoshkov 2cca510a5b gdiplus: Protect from mixing BrushTypeLinearGradient and BrushTypePathGradient. 2013-03-11 10:46:33 +01:00
Dmitry Timoshkov 65bd8f2b26 gdiplus: Print a passed in rectangle in GdipCombineRegionRect. 2013-03-11 10:46:06 +01:00
Vincent Povirk 636e60b6e0 gdiplus: Fix GdipCreateBitmapFromGraphics implementation. 2013-03-11 10:42:40 +01:00
Francois Gouget 06489c6501 gdiplus/tests: Skip the tests if unable to load the TIFF image.
On Windows XP most versions of gdiplus (i.e. older than 5.2) do not support TIFF.
2013-03-04 17:32:02 +01:00
Dmitry Timoshkov 464b8b4160 gdiplus: Add some tests for string format alignment. 2013-03-04 11:19:20 +01:00
Dmitry Timoshkov 9fb88c7999 gdiplus: GdipDrawString should not clip the string if StringFormatFlagsNoClip is specified. 2013-03-04 11:19:18 +01:00
Dmitry Timoshkov 737790603c Revert "gdiplus: Add support for StringFormatFlagsNoClip.".
This reverts commit bfa35f37a7.
This patch breaks string alignment.
2013-03-04 11:19:16 +01:00
Vincent Povirk 7b004c1714 gdiplus: Store the image type on a Graphics object in case the image is freed. 2013-03-04 11:15:38 +01:00
Dmitry Timoshkov 1896e5575e gdiplus: If a device doesn't support AlphaBlend don't convert image to PARGB. 2013-02-25 10:40:37 +01:00
Dmitry Timoshkov d23bfd8dfc gdiplus: Round up when converting from 32-bit ARGB to PARGB. 2013-02-25 10:40:36 +01:00
Dmitry Timoshkov ada3aea736 gdiplus: Add some tests for ARGB conversions. 2013-02-25 10:40:36 +01:00
Dmitry Timoshkov c5e129a7e4 gdiplus: Remove debug traces from GdipBitmapGetPixel and GdipBitmapSetPixel. 2013-02-22 17:36:21 +01:00
Dmitry Timoshkov 668cfb1c5a gdiplus: Correct the GdipDrawString .spec entry. 2013-02-21 08:32:44 +01:00
Dmitry Timoshkov 42a5943598 gdiplus: Use an off-screen DC to trace a path. 2013-02-20 18:21:25 +01:00
Dmitry Timoshkov 0553eba08f gdiplus: Use an off-screen DC as an image surface. 2013-02-20 18:21:22 +01:00
Dmitry Timoshkov 97b92fe12c gdiplus: Use an off-screen DC for font enumeration. 2013-02-20 18:21:18 +01:00
Dmitry Timoshkov 6b474b555e gdiplus: Reimplement GdipFillRectangles using GdipFillPath. 2013-02-19 10:42:45 +01:00
Dmitry Timoshkov bb16c926b4 gdiplus: Slightly simplify GdipFillClosedCurve2 implementation. 2013-02-19 10:42:36 +01:00
Dmitry Timoshkov 338958287a gdiplus: Reimplement GdipDrawRectangles using GdipDrawPath. 2013-02-19 10:42:32 +01:00
Dmitry Timoshkov 1223569d64 gdiplus: Reimplement GdipDrawRectangle using GdipDrawPath. 2013-02-19 10:42:29 +01:00
Dmitry Timoshkov 981223a736 gdiplus: Reimplement GdipDrawPie using GdipDrawPath. 2013-02-19 10:42:24 +01:00
Dmitry Timoshkov 6df50f1d16 gdiplus: Reimplement GdipDrawEllipse using GdipDrawPath. 2013-02-19 10:42:16 +01:00
Dmitry Timoshkov ad49f83c7d gdiplus: Forward GdipDrawBezier to GdipDrawBeziers. 2013-02-19 10:42:10 +01:00
Dmitry Timoshkov ae8826c43e gdiplus: Reimplement GdipDrawBeziers using GdipDrawPath. 2013-02-19 10:42:03 +01:00
Dmitry Timoshkov 89f380f69b gdiplus: Reimplement GdipDrawArc using GdipDrawPath. 2013-02-19 10:41:46 +01:00
Dmitry Timoshkov 2fd1bf60ae gdiplus: Reimplement GdipDrawLines using GdipDrawPath. 2013-02-19 10:41:37 +01:00
Dmitry Timoshkov 03228b1784 gdiplus: Reimplement GdipDrawCurve2 using GdipDrawPath. 2013-02-19 10:41:18 +01:00
Dmitry Timoshkov 4233b82872 gdiplus: Slightly simplify GdipDrawClosedCurve2 implementation. 2013-02-19 10:41:01 +01:00
Dmitry Timoshkov cc54d1eb68 gdiplus: Forward GdipDrawBezierI to GdipDrawBezier. 2013-02-19 10:40:43 +01:00
Dmitry Timoshkov f817fb56e8 gdiplus: Avoid a crash in GdipDrawImagePointRect. 2013-02-18 15:06:17 +01:00
Dmitry Timoshkov 22a7458a3f gdiplus: Avoid a devision by zero when a being added segment length is 0.
This sometimes happens after GdipAddPathLine + GdipWidenPath.
2013-02-18 14:51:04 +01:00
Dmitry Timoshkov 8ec2354b32 gdiplus: Forward GdipDrawLinesI to GdipDrawLines. 2013-02-18 10:36:18 +01:00
Dmitry Timoshkov 7cccd36c9a gdiplus: Forward GdipDrawLineI to GdipDrawLine. 2013-02-18 10:36:11 +01:00
Dmitry Timoshkov 0ed65a2d3a gdiplus: Forward GdipDrawLine to GdipDrawLines. 2013-02-18 10:36:01 +01:00
Dmitry Timoshkov 35fc9c12dc gdiplus: Avoid not necessary memory allocation for BITMAPINFO. 2013-01-30 12:43:24 +01:00
Andrew Talbot 32d070afb0 gdiplus: Avoid signed-unsigned integer comparisons. 2013-01-24 10:49:34 +01:00