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
Vincent Povirk
075775a81b
gdiplus: Implement accessors for graphics rendering origin.
2012-04-24 11:37:46 +02:00
Vincent Povirk
52bf030b84
gdiplus: Implement GdipGetPathGradientTransform.
2012-04-02 12:37:55 +02:00
Vincent Povirk
5254a76a0c
gdiplus: Implement path gradient preset blend accessors.
2012-04-02 12:37:43 +02:00
Vincent Povirk
673377a7b9
gdiplus: Store copies of remap tables in ImageAttributes objects.
2012-03-26 18:15:02 +02:00
Vincent Povirk
eef459968a
gdiplus: Detect hotkey prefixes when drawing strings.
2012-03-26 12:41:28 +02:00
Vincent Povirk
7e90dc3dc7
gdiplus: Implement path gradient surround color accessors.
2012-03-15 19:56:13 +01:00
Vincent Povirk
96d66f1666
gdiplus: Store a real path in path gradient brushes.
2012-03-13 10:27:35 +01:00
Dmitry Timoshkov
b39425f3cf
gdiplus: Create GDI bitmap only when needed.
2012-03-12 10:43:53 +01:00
Dmitry Timoshkov
0d7bc4b325
gdiplus: Create GDI brush only when needed.
2012-03-09 11:30:46 +01:00
Vincent Povirk
fda2fc7684
gdiplus: Implement GdipPlayMetafileRecord for EMF records.
2011-07-08 13:40:42 +02:00
Vincent Povirk
44c57121ea
gdiplus: Implement GetDC for metafiles.
2011-07-08 11:26:14 +02:00
Vincent Povirk
d436e51872
gdiplus: Add basic metafile recording support.
2011-05-23 11:15:41 +02:00
Marcus Meissner
3ed1339219
gdiplus: Mark internal symbols as having hidden visibility.
2011-04-26 15:31:27 +02:00
Vincent Povirk
11f0662c60
gdiplus: Don't settle on a font size until absolutely necessary.
...
When we create a new font, we should store its height in a REAL field so
we don't have to round it. Further, when we calculate the width, we should
base the calculation on the metrics of a font at the height we will use, to
prevent rounding errors when the graphics transform will enlarge the font.
2011-04-05 13:36:56 +02:00
Vincent Povirk
32baa8ba4e
gdiplus: Add helper for translating GpFont to HFONT.
2011-04-05 13:36:56 +02:00
Vincent Povirk
8a036abc5c
gdiplus: Implement software rendering of texture brushes.
2011-03-11 11:48:08 +01:00
Alexandre Julliard
b3c333e916
gdiplus: Use signed types in convert_pixels to avoid problems on 64-bit.
2011-03-10 14:10:11 +01:00
Maarten Lankhorst
b8a1e6c687
gdiplus: Implement GdipAddPathString.
2011-03-03 17:47:15 +01:00
Vincent Povirk
546b1a5cb4
gdiplus: Copy only the area requested when (un)locking bitmaps.
2011-02-25 11:06:36 +01:00
Vincent Povirk
86d58dc6c8
gdiplus: Store an ImageAttributes in texture brushes.
2011-02-15 17:01:43 +01:00
Vincent Povirk
b7e664bc5c
gdiplus: Add a software implementation of hatch brushes.
2011-01-24 12:13:54 +01:00
Vincent Povirk
9d0cd09597
gdiplus: Add a fallback method for getting HDC's from Graphics objects.
...
Native does this in more cases (at least for all bitmap graphics
objects), but using gdi32 objects when we can should perform better.
2010-08-18 09:42:58 +02:00
Vincent Povirk
9a6eabf0b5
gdiplus: Create HBITMAP-less bitmap objects for exotic pixel formats.
2010-08-17 11:55:33 +02:00
Vincent Povirk
85a5710688
gdiplus: Don't require an HDC for the convert_unit function.
2010-08-17 11:55:33 +02:00
Vincent Povirk
0ae0c0c09e
gdiplus: Implement GdipSetImageAttributesWrapMode.
2010-05-10 10:01:48 +02:00
Vincent Povirk
6b53cb27bc
gdiplus: Fix the non-trivial case in color_over.
2010-04-19 14:54:05 +02:00
Vincent Povirk
5433969ec8
gdiplus: Don't use gdi32 to draw to bitmaps with formats it can't handle.
2010-03-29 12:19:48 +02:00
Vincent Povirk
af7b8efc94
gdiplus: Store a reference to the image in image graphics contexts.
2010-03-29 12:19:38 +02:00
Justin Chevrier
78f9177d9d
gdiplus: Implement GdipSetImageAttributesRemapTable with updated test.
2010-03-04 12:30:17 +01:00
Vincent Povirk
70c9e4fb3d
gdiplus: Store an image in texture brushes, and use it when cloning.
2010-02-15 12:20:00 +01:00
Vincent Povirk
318ba28630
gdiplus: Don't use gdi32 to do pixel format conversion.
2010-02-08 17:14:43 +01:00
Vincent Povirk
762845ca8c
gdiplus: Implement GdipSetImageAttributesGamma.
2010-02-01 12:08:59 +01:00
Vincent Povirk
1aea88cac1
gdiplus: Implement GdipGetImage*Resolution.
2009-12-28 12:57:37 +01:00
Vincent Povirk
7ded3d83c6
gdiplus: Add some traces for the values of point arguments.
2009-12-28 11:54:27 +01:00
Hans Leidekker
9f63f7d949
gdiplus: Implement GdipGet/SetStringFormatMeasurableCharacterRanges.
2009-12-22 13:48:26 +01:00
Vincent Povirk
0c9991c583
gdiplus: Implement GdipSetImageAttributesColorMatrix.
2009-12-21 15:01:23 +01:00
Vincent Povirk
39dc81cc80
gdiplus: Implement GdipSetImagePalette.
2009-12-14 12:04:03 +01:00
Alexandre Julliard
0065a115c6
gdiplus: Remove a useless inline specifier.
2009-10-19 11:44:39 +02:00
Vincent Povirk
8bdabe3a18
gdiplus: Store preset blends in linear gradient brushes.
2009-09-15 17:34:35 -05:00
Vincent Povirk
0595fc5e03
gdiplus: Implement GdipGetImageRawFormat.
2009-09-15 17:34:12 -05:00
Vincent Povirk
895c6d8e1e
gdiplus: Use AlphaBlend for 32-bit images with alpha channels.
2009-08-29 16:48:56 +02:00
Vincent Povirk
7fdc0208e8
gdiplus: Return the real image bits from LockBits when possible.
2009-08-29 16:48:55 +02:00
Vincent Povirk
d87adf2a60
gdiplus: Don't use IPicture to manage the HDC associated with a GpBitmap.
2009-08-29 16:48:55 +02:00
Vincent Povirk
e48524ceb6
gdiplus: Add and use an HBITMAP field in GpBitmap objects.
2009-08-29 16:48:55 +02:00
Andrew Eikum
2032b0d354
gdiplus: Implement GdipIsVisibleRegionRect.
2009-08-26 15:05:46 +02:00
Vincent Povirk
55ec1d9150
gdiplus: Store color key information in ImageAttributes.
2009-08-03 14:55:41 +02:00
Andrew Eikum
632aef3d8b
gdiplus: Implement GdipBeginContainer2 and GdipEndContainer.
2009-07-07 12:33:10 +02:00
Vincent Povirk
60167dfb74
gdiplus: Implement partially transparent solid fill brushes.
2009-05-21 16:17:52 +02:00
Vincent Povirk
ef4d0d970d
gdiplus: Populate the installed font collection.
2009-05-14 17:23:03 +02:00
Vincent Povirk
3dd5ce7874
gdiplus: Add a trace to GdipDrawString.
2009-05-14 11:13:29 +02:00
Vincent Povirk
173a1f6f79
gdiplus: Store the rectangle in line gradient brushes.
2009-05-08 12:21:11 +02:00
Vincent Povirk
b05cf906d1
gdiplus: Add blend information to linear gradient brushes.
2009-04-29 13:07:07 +02:00
Vincent Povirk
8a3d9ff773
gdiplus: Only release device contexts created internally.
2009-04-27 13:23:00 +02:00
Chris Wulff
a2a94a49bc
gdiplus: Partial implementation of GdipCreateHatchBrush.
2009-01-12 14:36:37 +01:00
Hans Leidekker
8656f6db50
gdiplus: Better implementation of GdipGetFontHeightGivenDPI.
2008-12-01 14:01:14 +01:00
Vincent Povirk
08aa0cac74
gdiplus: Implement GdipRegionGetHRgn for paths.
2008-11-25 13:11:44 +01:00
Vincent Povirk
f3cad17a9b
gdiplus: Implement CachedBitmap based on Image.
2008-11-24 14:36:50 +01:00
Hans Leidekker
ea323d1349
gdiplus: Implement GdipNewPrivateFontCollection and GdipDeletePrivateFontCollection.
2008-11-24 14:25:10 +01:00
Nikolay Sivov
56173d4005
gdiplus: Added GdipGetTextContrast.
2008-11-10 11:07:26 +01:00