Commit Graph

188 Commits

Author SHA1 Message Date
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 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
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 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 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
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
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
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
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 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
Nikolay Sivov 0a15e163db gdiplus: Implement trivial case of GdipCreateRegionRgnData for empty and infinite regions. 2015-06-10 15:50:44 +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
Piotr Caban 821932dab9 gdiplus: Fix animated gif frames composition. 2015-03-13 21:52:48 +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
Vincent Povirk 2d487e22d6 gdiplus: Move metafile functions to metafile.c. 2014-01-29 12:38:46 +01:00
Vincent Povirk 6518edfa5f gdiplus: Implement writing SetPageTransform records. 2014-01-17 11:00:28 +01:00
Vincent Povirk 681cd545ea gdiplus: Set world transform when drawing metafiles. 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
Dmitry Timoshkov f5d807b7d7 gdiplus: Get rid of no longer needed path and region fields. 2013-11-12 14:14:46 +01:00
Michael Stefaniuc 9fefae61da gdiplus: Avoid using CONST. 2013-09-23 11:54:47 +02:00
Dmitry Timoshkov 14f34c15d1 gdiplus: Store graphics clipping region in device coordinates. 2013-07-19 11:58:23 +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
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
Vincent Povirk 81d9ffa041 gdiplus: Always use AlphaBlend to draw to 32-bit DIB's. 2012-12-06 12:59:56 +01:00
Dmitry Timoshkov 39ec8ce67e gdiplus: Store transformation matrix directly in the objects. 2012-11-08 15:37:49 +01:00
Dmitry Timoshkov 0a81a34643 gdiplus: Avoid GdipCloneMatrix calls for the graphics transformation matrix. 2012-11-07 11:58:27 +01:00
Vincent Povirk 91a3e5fc10 gdiplus: Reimplement GdipCreateMetafileFromEmf without using IPicture. 2012-11-01 10:50:45 +01:00
Dmitry Timoshkov 915df87aa5 gdiplus: Add an ability to cache bitmap properties and use distinct metadata loaders for different image formats. 2012-09-21 17:07:09 +02:00
Dmitry Timoshkov b8f4252290 gdiplus: Add support for generic typographic string format. 2012-09-04 17:15:39 +02:00
Dmitry Timoshkov 10c84dfe3b gdiplus: Rename roundr() to gdip_round() to make it clearer that it's an internal helper. 2012-08-21 11:47:11 +02:00
Dmitry Timoshkov 6bb353858e gdiplus: Replace convert_unit() by a clearer units_to_pixels() helper. 2012-08-15 13:53:31 +02:00
Dmitry Timoshkov 889be9d447 gdiplus: get_font_hfont helper should transform returned font height using font and device unit/resolution/scale. 2012-08-14 16:41:56 +02:00
Dmitry Timoshkov e536a128f7 gdiplus: Store device resolution in the graphics object. 2012-07-26 11:07:41 +02:00
Dmitry Timoshkov 9288acda1d gdiplus: GdipGetFontHeight should convert height from font to device units. 2012-07-18 17:17:38 +02:00
Dmitry Timoshkov ed8a3304c4 gdiplus: Factor out units_to_pixels() helper. 2012-07-18 17:17:31 +02:00
Dmitry Timoshkov 87f8e560c2 gdiplus: Pass complete palette info to convert_pixels(). 2012-07-17 13:09:40 +02:00
Dmitry Timoshkov a46c1f780a gdiplus: Use public ColorPalette structure to store image palette. 2012-07-17 13:09:39 +02:00
Dmitry Timoshkov 174b74bab2 gdiplus: Increase refcount of the source stream when loading a bitmap instead of cloning it. 2012-06-28 11:37:03 +02:00
Dmitry Timoshkov b72d236ca8 gdiplus: When loading a bitmap frame save its IWICMetadataReader interface. 2012-06-26 19:40:44 +02:00
Dmitry Timoshkov 9e12bc0175 gdiplus: Create a copy of the source stream when loading an image. 2012-06-19 13:44:07 +02:00
Francois Gouget 15846adef0 gdiplus: Make get_font_hfont() static. 2012-06-12 11:11:32 +02:00
Dmitry Timoshkov 007d642e53 gdiplus: Save total and current frame in the image structure. 2012-05-17 17:44:25 +02:00
Dmitry Timoshkov 5e4d64d18e gdiplus: Create 'const' friendly internal entries for font APIs. 2012-05-14 17:49:02 +02:00
Dmitry Timoshkov 83e88af325 gdiplus: Fetch font family metrics from truetype font data. 2012-05-11 15:43:42 +02:00
Dmitry Timoshkov c626528a91 gdiplus: Use OUTLINETEXTMETRIC instead of LOGFONT to store GpFont metrics. 2012-05-11 15:42:09 +02:00
Dmitry Timoshkov 54b69043eb gdiplus: Derive GpFont from GpFontFamily. 2012-05-09 12:03:33 +02:00
Dmitry Timoshkov e43fce0da9 gdiplus: Do not rely on an enumerated font size being equal to otmEMSquare. 2012-04-24 18:42:17 +02:00