Commit Graph

1673 Commits

Author SHA1 Message Date
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