Commit Graph

461 Commits

Author SHA1 Message Date
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 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
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
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 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
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 07f8493895 gdiplus: Remove always true condition (Coverity). 2015-07-06 15:13:27 +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
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
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 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
Changhui Liu 5fa7402a36 gdiplus: Fix get_graphics_bounds when window origin point changed. 2015-01-19 18:47:47 +01:00
Vincent Povirk 4361cbabd7 gdiplus: Fix error when drawing from a rectangle outside bitmap bounds. 2014-10-30 11:59:59 +09:00
André Hentschel f1ed09fdd9 gdiplus: Adjust identical conditions (PVS-Studio). 2014-10-28 14:05:08 +09: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
Vincent Povirk 60f558876e gdiplus: Account for transforms when calculating hdc bounds. 2014-07-09 21:16:35 +02:00
Vincent Povirk 4def66c11c gdiplus: Prevent NULL StringFormat in gdip_format_string. 2014-04-14 20:19:01 +02: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
Vincent Povirk 78459aea0d gdiplus: Improve GdipFillRectangles parameter validation. 2014-02-20 11:18:24 +01: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 51b873b3ca gdiplus: Mark the Graphics object as busy before freeing it. 2014-01-06 16:02:40 +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
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
Frédéric Delanoy 70bc6d5f78 gdiplus: Use BOOL type where appropriate. 2013-10-03 12:54:40 +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
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 14f34c15d1 gdiplus: Store graphics clipping region in device coordinates. 2013-07-19 11:58:23 +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 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
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 61dafbb701 gdiplus: Ignore gdiplus page and world transformations when creating a gdi32 clipping region. 2013-03-13 11:30:11 +01:00
Dmitry Timoshkov 9fb88c7999 gdiplus: GdipDrawString should not clip the string if StringFormatFlagsNoClip is specified. 2013-03-04 11:19:18 +01:00