Commit Graph

1532 Commits

Author SHA1 Message Date
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
Dmitry Timoshkov 9d49bb2b00 gdiplus: Use IFD_SHORT type for the TIFF compression tag to avoid test failures under some XP versions. 2012-10-11 20:22:54 +02:00
Dmitry Timoshkov 8fd422499b gdiplus: Add more font transformation tests. 2012-10-09 16:12:17 +02:00
Dmitry Timoshkov 1c30b894ec gdiplus: Stop adding 1/6 of EM height to the created font height. 2012-10-08 17:36:15 +02:00
Dmitry Timoshkov ec4cd117b5 gdiplus: Workaround missing support for true floating point regions in Wine gdiplus by using a scaling world transform.
This simplifies the test and makes sure that there is no broken workarounds
in the tests.
2012-10-08 17:36:09 +02:00
Dmitry Timoshkov 2551ce4ea7 gdiplus: Detect broken GdipMeasureCharacterRanges behaviour before performing the font height scaling test. 2012-10-08 17:35:59 +02:00
Dmitry Timoshkov e664c2bd3a gdiplus: Add a font transformation test. 2012-10-08 17:35:54 +02:00
Dmitry Timoshkov 896d1047f3 gdiplus: Reuse an existing image stream in GdipImageSelectActiveFrame. 2012-09-28 17:17:47 +02:00
Dmitry Timoshkov 691be74f17 gdiplus: Take into account font substitution in GdipCreateFontFromLogfont. 2012-09-27 20:49:37 +02:00
Dmitry Timoshkov 65a966de76 gdiplus: Take into account font substitution in GdipCreateFontFamilyFromName. 2012-09-27 20:49:29 +02:00
Dmitry Timoshkov 25ee85fe84 gdiplus: Move font substitution test into a separate function. 2012-09-27 20:49:23 +02:00
Dmitry Timoshkov 0ef523e2bf gdiplus: Add GIF palette to the image properties. 2012-09-25 11:30:31 +02:00
Dmitry Timoshkov faa24d96d4 gdiplus: Add GIF loopcount to the image properties. 2012-09-25 11:30:28 +02:00
Dmitry Timoshkov 54edca19e1 gdiplus: Add GIF transparent index to the image properties. 2012-09-25 11:30:25 +02:00
Dmitry Timoshkov a950a0549f gdiplus: Add GIF background to the image properties. 2012-09-25 11:30:21 +02:00
Dmitry Timoshkov 3bb4974dd4 gdiplus: Add GIF frame delay to the image properties. 2012-09-25 11:30:18 +02:00
Dmitry Timoshkov 000f4725aa gdiplus: Add GIF comment to the image properties. 2012-09-25 11:30:14 +02:00
Dmitry Timoshkov a0424f33c0 gdiplus: Remove GIF properties test from generic tests, they are tested separately. 2012-09-25 11:30:11 +02:00
Dmitry Timoshkov 5f9be70570 gdiplus: Make GIF palettes in a custom test image slightly more different. 2012-09-24 22:27:26 +02: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 f39c140a88 gdiplus: Add more tests for GIF image properties. 2012-09-21 17:06:58 +02:00
Dmitry Timoshkov d8d4bffb39 gdiplus: Test GIF properties using a specially created GIF image with a bunch of extensions. 2012-09-21 17:06:52 +02:00
Vincent Povirk 0b40c9cb41 gdiplus: Implement LineCapRound in GdipWidenPath. 2012-09-21 10:53:29 +02:00
Vincent Povirk 8871af7ea5 gdiplus: Properly set the first point to start when widening open figures. 2012-09-21 10:53:23 +02:00
Vincent Povirk 47c433de8c gdiplus: Implement LineCapSquare in GdipWidenPath. 2012-09-21 10:53:17 +02:00
Dmitry Timoshkov 058963282e gdiplus: Add some tests for GIF properties. 2012-09-18 19:05:06 +02:00
Dmitry Timoshkov 4d42626dbe gdiplus: Add preliminary support for pixel offset modes. 2012-09-18 19:04:53 +02:00
Dmitry Timoshkov 556bdf249e gdiplus: Add some tests for scaling an image with various pixel offset modes. 2012-09-18 19:04:44 +02:00
Dmitry Timoshkov b8f4252290 gdiplus: Add support for generic typographic string format. 2012-09-04 17:15:39 +02:00
Dmitry Timoshkov bfa35f37a7 gdiplus: Add support for StringFormatFlagsNoClip. 2012-09-04 17:15:32 +02:00
Marcus Meissner 5ae8629fca gdiplus: Avoid uninitialized usage of bitmap (Coverity). 2012-09-03 17:43:31 +02:00
Dmitry Timoshkov bf0f8c970f gdiplus: Add a test for scaling an image with world transform. 2012-08-31 17:02:22 +02:00
Dmitry Timoshkov e0fd87aea1 gdiplus: Print some additional information about device and image being drawn. 2012-08-30 19:16:52 +02:00
Dmitry Timoshkov 89ab0e4b12 gdiplus: Make GdipMeasureCharacterRanges/GdipMeasureString/GdipDrawString add extra space around the text. 2012-08-29 21:25:07 +02:00
Dmitry Timoshkov 3f35a11426 gdiplus: get_log_fontW helper requires a valid graphics object. 2012-08-27 19:49:42 +02:00
Dmitry Timoshkov 2e31f7a80a gdiplus: Fix font leak. 2012-08-27 19:49:41 +02:00
Dmitry Timoshkov 31544a73da gdiplus/tests: Fix font leak. 2012-08-27 19:49:39 +02:00
Dmitry Timoshkov ac8019df3d gdiplus: Correct signature/mask info for the GIF codec. 2012-08-27 11:30:35 +02:00
Dmitry Timoshkov 4e2959ab9b gdiplus: Make GdipMeasureCharacterRanges use common font transformation code. 2012-08-24 18:25:19 +02:00
Dmitry Timoshkov 7a1ccd8abe gdiplus: Do not convert range_rect.X twice. 2012-08-24 18:25:12 +02:00
Dmitry Timoshkov 144a692ffa gdiplus: Filter tabs out until they are properly supported using stringformat. 2012-08-23 21:36:56 +02:00
Dmitry Timoshkov e6c77a7c7a gdiplus: Clarify in the tests where 1/3 of extra text height comes from. 2012-08-23 21:36:56 +02:00
Dmitry Timoshkov c8055b5b7b gdiplus: GdipMeasureCharacterRanges should respect device units and transformations. 2012-08-22 12:12:27 +02:00
Dmitry Timoshkov 1418cd796c gdiplus: GdipMeasureCharacterRanges shouldn't treat empty layout rectangle as infinite bounds. 2012-08-22 12:12:11 +02:00
Dmitry Timoshkov 32d37c832d gdiplus: Add a bunch of tests for GdipMeasureCharacterRanges. 2012-08-22 12:12:04 +02:00
Dmitry Timoshkov acc4623fd0 gdiplus: Use set_rect_empty() helper to make the code slightly more compact and readable. 2012-08-21 11:47:15 +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 6e63a478b3 gdiplus: StringFormatFlagsLineLimit doesn't allow line wrapping. 2012-08-20 17:06:27 +02:00
Dmitry Timoshkov de6c150d98 gdiplus: Add a test for extra space added by GdipMeasureString. 2012-08-20 17:06:13 +02:00
Dmitry Timoshkov 6f630a4091 gdiplus: GdipGetImageThumbnail should return image in 32bppPARGB format. 2012-08-20 17:06:00 +02:00
Dmitry Timoshkov 62724c9d57 gdiplus: Return error code of the failed API to the caller. 2012-08-20 17:05:46 +02:00
Dmitry Timoshkov e9aef40c26 gdiplus: Round the layout rectangle down instead of up in gdip_format_string(). 2012-08-20 17:05:39 +02:00
Dmitry Timoshkov 003333e6cb gdiplus: Add a test for measuring string that doesn't fit into layout rectangle. 2012-08-20 17:05:22 +02:00
Dmitry Timoshkov 466dfee115 gdiplus: If there is no hbitmap associated with GpBitmap then create one. 2012-08-20 17:05:07 +02:00
Francois Gouget 1051a107a4 gdiplus/tests: Make pixels_to_units() static. 2012-08-16 17:08:00 +02:00
Dmitry Timoshkov e3d27c42d9 gdiplus: Make GdipSetPropertyItem return Ok. 2012-08-16 11:59:12 +02:00
Dmitry Timoshkov 7c8e8fc5e2 gdiplus: Dump the matrix passed to GdipSetWorldTransform. 2012-08-16 11:58:57 +02:00
Dmitry Timoshkov e7b5e69843 gdiplus: Properly convert source coordinates to device units in GdipDrawImagePointsRect. 2012-08-16 11:58:51 +02:00
Dmitry Timoshkov 938d42c148 gdiplus: When there is no target rectangle specified DrawImage should scale image to device dpi. 2012-08-16 11:58:42 +02:00
Dmitry Timoshkov 7f1cb3bca2 gdiplus: Destination points passed to GdipDrawImagePointsRect should be in device units. 2012-08-16 11:58:34 +02:00
Dmitry Timoshkov fa7a34b907 gdiplus: Forward GdipDrawImage to GdipDrawImagePointRect. 2012-08-15 13:55:11 +02:00
Dmitry Timoshkov 3b8f437f44 gdiplus: Add a test for GdipDrawImage scaling. 2012-08-15 13:54:59 +02:00
Dmitry Timoshkov 50931d8985 gdiplus: Add a test for font height scaling. 2012-08-15 13:54:55 +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 6f4625559e gdiplus: GdipMeasureString should apply its internal scaling factors to layout rectangle. 2012-08-15 13:52:52 +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 f8b1154226 gdiplus: GdipGetLogFontW should transform returned font height using font and device unit/resolution/scale. 2012-08-14 16:41:55 +02:00
Dmitry Timoshkov e9af648aeb Revert commit b20a1f56b0. 2012-08-14 16:41:55 +02:00
Dmitry Timoshkov b953011f9e gdiplus: Add more tests for GdipMeasureString using device with custom resolution. 2012-08-14 16:41:53 +02:00
Michael Stefaniuc 60bef14094 gdiplus: Remove unreachable break after return (Smatch). 2012-08-13 12:07:46 +02:00
Dmitry Timoshkov af042f2754 gdiplus: Correct GdipSaveImageToFile spec entry. 2012-08-13 11:49:27 +02:00
Dmitry Timoshkov 3298a30211 gdiplus: Improve precision of calculated pixel to units transformation. 2012-07-31 17:59:12 +02:00
Dmitry Timoshkov e6c69e9685 gdiplus: Add some GdipTransformPoints tests for a device with different x/y resolutions. 2012-07-26 11:08:02 +02:00
Dmitry Timoshkov e536a128f7 gdiplus: Store device resolution in the graphics object. 2012-07-26 11:07:41 +02:00
Dmitry Timoshkov 9697829511 gdiplus: Add missing 'break'. 2012-07-26 11:07:24 +02:00
Dmitry Timoshkov c67951c70a gdiplus: Handle image loading failures under some XP versions. 2012-07-25 20:14:57 +02:00
Dmitry Timoshkov 0b40df2990 gdiplus: Make get_palette() usable for generating predefined palettes. 2012-07-25 20:13:58 +02:00
Dmitry Timoshkov f165e2725f gdiplus: Add 8bppGray to the list of supported formats. 2012-07-25 20:13:55 +02:00
Dmitry Timoshkov 271d801ea4 gdiplus: Use predefined palette if an image doesn't provide one. 2012-07-25 20:13:52 +02:00
Dmitry Timoshkov 45cdafc5e8 gdiplus: Add 8bppIndexed to the list of supported formats. 2012-07-25 20:13:18 +02:00
Dmitry Timoshkov dce93479ea gdiplus: Retrieve image palette from WIC. 2012-07-25 20:13:07 +02:00
Dmitry Timoshkov 7bcfb02169 gdiplus: Set actual resolution of an image being encoded. 2012-07-20 21:30:03 +02:00
Dmitry Timoshkov b20a1f56b0 gdiplus: GdipMeasureString operates internally in pixels but in/out rectangles are in device units. 2012-07-18 17:17:46 +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 9da37c769e gdiplus: Add a test for font and graphics using different base units. 2012-07-18 17:17:14 +02:00
Dmitry Timoshkov d104741a3c gdiplus: Add support for converting RGB formats to 1bpp indexed. 2012-07-17 13:09:41 +02:00
Dmitry Timoshkov 2ed1aaa930 gdiplus: Add support for converting RGB formats to 8bpp indexed. 2012-07-17 13:09:41 +02:00
Dmitry Timoshkov d9f4df0619 gdiplus: Pass palette instead of bitmap to setpixel helpers. 2012-07-17 13:09:40 +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 85d3d760d7 gdiplus: Add some tests for GdipBitmapLockBits/GdipBitmapUnlockBits. 2012-07-17 13:09:21 +02:00
Dmitry Timoshkov c108fd6bf9 gdiplus: Make sure that GdipBitmapLockBits stores valid lockmode. 2012-07-17 12:54:20 +02:00
Dmitry Timoshkov ebf31c0ac6 gdiplus: Fix palette flags for a not indexed 1-bpp image. 2012-07-16 18:19:46 +02:00
Dmitry Timoshkov eca107412c gdiplus: Make sure that 1bpp bitmap images get loaded in native format. 2012-07-16 18:19:38 +02:00
Alexandre Julliard 9ff2bbc3c8 gdiplus: Avoid out of bounds access warning. 2012-07-16 14:28:31 +02:00
Vincent Povirk 12f1ed2b3e gdiplus: Accept a transformation matrix in GdipFlattenPath. 2012-07-12 14:07:39 -05:00
Vincent Povirk cbfc79aae5 gdiplus: Implement LineJoinMiterClipped and partially implement LineJoinMiter. 2012-07-12 14:07:33 -05:00
Vincent Povirk 198fb25d17 gdiplus: Fix memory leak in GdipImageRotateFlip. 2012-07-12 11:48:56 -05:00
Vincent Povirk 577740f0d7 gdiplus: Fix GdipImageRotateFlip for images from streams. 2012-07-12 11:48:52 -05:00
Dmitry Timoshkov dfefd3a3b4 gdiplus: Add a test for palette associated with black&white TIFF image. 2012-07-12 11:48:27 -05:00
Dmitry Timoshkov 1f3b53c5d8 gdiplus: Fix the convert_unit() comment to reflect its functionality. 2012-07-03 12:59:01 +02:00
Dmitry Timoshkov 56621638df gdiplus: Add parameter checks to GdipSetPropertyItem, print item contents in the trace. 2012-07-03 12:58:56 +02:00
Dmitry Timoshkov b61a1ba322 gdiplus: Add some tests for GdipGetPropertySize and GdipGetAllPropertyItems. 2012-07-02 11:00:37 +02:00
Dmitry Timoshkov 3c9805d471 gdiplus: Implement GdipGetAllPropertyItems. 2012-07-02 11:00:22 +02:00
Dmitry Timoshkov 430355ef83 gdiplus: Implement GdipGetPropertySize. 2012-07-02 11:00:11 +02:00
Dmitry Timoshkov eb564a3160 gdiplus: Add a test for 'value' pointer in the PropertyItem structure. 2012-07-02 10:59:59 +02:00
Dmitry Timoshkov c7ea378f6a gdiplus: Add a test to show that GdipCloneImage is not supposed to increase refcount of the source image. 2012-07-02 10:59:51 +02:00
Dmitry Timoshkov 91cf72f00f gdiplus: Add GdipSaveAdd stub. 2012-06-29 20:41:47 +02:00
Dmitry Timoshkov f88231b96b gdiplus: Add a bunch of tests for TIFF image properties. 2012-06-29 20:41:34 +02:00
Dmitry Timoshkov 0c681b1478 gdiplus: Add some tests for GdipGetPropertyItemSize and GdipGetPropertyItem. 2012-06-29 20:41:19 +02:00
Dmitry Timoshkov 670445b22b gdiplus: Implement GdipGetPropertyItem. 2012-06-29 10:46:50 +02:00
Dmitry Timoshkov 9d953c5f79 gdiplus: Implement GdipGetPropertyItemSize. 2012-06-29 10:46:50 +02:00
Dmitry Timoshkov bd1adf9e0b gdiplus: Comment out a test that crashes some gdiplus implementations. 2012-06-28 19:43:09 +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 55f160db34 gdiplus: Add a test for image stream refcount. 2012-06-28 11:37:02 +02:00
Alexandre Julliard 09a5f0f1c5 gdiplus/tests: Add back some necessary casts. 2012-06-28 01:38:47 +02:00
Dmitry Timoshkov d079b66ba5 gdiplus: Avoid casting IWICBitmapFrameDecode to IWICBitmapSource. 2012-06-26 19:44:27 +02:00
Dmitry Timoshkov 7f9230c566 gdiplus: Add some tests for image properties. 2012-06-26 19:44:21 +02:00
Dmitry Timoshkov fb6b27de77 gdiplus: Implement GdipGetPropertyIdList. 2012-06-26 19:41:11 +02:00
Dmitry Timoshkov b9132b6815 gdiplus: Implement GdipGetPropertyCount. 2012-06-26 19:40:59 +02:00
Dmitry Timoshkov b72d236ca8 gdiplus: When loading a bitmap frame save its IWICMetadataReader interface. 2012-06-26 19:40:44 +02:00
Vincent Povirk 697dd42ed2 gdiplus: Remove FIXME from GdipAddPathString. 2012-06-26 12:25:41 +02:00
Vincent Povirk fe000c773c gdiplus: Fix vertical alignment calculation in GdipAddPathString. 2012-06-22 14:09:47 +02:00
Vincent Povirk 3cde67e144 gdiplus: Don't position characters by glyph metrics in GdipAddPathString. 2012-06-22 14:09:46 +02:00
Vincent Povirk cae52d078a gdiplus: Scale all points in GdipAddPathString instead of the font. 2012-06-22 14:09:46 +02:00
Dmitry Timoshkov 450e09c8c6 gdiplus: Make some data const. 2012-06-21 08:36:28 +02:00
Dmitry Timoshkov 755c19f3e7 gdiplus: Implement GdipImageSelectActiveFrame. 2012-06-20 11:07:15 +02:00