Commit Graph

1309 Commits

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