Vincent Povirk
b8a8e1bde9
gdiplus: Check SHADEBLENDCAPS only for printer devices.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 21:08:15 +02:00
Bruno Jesus
29a55bc4d1
gdiplus: Use software mode to draw semi-transparent lines when necessary.
...
Signed-off-by: Bruno Jesus <bjesus@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-03 22:58:02 +02:00
Nikolay Sivov
c89de1dd08
gdiplus: Use better naming for line alignment format field.
...
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-04-28 18:40:13 +02:00
Nikolay Sivov
69b41e7cf3
gdiplus: Fix generic string formats behavior.
...
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-04-28 18:40:11 +02: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
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
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
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
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
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
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
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
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
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
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
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