Commit Graph

1574 Commits

Author SHA1 Message Date
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
Dmitry Timoshkov 9e12bc0175 gdiplus: Create a copy of the source stream when loading an image. 2012-06-19 13:44:07 +02:00
Dmitry Timoshkov 8b1bbd4fe5 gdiplus: Add active frame parameter to the WIC decoder interface. 2012-06-19 13:44:07 +02:00
Dmitry Timoshkov 9de1d86132 gdiplus: Fix parameter order in expect() calls. 2012-06-19 13:44:07 +02:00
Dmitry Timoshkov 527cae47e3 gdiplus: Remove a redundant cast. 2012-06-19 13:44:07 +02:00
Dmitry Timoshkov 3439f28679 gdiplus: GdipCreateFontFromLogfont also returns NotTrueTypeFont for a not present font. 2012-06-19 13:44:07 +02:00
Dmitry Timoshkov eeb52474c1 gdiplus: Add a test for creating a nonexistent font with GdipCreateFontFromLogfont. 2012-06-19 13:44:07 +02:00
Dmitry Timoshkov ac38e69a92 gdiplus: Accept wider range of fonts. 2012-06-14 19:16:00 +02:00
Vincent Povirk b5ef70c583 gdiplus: Check for NULL image in GdipImageRotateFlip. 2012-06-14 19:13:27 +02:00
Francois Gouget 15846adef0 gdiplus: Make get_font_hfont() static. 2012-06-12 11:11:32 +02:00
Dmitry Timoshkov a33d34b83e gdiplus: Avoid needless gotos. 2012-05-25 13:44:01 +02:00
Dmitry Timoshkov 4060716dc4 gdiplus: Return correct status code if GdipAlloc fails. 2012-05-25 13:43:57 +02:00
Dmitry Timoshkov a7d14b0d2c gdiplus: Reimplement GdipIsEmptyRegion. 2012-05-25 13:41:14 +02:00
Dmitry Timoshkov a4f79c347e gdiplus: Use font emSize to map to pixel size instead of using gdi32 font metrics. 2012-05-21 11:34:37 +02:00
Dmitry Timoshkov eeee536ad6 gdiplus: Implement GdipImageGetFrameCount. 2012-05-17 17:44:26 +02:00
Dmitry Timoshkov 007d642e53 gdiplus: Save total and current frame in the image structure. 2012-05-17 17:44:25 +02:00
Dmitry Timoshkov d0fcc19e7e gdiplus: Fix the clipping region calculation. 2012-05-15 17:02:05 +02:00
Dmitry Timoshkov bf9aed6f5c gdiplus: Measure the passed in string without height clipping in order to compute correct Y offset. 2012-05-15 17:02:04 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Dmitry Timoshkov 5e4d64d18e gdiplus: Create 'const' friendly internal entries for font APIs. 2012-05-14 17:49:02 +02:00
Dmitry Timoshkov a90fcbff00 gdiplus: Add a bunch of tests for internal font metrics. 2012-05-11 15:43:55 +02:00
Dmitry Timoshkov 83e88af325 gdiplus: Fetch font family metrics from truetype font data. 2012-05-11 15:43:42 +02:00
Dmitry Timoshkov c626528a91 gdiplus: Use OUTLINETEXTMETRIC instead of LOGFONT to store GpFont metrics. 2012-05-11 15:42:09 +02:00
Dmitry Timoshkov 915cd7b5b2 gdiplus: Use appropriate accessors to calculate font height instead of accessing GpFont internals directly. 2012-05-11 15:40:41 +02:00
Dmitry Timoshkov 2c93bf7e4e gdiplus: Retrieve LOGFONT from a GpFont using GdipGetLogFontW instead of accessing it directly. 2012-05-11 15:40:13 +02:00
Dmitry Timoshkov 54b69043eb gdiplus: Derive GpFont from GpFontFamily. 2012-05-09 12:03:33 +02:00
Alexandre Julliard 039c85346c gdiplus: CreateDIBSection doesn't need a DC for the DIB_RGB_COLORS case. 2012-05-02 12:02:17 +02:00
Dmitry Timoshkov 542e30b531 gdiplus: Add more traces to font APIs. 2012-05-01 14:45:38 +02:00
Vincent Povirk 7b5af23604 gdiplus: Implement GdipWidenPath for closed figures. 2012-04-26 19:27:24 +02:00
Vincent Povirk 930cdab2e9 gdiplus: Add basic implementation of GdipWidenPath. 2012-04-26 19:27:17 +02:00
Vincent Povirk 3a3ca55ffa gdiplus: Return OutOfMemory when creating a path gradient from a NULL path. 2012-04-26 19:27:01 +02:00
Vincent Povirk ea3e26e32d gdiplus: Return OutOfMemory when creating a path gradient with NULL points. 2012-04-26 19:26:57 +02:00
Vincent Povirk e2b59a87b0 gdiplus: Store only one surround color if all colors are the same. 2012-04-25 12:16:36 +02:00
Vincent Povirk 8273d58a96 gdiplus: Implement GdipSetPathGradientSigmaBlend. 2012-04-25 12:16:24 +02:00
Vincent Povirk d0a85604d5 gdiplus: Implement GdipSetPathGradientLinearBlend. 2012-04-25 12:16:20 +02:00
Vincent Povirk b66fd44080 gdiplus: Implement GdipSetPathGradientBlend, with tests. 2012-04-25 12:16:15 +02:00
Vincent Povirk 4a78d7c6b4 gdiplus: Remove FIXME on implemented function. 2012-04-25 12:16:09 +02:00
Dmitry Timoshkov 1e12570d72 gdiplus: Use symbolic name of the font style. 2012-04-24 19:10:42 +02:00
Dmitry Timoshkov e43fce0da9 gdiplus: Do not rely on an enumerated font size being equal to otmEMSquare. 2012-04-24 18:42:17 +02:00
Vincent Povirk 075775a81b gdiplus: Implement accessors for graphics rendering origin. 2012-04-24 11:37:46 +02:00
Dmitry Timoshkov 4b9e1db09f gdiplus: Use Tahoma instead of Arial for gdiplus font tests. 2012-04-23 11:41:25 +02:00
Dmitry Timoshkov 44ec1a2e52 gdiplus: Use symbolic names of font styles. 2012-04-23 11:40:52 +02:00
Dmitry Timoshkov 9b5b04c1c1 gdiplus: Avoid saving negative values in pixel_size and emSize. 2012-04-23 11:40:37 +02:00
Francois Gouget 84bc0f7888 gdiplus/tests: Make test_pathgradientpresetblend() static. 2012-04-20 12:00:29 +02:00
Dmitry Timoshkov 600cbb7874 gdiplus: Use StretchBlt instead of GdiAlphaBlend if device doesn't support alpha blending. 2012-04-19 19:28:10 +02:00
Vincent Povirk 57e4912108 gdiplus: Add support for JPEG encoding. 2012-04-18 17:15:53 +02:00
Vincent Povirk c374fe9bdb gdiplus: Implement path gradient transform setters. 2012-04-04 19:02:42 +02:00
Vincent Povirk 09b7aed7a2 gdiplus: Set the wrap mode in the path gradient constructor. 2012-04-04 19:02:36 +02:00
Vincent Povirk b228426d8e gdiplus: Default path gradient center color depends on the constructor. 2012-04-04 19:02:30 +02:00
Vincent Povirk ad9976eb22 gdiplus: Forbid creating path gradients with fewer than 2 points. 2012-04-02 12:38:01 +02:00
Vincent Povirk 52bf030b84 gdiplus: Implement GdipGetPathGradientTransform. 2012-04-02 12:37:55 +02:00
Vincent Povirk aed62dbff1 gdiplus: Add tests for preset blend accessors. 2012-04-02 12:37:49 +02:00
Vincent Povirk 5254a76a0c gdiplus: Implement path gradient preset blend accessors. 2012-04-02 12:37:43 +02:00
Vincent Povirk a85bb87cc3 gdiplus: Implement GdipGetPathGradientCenterColor. 2012-04-02 12:37:35 +02:00
Vincent Povirk 93a0897660 gdiplus: Support bitmap creation from 16-bit ddb's. 2012-03-30 17:33:46 +02:00
Alistair Leslie-Hughes 0b2ea8aaf5 gdiplus: Add GdipResetPageTransform stub. 2012-03-29 20:49:22 +02:00
Vincent Povirk e2e77545ff gdiplus: Measure strings at device size, then rescale to world size. 2012-03-28 11:36:20 +02:00
Vincent Povirk 673377a7b9 gdiplus: Store copies of remap tables in ImageAttributes objects. 2012-03-26 18:15:02 +02:00
Vincent Povirk 8a0b57a9a1 gdiplus: Draw hotkey underlines in GdipDrawString. 2012-03-26 18:13:52 +02:00
Vincent Povirk eef459968a gdiplus: Detect hotkey prefixes when drawing strings. 2012-03-26 12:41:28 +02:00
Vincent Povirk 3cd51c0acf gdiplus: Use the surround colors in path gradient rendering. 2012-03-15 19:56:20 +01:00
Vincent Povirk 7e90dc3dc7 gdiplus: Implement path gradient surround color accessors. 2012-03-15 19:56:13 +01:00
Vincent Povirk 7a9f6abd85 gdiplus: Test SetSurroundColors with fewer colors than points on the path. 2012-03-15 19:56:04 +01:00
Vincent Povirk 1f6f84c7bb gdiplus: Don't add control points to the result in GdipFlattenPath. 2012-03-14 11:50:20 +01:00
Vincent Povirk b54d38a536 gdiplus: Add test for GdipGetPathGradientSurroundColorsWithCount. 2012-03-14 11:50:15 +01:00
Vincent Povirk 5d64f16bec gdiplus: Add fixme's for unimplemented path gradient features. 2012-03-14 11:50:11 +01:00
Vincent Povirk 5ed5daf4da gdiplus: Do some actual color blending when drawing path gradients. 2012-03-14 11:50:07 +01:00
Vincent Povirk 703b31b2e8 gdiplus: Fill path gradients with a solid color. 2012-03-14 11:50:02 +01:00
Vincent Povirk 7fd6ccd19e gdiplus: Add tests for path gradient center point functions. 2012-03-13 10:27:56 +01:00
Vincent Povirk 1515a4b89c gdiplus: Set path gradient center points based on the path's bounding rect. 2012-03-13 10:27:50 +01:00
Vincent Povirk 116665d7fc gdiplus: Add stub GdipGetPathGradientPath with tests. 2012-03-13 10:27:44 +01:00
Vincent Povirk 96d66f1666 gdiplus: Store a real path in path gradient brushes. 2012-03-13 10:27:35 +01:00
Vincent Povirk dc3a08d840 gdiplus: Rewrite SOFTWARE_GdipFillRegion to call brush_fill_pixels less. 2012-03-13 10:27:22 +01:00
Dmitry Timoshkov 5fd16ddedc gdiplus: Implement GdipCreateMetafileFromEmf. 2012-03-12 16:37:26 +01:00
Dmitry Timoshkov b39425f3cf gdiplus: Create GDI bitmap only when needed. 2012-03-12 10:43:53 +01:00
Dmitry Timoshkov 0d7bc4b325 gdiplus: Create GDI brush only when needed. 2012-03-09 11:30:46 +01:00
Dan Kegel 8f073bf4c7 gdiplus: Make GdipTranslateLineTransform stub lie and return Ok. 2012-02-16 11:57:27 +01:00
Vincent Povirk 2540049777 gdiplus: Implement GdipCreateBitmapFromHBITMAP for 16-bit dibs. 2012-01-12 12:27:04 +01:00
Vincent Povirk 52150d2194 gdiplus: Test GdipCreateBitmapFromHBITMAP with 16-bit dib's. 2012-01-12 12:26:53 +01:00
Vincent Povirk aba9ddc4a0 gdiplus: Implement GdipDrawImagePoints. 2012-01-11 20:11:40 +01:00
Vincent Povirk 006e2d97b3 gdiplus: Fix center point calculation in GdipAddPathPie. 2011-11-08 18:19:18 +01:00
Andrew Talbot 51804165aa gdiplus: Remove unneeded address-of operators from array names. 2011-10-31 23:54:00 +01:00
Alexandre Julliard 7c1f665627 gdiplus/tests: Add an intermediate variable to avoid array bounds warnings. 2011-10-20 12:50:04 +02:00
Dan Kegel fa4cafd80e gdiplus/tests: Must define biClrUsed when calling CreateDIBSection. 2011-10-14 13:12:28 +02:00
Louis Lenders 8435e40874 gdiplus: Return zero properties in stubbed GdipGetPropertyCount. 2011-10-06 16:46:41 -05:00
Vincent Povirk 203d29d93a gdiplus: Fix pointer math for the 64-bit tests. 2011-10-04 15:19:02 -05:00
Vincent Povirk 5f94653159 gdiplus: Include an alpha channel in HBITMAPs created from Bitmaps. 2011-10-03 09:45:09 -05:00
André Hentschel 6b7ccdb734 gdiplus: Fix height calculation.
Spotted by Roman Shchekin.
2011-09-23 12:34:57 +02:00
Francois Gouget 4c13e84a7c gdiplus: Use Liberation Mono as a fallback for Courier New for the monospace family. 2011-09-13 11:27:42 +02:00
Francois Gouget bcd793bf3b gdiplus/tests: Don't check for hardcoded family font names.
Only check that each font family is different and that we can create fonts from them.
2011-09-13 11:27:38 +02:00
Alexandre Julliard 835e74a5f0 gdiplus: Add a WinSxS manifest resource. 2011-08-25 17:21:05 +02:00
Vincent Povirk 380abdeb10 gdiplus: Fix vertical string alignment. 2011-08-02 21:16:38 +02:00
Frédéric Delanoy b5a33dab88 dlls: Assorted spelling fixes. 2011-08-02 20:47:51 +02:00
Vincent Povirk ae6ce97db0 gdiplus: Don't use a gdi32 brush for semi-transparent hatch brushes. 2011-07-27 19:03:51 +02:00
Vincent Povirk 171e832839 gdiplus: Fix use of uninitialized memory. 2011-07-18 16:23:29 +02:00
Marcus Meissner f0392c77bc gdiplus: Check return values of GdipCreateMatrix(2) (Coverity). 2011-07-14 14:14:04 +02:00
Vincent Povirk fda2fc7684 gdiplus: Implement GdipPlayMetafileRecord for EMF records. 2011-07-08 13:40:42 +02:00
Vincent Povirk 3a6ba94011 gdiplus: Add test showing scaling does not affect returned HDC objects. 2011-07-08 11:26:31 +02:00
Vincent Povirk 71325800dc gdiplus: Add tests for GdipPlayMetafileRecord. 2011-07-08 11:26:27 +02:00
Vincent Povirk 351a78bb4a gdiplus: Add test for recording emf-only metafiles. 2011-07-08 11:26:20 +02:00
Vincent Povirk 44c57121ea gdiplus: Implement GetDC for metafiles. 2011-07-08 11:26:14 +02:00
Vincent Povirk fd7475546b gdiplus: Stub GdipPlayMetafileRecord. 2011-07-08 11:26:06 +02:00
Vincent Povirk d59c3d45e3 gdiplus: Use DrawDriverString to draw the text in DrawString. 2011-06-28 16:52:21 -05:00
Vincent Povirk 6cc7e7f7c4 gdiplus: Implement GdipMeasureDriverString. 2011-06-28 16:46:16 -05:00
Vincent Povirk 640c7b5e4f gdiplus: Test MeasureDriverString with a character that has an underhang. 2011-06-28 16:46:12 -05:00
Vincent Povirk 0ec9d398a5 gdiplus: Fix the order of arguments to expectf in test_string_functions. 2011-06-28 16:46:05 -05:00
Vincent Povirk c0682a26d2 gdiplus: Add test for GdipMeasureDriverString. 2011-06-27 16:59:08 -05:00
Vincent Povirk 698fddf99b gdiplus: Properly clean up the new metafile data. 2011-06-22 11:25:46 +02:00
Marcus Meissner 9af15023a2 gdiplus: Convert and pass in 3 points, not 1 (Coverity). 2011-05-30 11:15:56 +02:00
Vincent Povirk 9793ab9fa6 gdiplus: Implement DriverStringOptionsRealizedAdvance in software. 2011-05-24 11:56:53 +02:00
Vincent Povirk 11754452d2 gdiplus: Change the sign we use for origin.x in DrawDriverString.
Apparently characters whose black boxes extend to the left of the origin have
a negative x value, but characters whose black boxes extend above the origin
have a positive y value.
2011-05-24 11:56:46 +02:00
Vincent Povirk 29b6b75edb gdiplus: Add test for GdipGetDC on metafiles. 2011-05-23 11:16:11 +02:00
Vincent Povirk fd9c5d7d01 gdiplus: Implement GdipEnumerateMetafileSrcRectDestPoints. 2011-05-23 11:16:06 +02:00
Vincent Povirk 06b23138e2 gdiplus: Remove is_emfplus field from test structure, as it's redundant. 2011-05-23 11:15:59 +02:00
Vincent Povirk 11248262be gdiplus: Add test for metafile enumeration. 2011-05-23 11:15:48 +02:00
Vincent Povirk d436e51872 gdiplus: Add basic metafile recording support. 2011-05-23 11:15:41 +02:00
Marcus Meissner 4892adb414 gdiplus: Mark image_format_dimensions as static. 2011-05-18 10:54:32 +02:00
Vincent Povirk 73e50ba60e gdiplus: Set export ordinals to match Windows 7. 2011-05-16 16:35:28 +02:00
Francois Gouget 5920de5ffb Assorted spelling and case fixes. 2011-05-09 12:09:27 +02:00
Marcus Meissner 3ed1339219 gdiplus: Mark internal symbols as having hidden visibility. 2011-04-26 15:31:27 +02:00
André Hentschel 66f212e667 gdiplus: Add a FIXME. 2011-04-13 14:13:52 +02:00
Vincent Povirk 1544640763 gdiplus: Add support for encoding TIFF images. 2011-04-11 19:32:53 +02:00
Vincent Povirk 14f925d5af gdiplus: Validate MatrixOrder in matrix functions. 2011-04-07 13:50:42 +02:00
Vincent Povirk 64841aac83 gdiplus: Respect the CmapLookup flag in GDI32_GdipDrawDriverString. 2011-04-05 13:36:56 +02:00
Vincent Povirk 11f0662c60 gdiplus: Don't settle on a font size until absolutely necessary.
When we create a new font, we should store its height in a REAL field so
we don't have to round it. Further, when we calculate the width, we should
base the calculation on the metrics of a font at the height we will use, to
prevent rounding errors when the graphics transform will enlarge the font.
2011-04-05 13:36:56 +02:00
Vincent Povirk be0af56be3 gdiplus: Add a software implementation of GdipDrawDriverString. 2011-04-05 13:36:56 +02:00
Vincent Povirk 32baa8ba4e gdiplus: Add helper for translating GpFont to HFONT. 2011-04-05 13:36:56 +02:00
Gerald Pfeifer 25764d79c0 gdiplus: Initialize a variable in SOFTWARE_GdipFillRegion to avoid a compiler warning. 2011-04-04 14:55:10 +02:00
Vincent Povirk 15140a722e gdiplus: Add basic implementation of GdipDrawDriverString. 2011-04-01 10:48:25 +02:00
Vincent Povirk ca5b5d2a05 gdiplus: Fall back to Liberation Serif if Times New Roman is missing. 2011-03-30 13:28:04 +02:00
Vincent Povirk b3dfe973ad gdiplus: Add test for GdipSetTextRenderingHint and make it pass. 2011-03-29 12:37:03 +02:00
Vincent Povirk 204253b6ba gdiplus: Add test for GdipDrawDriverString. 2011-03-29 12:36:59 +02:00
Vincent Povirk a7444e8e2c gdiplus: Use the given HPALETTE in GdipCreateBitmapFromHBITMAP. 2011-03-29 12:35:06 +02:00
Vincent Povirk 19b71b035e gdiplus: Implement gamma adjustment. 2011-03-28 17:16:26 +02:00
Vincent Povirk 805f0321eb gdiplus: Implement color transforms. 2011-03-28 17:16:23 +02:00
Vincent Povirk 4266b154be gdiplus: Initialize the ImageAttributes in GdipCreateTexture2I. 2011-03-28 17:08:53 +02:00
Vincent Povirk 42d1d9e9e0 gdiplus: Clean up HRGN when GdipGetRegionBounds succeeds too. 2011-03-28 17:08:53 +02:00
Vincent Povirk 314ec7178d gdiplus: Select the font into the appropriate hdc in GdipMeasureString. 2011-03-18 16:05:09 +01:00
Vincent Povirk 504b7c34d6 gdiplus: Remove the gdi32 line gradient drawing code.
It's unused now.
2011-03-17 10:42:45 +01:00
Vincent Povirk 71eb248c30 gdiplus: Implement GdipFillRectangle based on GdipFillPath. 2011-03-17 10:42:32 +01:00
Vincent Povirk 5190f8a5f1 gdiplus: Use GdipFillPath to implement GdipFillPolygonI. 2011-03-17 10:42:22 +01:00
Vincent Povirk 86d55d43c5 gdiplus: Use GdipFillPath to implement GdipFillPolygon. 2011-03-17 10:42:17 +01:00
Francois Gouget ca988fa401 gdiplus: Remove GdiplusShutdown() as it is redudant with GdiplusShutdown_wrapper(). 2011-03-16 14:14:23 +01:00
Francois Gouget 769dcd8447 gdiplus: Make load_ttf_name_id() static. 2011-03-16 14:14:23 +01:00
Vincent Povirk 2ce5be2ce3 gdiplus: Use GdipFillPath to implement GdipFillPie. 2011-03-15 17:14:06 +01:00
Vincent Povirk 4aa99eaf3b gdiplus: Use GdipFillPath to implement GdipFillEllipse. 2011-03-15 17:14:06 +01:00
Vincent Povirk b5c2015999 gdiplus: Add software implementation of GdipFillPath. 2011-03-15 17:14:06 +01:00
Vincent Povirk 833316f91d gdiplus: Call GdiAlphaBlend only once per GdipFillRegion call. 2011-03-15 17:14:06 +01:00
Vincent Povirk 77f5a07c1b gdiplus: Remove gdi32 fallback for bitmaps from GdipFillRegion.
We can always do a fill directly to the image bits when gdi32 can do it.
2011-03-15 17:14:06 +01:00
Vincent Povirk 4edff21ea2 gdiplus: Prefer to not use gdi32 for gradient and texture brushes. 2011-03-11 11:48:18 +01:00
Vincent Povirk 8a036abc5c gdiplus: Implement software rendering of texture brushes. 2011-03-11 11:48:08 +01:00
Vincent Povirk 2302e80cc9 gdiplus: Don't use gdi32 to scale or draw from outside bitmaps. 2011-03-11 11:47:50 +01:00
Vincent Povirk 8b6dafda45 gdiplus: Implement bilinear interpolation. 2011-03-11 11:47:34 +01:00
Vincent Povirk 51cf90d8ca gdiplus: Move bitmap interpolation into a separate function. 2011-03-11 11:47:32 +01:00
Vincent Povirk 5488ea1468 gdiplus: Implement tiling wrap modes. 2011-03-10 14:10:16 +01:00
Vincent Povirk d891a8c16c gdiplus: Apply image attributes to bitmaps before resampling them. 2011-03-10 14:10:16 +01:00
Vincent Povirk 870fdaf6ce gdiplus: Read drawn bitmaps in one step instead of using getpixel. 2011-03-10 14:10:15 +01:00
Vincent Povirk a7f95eeb7e gdiplus: Move ImageAttributes mapping into a helper function. 2011-03-10 14:10:15 +01:00
Vincent Povirk a2631ae1d2 gdiplus: Add tests for interpolation mode and make them pass. 2011-03-10 14:10:15 +01:00
Alexandre Julliard b3c333e916 gdiplus: Use signed types in convert_pixels to avoid problems on 64-bit. 2011-03-10 14:10:11 +01:00
Austin English 3ac2c9eea0 gdiplus: Avoid shadowing a parameter. 2011-03-09 14:08:08 +01:00
Vincent Povirk d0e6aa0204 gdiplus: Fix a handle leak in GdipDrawString. 2011-03-09 12:31:05 +01:00
Maarten Lankhorst b8a1e6c687 gdiplus: Implement GdipAddPathString. 2011-03-03 17:47:15 +01:00
Maarten Lankhorst c057694883 gdiplus: Add tests and fix GdipDrawImagePointsRect. 2011-03-03 17:47:15 +01:00
Maarten Lankhorst fe8e08a5d6 gdiplus: Clean up gdip_format_string. 2011-03-03 17:47:15 +01:00
Vincent Povirk 21d6fc9643 gdiplus: Implement ImageLockModeUserInputBuf. 2011-02-25 11:06:42 +01:00
Vincent Povirk 546b1a5cb4 gdiplus: Copy only the area requested when (un)locking bitmaps. 2011-02-25 11:06:36 +01:00
Vincent Povirk 9497e9380b gdiplus: Don't copy bits into the buffer when a bitmap is locked write-only. 2011-02-25 11:06:30 +01:00
Vincent Povirk 58eb96c9e7 gdiplus: Copy the bits on bitmap unlock if the write flag is set.
The read and write flags are independent, so a read flag being set doesn't
imply we can quit early.
2011-02-25 11:06:25 +01:00
Vincent Povirk d086af1d36 gdiplus: Test writes with conversion and without a user buffer. 2011-02-25 11:06:12 +01:00
Maarten Lankhorst 8794f8f708 gdiplus: Implement in-memory font storage. 2011-02-22 12:27:59 +01:00
Austin English f817e547f9 gdiplus/tests: Make sure to use return values (LLVM/Clang). 2011-02-17 17:30:00 +01:00
Vincent Povirk 88ce03103b gdiplus: Add tests for locked image bit reading/writing. 2011-02-15 17:01:43 +01:00
Vincent Povirk 732aa89c08 gdiplus: Add test for ImageLockModeUserInputBuf. 2011-02-15 17:01:43 +01:00
Vincent Povirk 86d58dc6c8 gdiplus: Store an ImageAttributes in texture brushes. 2011-02-15 17:01:43 +01:00
Austin English 2ebcaf1a51 gdiplus/tests: Remove redundant assignments (LLVM/Clang). 2011-02-10 10:27:55 -06:00
Austin English e77d27a2eb gdiplus/tests: Make sure to use return values (LLVM/Clang). 2011-02-10 10:27:39 -06:00
Austin English 273065cebe gdiplus/tests: Make sure to use return values (LLVM/Clang). 2011-02-10 09:57:39 -06:00
Austin English 1a24d1c0f1 gdiplus/tests: Make sure to use return values (LLVM/Clang). 2011-02-09 09:28:55 -06:00
Vincent Povirk 4fd76b0995 gdiplus: Fix error path in GdipAddPathRectangle. 2011-02-07 10:12:54 -06:00
Vincent Povirk cd3855f384 gdiplus: Allow adding rectangles with negative sizes to paths. 2011-02-07 10:12:33 -06:00
EG Galano fbf9494b89 gdiplus/tests: Make sure return value is used (LLVM/Clang). 2011-02-07 10:11:53 -06:00
Austin English 0d8f2b364c gdiplus/tests: Make sure to use return values (LLVM/Clang). 2011-02-07 10:11:30 -06:00
Vincent Povirk 757012cd3c gdiplus: Test the types of records in an empty EMF+. 2011-01-27 14:16:47 +01:00
Vincent Povirk a06b4bc59b gdiplus: Test for EMF+ recording. 2011-01-27 14:16:38 +01:00
Vincent Povirk e029d71c4b gdiplus: Stub GdipGetHemfFromMetafile. 2011-01-27 14:15:59 +01:00
Vincent Povirk 0c17a0b5bb gdiplus: Add a software implementation of line gradient brushes. 2011-01-24 12:13:57 +01:00
Vincent Povirk b7e664bc5c gdiplus: Add a software implementation of hatch brushes. 2011-01-24 12:13:54 +01:00
Vincent Povirk 60cd477342 gdiplus: Add a software implementation of GdipFillRegion. 2011-01-24 12:13:51 +01:00
Vincent Povirk 6acffba564 gdiplus: Factor the matrix creation code out of GdipTransformPoints. 2011-01-24 12:13:09 +01:00
Vincent Povirk b689e63a86 gdiplus: Factor out the gdi32 code of GdipFillRegion. 2011-01-24 12:13:00 +01:00
Vincent Povirk d7379712e7 gdiplus: Rewrite GdipCreateMatrix3. 2011-01-17 13:22:05 +01:00
Martin Petricek ee3c179026 gdiplus: Support for indexed formats in GdipBitmapSetPixel. 2011-01-12 15:02:38 +01:00
Vincent Povirk 32bbb0bbcf gdiplus: Correctly store the given stride in created bitmaps. 2010-11-12 17:47:43 +01:00
Vincent Povirk 8f1b722790 gdiplus: Allow more drawing operations to succeed without an HDC.
This should bring things to the mostly-regression-free-but-easier-to-debug
state I was expecting when I removed DIBs from many bitmaps.
2010-11-10 17:18:40 +01:00
Vincent Povirk f49d56fef3 gdiplus: Add tests for GdipGetLineTransform. 2010-11-01 11:33:58 +01:00
Vincent Povirk 3e86d43030 gdiplus: Don't rely on an HDC in GdipMeasureString. 2010-11-01 11:33:51 +01:00
Vincent Povirk 867f3d39e7 gdiplus: Don't rely on an HDC in GdipMeasureCharacterRanges. 2010-11-01 11:33:40 +01:00
Vincent Povirk cb21d1caf4 gdiplus: Don't rely on an HDC in GdipGetFontHeight. 2010-11-01 11:33:31 +01:00
Vincent Povirk 4fff9a7a52 gdiplus: Add a test for GdipCreateMatrix3. 2010-11-01 11:33:25 +01:00
Vincent Povirk bb444e81cc gdiplus: Fix point conversion in GdipCreateLineBrushI. 2010-11-01 11:33:19 +01:00
Vincent Povirk 2661ce79d6 gdiplus: Reject linear gradients where the start and end points are equal. 2010-10-28 11:41:45 +02:00
Vincent Povirk bb5f5dba93 gdiplus: Make get_path_hrgn work with HDC-less graphics objects. 2010-10-28 11:41:39 +02:00
Vincent Povirk 5f327f7812 gdiplus: Implement GdipGetRegionScans. 2010-10-28 11:41:32 +02:00
Austin Lund ae0a484945 gdiplus/tests: Fix GetLogFont charset tests for Asian platforms. 2010-10-25 13:52:51 +02:00
Vincent Povirk c8a48f237e gdiplus: Don't create a DIB section for non-alpha or reference bitmaps. 2010-10-01 13:44:39 +02:00
Vincent Povirk 473afa4b8c gdiplus: Implement GdipGetRegionScansCount. 2010-10-01 13:44:06 +02:00
Vincent Povirk 40d8876fc4 gdiplus: Implement GdipTransformRegion. 2010-10-01 13:44:00 +02:00
Vincent Povirk 1eb12cb08d gdiplus: Return 0 from GdiplusShutdown. 2010-10-01 13:43:49 +02:00
Vincent Povirk 9326fc13ca gdiplus: Don't try to free invalid or already-freed images. 2010-10-01 13:43:33 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Vincent Povirk 77a5b635aa gdiplus: Set flags and dpi when images are loaded. 2010-09-02 11:53:33 +02:00
Alexandre Julliard 121691e832 gdiplus: Use float instead of long in the spec file for 32-bit floating point values. 2010-08-31 14:23:49 +02:00
Austin English 3745961b2e gdiplus: Add a stub for GdipConvertToEmfPlusToFile. 2010-08-24 15:22:29 +02:00
Austin English 5435fbba55 gdiplus: Add a stub for GdipWindingModeOutline. 2010-08-24 13:17:58 +02:00
Vincent Povirk 517059f3f5 gdiplus: Set bitmap has alpha flag based on format. 2010-08-23 12:03:47 +02:00
Vincent Povirk 18a4e24368 gdiplus: Stub GdipTranslatePenTransform. 2010-08-23 12:03:37 +02:00
Vincent Povirk b57c4314c1 gdiplus: Stub GdipGetPathGradientPresetBlend. 2010-08-23 12:03:32 +02:00
Vincent Povirk 8dd940d0b5 gdiplus: Stub GdipTranslatePathGradientTransform. 2010-08-23 12:03:26 +02:00
Vincent Povirk 9d0cd09597 gdiplus: Add a fallback method for getting HDC's from Graphics objects.
Native does this in more cases (at least for all bitmap graphics
objects), but using gdi32 objects when we can should perform better.
2010-08-18 09:42:58 +02:00
Vincent Povirk 728aaf2902 gdiplus: Add tests for the HDC's we get from bitmap objects. 2010-08-17 11:55:33 +02:00
Vincent Povirk 2a345f36e3 gdiplus: Use the software method to draw HBITMAP-less bitmaps. 2010-08-17 11:55:33 +02:00
Vincent Povirk 1a710ac36f gdiplus: Stub GdipGetPathGradientTransform. 2010-08-17 11:55:33 +02:00
Vincent Povirk 41f4263277 gdiplus: Stub GdipSetPathGradientLinearBlend. 2010-08-17 11:55:33 +02:00
Vincent Povirk 462c599335 gdiplus: Stub GdipScalePathGradientTransform. 2010-08-17 11:55:33 +02:00
Vincent Povirk b56f3c3b21 gdiplus: Stub GdipRotatePathGradientTransform. 2010-08-17 11:55:33 +02:00
Vincent Povirk 1fdecda9da gdiplus: Stub GdipSetPathGradientTransform. 2010-08-17 11:55:33 +02:00
Vincent Povirk 9a6eabf0b5 gdiplus: Create HBITMAP-less bitmap objects for exotic pixel formats. 2010-08-17 11:55:33 +02:00
Vincent Povirk 963c7090d5 gdiplus: Don't require an HDC to get the resolution of a graphics object. 2010-08-17 11:55:33 +02:00
Vincent Povirk c3ca6be2b9 gdiplus: Give a nice warning when we try to draw to an HDC-less graphics. 2010-08-17 11:55:33 +02:00
Vincent Povirk 5601860b76 gdiplus: Don't require an HDC in get_graphics_bounds. 2010-08-17 11:55:33 +02:00
Vincent Povirk 85a5710688 gdiplus: Don't require an HDC for the convert_unit function. 2010-08-17 11:55:33 +02:00
Vincent Povirk 00aeee6e8e gdiplus: Stub GdipMultiplyPathGradientTransform. 2010-08-03 19:24:39 +02:00
Vincent Povirk 358d382782 gdiplus: Stub GdipGetPathGradientPresetBlendCount. 2010-08-03 19:24:33 +02:00
Vincent Povirk 2da2c9fd6b gdiplus: Stub GdipGetPenTransform. 2010-08-03 19:24:28 +02:00
Vincent Povirk c1582f957a gdiplus: Stub GdipRotatePenTransform. 2010-08-03 19:24:22 +02:00
Vincent Povirk 09de12b2a3 gdiplus: Stub GdipSetPenTransform. 2010-08-03 19:24:13 +02:00
Wade Gobel cceb3dc77a gdiplus: Implemented GdipFillClosedCurve and GdipFillClosedCurveI. 2010-07-28 14:01:52 +02:00
Wade Gobel f4e2af65c5 gdiplus: Fixed GdipFillClosedCurve2 and GdipFillClosedCurve2I in the cases that count <= 1. 2010-07-28 14:01:52 +02:00
Harry Jeffery 4faf80280c Fixed various spelling mistakes. 2010-07-26 13:34:20 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Alexandre Julliard 811cdfaf27 gdi32: Reject invalid DIB depths in CreateDIBSection. 2010-07-20 14:40:32 +02:00
Vincent Povirk 2a74569230 gdiplus: Stub GdipMultiplyPenTransform. 2010-07-19 14:49:07 +02:00
Vincent Povirk 3506521f16 gdiplus: Stub GdipGetPenCompoundCount. 2010-07-19 14:49:07 +02:00
Vincent Povirk 5694825ae3 gdiplus: Return copies of fonts from GdipGetFontCollectionFamilyList. 2010-07-19 14:49:07 +02:00
Vincent Povirk 3847c2dec9 gdiplus: Stub GdipGetMetafileHeaderFromStream. 2010-07-19 14:49:07 +02:00
Vincent Povirk 688eb0688b gdiplus: Stub GdipGetMetafileHeaderFromFile. 2010-07-19 14:49:07 +02:00
Vincent Povirk 2223900cf6 gdiplus: Stub GdipGetMetafileHeaderFromEmf. 2010-07-05 11:54:57 +02:00
Vincent Povirk 0c8ac02440 gdiplus: Stub GdipRecordMetafileStream. 2010-07-05 11:54:54 +02:00
Vincent Povirk 48ceb3d67f gdiplus: Stub GdipRecordMetafile. 2010-07-05 11:54:52 +02:00
Vincent Povirk 0e06326f5d gdiplus: Set result to NULL when CreatePathGradient fails. 2010-07-05 11:54:49 +02:00
Vincent Povirk 1c41470cd0 gdiplus: Check for null pt in GdipCreateMatrix3. 2010-07-05 11:54:47 +02:00
Alexandre Julliard 415bb3c5a0 gdiplus/tests: Don't fail if we do find Microsoft Sans Serif on Wine. 2010-07-01 12:06:35 +02:00
Alexandre Julliard 5d71136611 gdiplus/tests: Use Tahoma instead of Courier New for testing font metrics. 2010-07-01 11:38:46 +02:00
Alexandre Julliard 4b9258d165 gdiplus/tests: Comment out a test that corrupts the stack on Vista. 2010-06-30 14:17:13 +02:00
Andrew Nguyen 6ea90c3c2e gdiplus: Add a few additional traces to gdiplus image functions. 2010-06-25 12:50:03 +02:00
Vincent Povirk 63fa6915ec gdiplus: Stub GdipGetEncoderParameterListSize. 2010-06-25 10:26:18 +02:00
Vincent Povirk 4c93f9f880 gdiplus: Always create path gradient brushes with blend positions. 2010-06-25 10:26:13 +02:00
Vincent Povirk 0178093576 gdiplus: Stub GdipGetPathGradientCenterColor. 2010-06-25 10:26:04 +02:00