Commit Graph

1659 Commits

Author SHA1 Message Date
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
Frédéric Delanoy 70bc6d5f78 gdiplus: Use BOOL type where appropriate. 2013-10-03 12:54:40 +02:00
Michael Stefaniuc 0e681027a2 tests: Compile the tests by default with -D__WINESRC__. 2013-10-02 11:04:02 +02:00
Dmitry Timoshkov ec9a0d8570 gdiplus: GdipTransformRegion should not fail for an empty path. 2013-09-24 12:56:22 +02:00
Dmitry Timoshkov 3870e5b255 gdiplus/tests: Add a test for GdipTransformRegion with an empty region path. 2013-09-24 12:56:15 +02:00
Dmitry Timoshkov 108873320c gdiplus/tests: Don't bother to delete a NULL hrgn. 2013-09-24 12:56:11 +02:00
Dmitry Timoshkov fdeab06142 gdiplus/tests: Print actual rectangle extents if the tests fail. 2013-09-24 12:56:05 +02:00
Dmitry Timoshkov 603ccca889 gdiplus/tests: Add a test for GdipTransformMatrixPoints with number of points == 0. 2013-09-24 12:55:51 +02:00
Vincent Povirk 12586f76e3 gdiplus: Always provide image data in the format requested by image encoders. 2013-09-23 21:31:18 +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
Michael Stefaniuc 9fefae61da gdiplus: Avoid using CONST. 2013-09-23 11:54:47 +02:00
Vincent Povirk 2c3142f0ee gdiplus: Copy custom dashes in GdipClonePen. 2013-08-15 16:25:08 +02:00
Vincent Povirk dc047ecdaa gdiplus: Add error checking to GdipClonePen. 2013-08-15 16:25:03 +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 249bf0eb63 gdiplus/tests: Add clipping region tests with rotating world transform. 2013-07-30 20:51:47 +02:00
Marcus Meissner 716f115293 gdiplus/tests: Check return code of GdipGetClipBounds (Coverity). 2013-07-22 17:16:04 +02:00
Dmitry Timoshkov 14f34c15d1 gdiplus: Store graphics clipping region in device coordinates. 2013-07-19 11:58:23 +02:00
Dmitry Timoshkov c8ebd4ade0 gdiplus/tests: Test how device to world transform correlates with clipping region bounding rectangle. 2013-07-19 11:57:56 +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 ffd207850c gdiplus/tests: Add another set of clipping region tests. 2013-07-12 12:14:58 +02:00
Dmitry Timoshkov 964778fda5 gdiplus/tests: Add tests for a sample 100x100 rectangle region. 2013-07-10 11:00:00 +02:00
Dmitry Timoshkov ccdc41d8c4 gdiplus: Add more clipping region tests. 2013-07-09 22:21:58 +02:00
Piotr Caban f37027a947 gdiplus: Add support for more string formats while getting font name. 2013-07-08 15:15:43 +02:00
Dmitry Timoshkov e1572f9cd1 gdiplus/tests: Add GdipGetClipBounds tests. 2013-07-08 15:15:40 +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
Vincent Povirk e21af554b5 gdiplus: Add test for measuring a single line that exactly fits. 2013-05-31 12:00:16 +02:00
Andrew Eikum 2b8b64f9ab gdiplus: Implement GdipResetImageAttributes. 2013-05-22 19:32:44 +02:00
Alexandre Julliard 1731ee55b6 gdiplus: Don't bother to free memory at process exit. 2013-05-15 10:19:18 +02:00
Dmitry Timoshkov 4c4c661bc0 gdiplus: Implement GdipEnumerateMetafileDestPoint and GdipEnumerateMetafileDestPointI. 2013-05-06 15:55:22 +02:00
Dmitry Timoshkov 69d74ece53 gdiplus: Implement GdipEnumerateMetafileDestRect and GdipEnumerateMetafileDestRectI. 2013-05-06 15:55:21 +02:00
Detlef Riekenberg fa5d091051 gdiplus/tests: Add tests for GdipSetCustomLineCapWidthScale. 2013-04-18 11:41:53 +02:00
Detlef Riekenberg da7fe7ab55 gdiplus: Implement GdipSetCustomLineCapWidthScale. 2013-04-18 11:41:50 +02:00
Victor Martinez e891fe4b8e gdiplus: Fix returned rect in GdiGetRegionBoundsI. 2013-04-03 11:33:01 +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 4b19b618f5 gdiplus: Add more GdipMeasureString/GdipMeasureCharacterRanges clipping and alignment tests. 2013-03-14 12:03:45 +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
Vincent Povirk a424968482 gdiplus: Correct EMF record size calculation. 2013-03-13 11:29:17 +01:00
Vincent Povirk 6214e5b92c gdiplus: Also get a DC for drawing WMF images. 2013-03-13 11:29:10 +01:00
Dmitry Timoshkov 2cca510a5b gdiplus: Protect from mixing BrushTypeLinearGradient and BrushTypePathGradient. 2013-03-11 10:46:33 +01:00
Dmitry Timoshkov 65bd8f2b26 gdiplus: Print a passed in rectangle in GdipCombineRegionRect. 2013-03-11 10:46:06 +01:00
Vincent Povirk 636e60b6e0 gdiplus: Fix GdipCreateBitmapFromGraphics implementation. 2013-03-11 10:42:40 +01:00
Francois Gouget 06489c6501 gdiplus/tests: Skip the tests if unable to load the TIFF image.
On Windows XP most versions of gdiplus (i.e. older than 5.2) do not support TIFF.
2013-03-04 17:32:02 +01:00
Dmitry Timoshkov 464b8b4160 gdiplus: Add some tests for string format alignment. 2013-03-04 11:19:20 +01:00
Dmitry Timoshkov 9fb88c7999 gdiplus: GdipDrawString should not clip the string if StringFormatFlagsNoClip is specified. 2013-03-04 11:19:18 +01:00
Dmitry Timoshkov 737790603c Revert "gdiplus: Add support for StringFormatFlagsNoClip.".
This reverts commit bfa35f37a7.
This patch breaks string alignment.
2013-03-04 11:19:16 +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
Dmitry Timoshkov 1896e5575e gdiplus: If a device doesn't support AlphaBlend don't convert image to PARGB. 2013-02-25 10:40:37 +01:00
Dmitry Timoshkov d23bfd8dfc gdiplus: Round up when converting from 32-bit ARGB to PARGB. 2013-02-25 10:40:36 +01:00
Dmitry Timoshkov ada3aea736 gdiplus: Add some tests for ARGB conversions. 2013-02-25 10:40:36 +01:00
Dmitry Timoshkov c5e129a7e4 gdiplus: Remove debug traces from GdipBitmapGetPixel and GdipBitmapSetPixel. 2013-02-22 17:36:21 +01:00
Dmitry Timoshkov 668cfb1c5a gdiplus: Correct the GdipDrawString .spec entry. 2013-02-21 08:32:44 +01:00
Dmitry Timoshkov 42a5943598 gdiplus: Use an off-screen DC to trace a path. 2013-02-20 18:21:25 +01:00
Dmitry Timoshkov 0553eba08f gdiplus: Use an off-screen DC as an image surface. 2013-02-20 18:21:22 +01:00
Dmitry Timoshkov 97b92fe12c gdiplus: Use an off-screen DC for font enumeration. 2013-02-20 18:21:18 +01:00
Dmitry Timoshkov 6b474b555e gdiplus: Reimplement GdipFillRectangles using GdipFillPath. 2013-02-19 10:42:45 +01:00
Dmitry Timoshkov bb16c926b4 gdiplus: Slightly simplify GdipFillClosedCurve2 implementation. 2013-02-19 10:42:36 +01:00
Dmitry Timoshkov 338958287a gdiplus: Reimplement GdipDrawRectangles using GdipDrawPath. 2013-02-19 10:42:32 +01:00
Dmitry Timoshkov 1223569d64 gdiplus: Reimplement GdipDrawRectangle using GdipDrawPath. 2013-02-19 10:42:29 +01:00
Dmitry Timoshkov 981223a736 gdiplus: Reimplement GdipDrawPie using GdipDrawPath. 2013-02-19 10:42:24 +01:00
Dmitry Timoshkov 6df50f1d16 gdiplus: Reimplement GdipDrawEllipse using GdipDrawPath. 2013-02-19 10:42:16 +01:00
Dmitry Timoshkov ad49f83c7d gdiplus: Forward GdipDrawBezier to GdipDrawBeziers. 2013-02-19 10:42:10 +01:00
Dmitry Timoshkov ae8826c43e gdiplus: Reimplement GdipDrawBeziers using GdipDrawPath. 2013-02-19 10:42:03 +01:00
Dmitry Timoshkov 89f380f69b gdiplus: Reimplement GdipDrawArc using GdipDrawPath. 2013-02-19 10:41:46 +01:00
Dmitry Timoshkov 2fd1bf60ae gdiplus: Reimplement GdipDrawLines using GdipDrawPath. 2013-02-19 10:41:37 +01:00
Dmitry Timoshkov 03228b1784 gdiplus: Reimplement GdipDrawCurve2 using GdipDrawPath. 2013-02-19 10:41:18 +01:00
Dmitry Timoshkov 4233b82872 gdiplus: Slightly simplify GdipDrawClosedCurve2 implementation. 2013-02-19 10:41:01 +01:00
Dmitry Timoshkov cc54d1eb68 gdiplus: Forward GdipDrawBezierI to GdipDrawBezier. 2013-02-19 10:40:43 +01:00
Dmitry Timoshkov f817fb56e8 gdiplus: Avoid a crash in GdipDrawImagePointRect. 2013-02-18 15:06:17 +01:00
Dmitry Timoshkov 22a7458a3f gdiplus: Avoid a devision by zero when a being added segment length is 0.
This sometimes happens after GdipAddPathLine + GdipWidenPath.
2013-02-18 14:51:04 +01:00
Dmitry Timoshkov 8ec2354b32 gdiplus: Forward GdipDrawLinesI to GdipDrawLines. 2013-02-18 10:36:18 +01:00
Dmitry Timoshkov 7cccd36c9a gdiplus: Forward GdipDrawLineI to GdipDrawLine. 2013-02-18 10:36:11 +01:00
Dmitry Timoshkov 0ed65a2d3a gdiplus: Forward GdipDrawLine to GdipDrawLines. 2013-02-18 10:36:01 +01:00
Dmitry Timoshkov 35fc9c12dc gdiplus: Avoid not necessary memory allocation for BITMAPINFO. 2013-01-30 12:43:24 +01:00
Andrew Talbot 32d070afb0 gdiplus: Avoid signed-unsigned integer comparisons. 2013-01-24 10:49:34 +01:00
Dmitry Timoshkov 9532de882f gdiplus: Make GdipCreateFromHDC2 not fail in case of hDevice != NULL. 2013-01-23 12:52:16 +01:00
Dmitry Timoshkov 0d0f05e523 gdiplus: Avoid not necessary memory allocation in GdipCreateBitmapFromHICON. 2013-01-16 12:23:19 +01:00
Dmitry Timoshkov bd601f9950 gdiplus: Avoid not necessary memory allocation for BITMAPINFO. 2013-01-15 12:11:46 +01:00
Dmitry Timoshkov 44e554b744 gdiplus: Avoid not necessary memory allocation for palette entries. 2013-01-15 12:11:39 +01:00
Dmitry Timoshkov 34ef07fda2 gdiplus: Fix reading the mask bits in GdipCreateBitmapFromHICON. 2013-01-15 12:11:24 +01:00
Alexandre Julliard 1c2f23cf2f gdi32: Add helper functions for GetTextExtentExPoint and fix handling of text justification. 2012-12-18 19:21:44 +01:00
Alexandre Julliard fa664b548e gdiplus/tests: Tweak some metrics to make the tests pass on Wine. 2012-12-10 11:54:58 +01:00
Andrew Talbot e4351708d5 gdiplus: Remove unneeded address-of operator from array name. 2012-12-06 13:01:07 +01:00
Vincent Povirk ba4ef584d7 gdiplus: Fix graphics bounds for memory DC's. 2012-12-06 13:00:49 +01:00
Vincent Povirk 81d9ffa041 gdiplus: Always use AlphaBlend to draw to 32-bit DIB's. 2012-12-06 12:59:56 +01:00
Vincent Povirk 431aa5bc3f gdiplus: Use one GetDIBits call instead of one per row. 2012-12-06 12:59:26 +01:00
Vincent Povirk 04412f7a74 gdiplus: Avoid accessing dib bits directly in GdipCreateBitmapFromHBITMAP. 2012-12-06 12:56:27 +01:00
Vincent Povirk 2ddb3b7d93 gdiplus: Add a test for drawing to HDC's backed by 32-bit alpha dibs. 2012-12-04 19:34:19 +01:00
Andrew Talbot f8da0d3a1e gdiplus: Remove superfluous braces. 2012-11-28 20:14:41 +01:00
Vincent Povirk 423d50eb3b gdiplus: Use clipping region in alpha_blend_pixels. 2012-11-28 14:41:43 +01:00
Dmitry Timoshkov b9ead1a7ea gdiplus: Avoid more cases of allocating a transformation matrix on the heap. 2012-11-19 11:47:27 +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
Dmitry Timoshkov fa184bc2c2 gdiplus: Allocate a copy of the graphics transformation matrix on the stack instead of cloning it. 2012-11-06 20:00:27 +01:00
Dmitry Timoshkov 12340af3f9 gdiplus: Add support for extra transformation in GdipMeasureDriverString and GdipDrawDriverString. 2012-11-06 20:00:22 +01:00
Vincent Povirk 91a3e5fc10 gdiplus: Reimplement GdipCreateMetafileFromEmf without using IPicture. 2012-11-01 10:50:45 +01:00
Vincent Povirk d8a855305f gdiplus: Implement GdipCloneImage for metafiles with a handle. 2012-11-01 10:50:41 +01:00
Vincent Povirk 0cbec5508b gdiplus: Implement drawing metafiles with an emf handle. 2012-11-01 10:50:37 +01:00
Vincent Povirk 954b49382f gdiplus: Add tests for drawing recorded metafiles. 2012-11-01 10:50:33 +01:00
Rafał Mużyło fc2bb3bdc1 gdiplus: Mark regions as unclipped correctly. 2012-10-30 18:08:13 +01:00
Rafał Mużyło 48a2b48e16 gdiplus: Fix logic of treating the region of a string as unclipped. 2012-10-30 18:08:13 +01:00
Frédéric Delanoy c97066370c gdiplus/tests: Cleanup resources on error path in test_font_height_scaling (coverity). 2012-10-30 10:47:17 +01:00
Dmitry Timoshkov 84ea75f1c6 gdiplus: GdipGetLogFont should use device scale and transform when appropriate. 2012-10-26 16:48:53 +02:00
Dmitry Timoshkov 71eb164482 gdiplus: Move internal helper get_log_fontW() out of public GdipGetLogFontW() export. 2012-10-26 16:47:01 +02:00
André Hentschel 31eef521e9 gdiplus: Fix order of GdipFrees (coverity). 2012-10-25 11:47:23 +02:00
André Hentschel 9e5936b36c gdiplus/tests: Fix out-of-bounds access (coverity). 2012-10-23 12:28:59 +02:00
Dmitry Timoshkov 5e65f95542 gdiplus: Test also lf.lfEscapement and lf.lfOrientation returned by GdipGetLogFont. 2012-10-23 12:11:05 +02:00
Dmitry Timoshkov a45da55922 gdiplus: Fix a typo leading to incorrect character width calculation in GdipMeasureDriverString. 2012-10-22 11:44:41 +02:00
Dmitry Timoshkov 22336a121b gdiplus: Add a test for GdipMeasureDriverString called with not NULL matrix. 2012-10-12 11:28:12 +02:00
Dmitry Timoshkov ca91825345 gdiplus: Clarify where extra Y margin added by GdipMeasureString comes from. 2012-10-11 20:40:11 +02:00
Dmitry Timoshkov 608a936ada gdiplus: Clarify where extra Y margin added by GdipMeasureString comes from. 2012-10-11 20:40:08 +02:00