Commit Graph

1329 Commits

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