Commit Graph

980 Commits

Author SHA1 Message Date
Vincent Povirk bd86e27919 gdiplus: Use gdi texture brushes to draw hatch brushes. 2009-10-09 11:50:29 +02:00
Paul Vriens a126f0caf2 gdiplus/tests: Fix some test failures on older gdiplus versions. 2009-09-28 12:39:32 +02:00
Vincent Povirk 809f721aba gdiplus: Implement GdipBitmapSetPixel. 2009-09-24 13:26:49 +02:00
Vincent Povirk 41140a950b gdiplus: Implement GdipBitmapGetPixel. 2009-09-24 13:26:35 +02:00
Vincent Povirk e1cb441781 gdiplus: Add tests for GdipBitmap(Get|Set)Pixel. 2009-09-24 13:25:00 +02:00
Marcus Meissner e70e1249c3 gdiplus: do not memcpy over NULL ptrs (Coverity). 2009-09-22 16:15:48 +02:00
Vincent Povirk e261568652 gdiplus: Accept version 2 in GdiplusStartup. 2009-09-22 16:15:29 +02:00
Vincent Povirk ed059e1175 gdiplus/tests: Reject gdiplus versions greater than 2. 2009-09-22 16:15:24 +02:00
Vincent Povirk d2e999d2e8 gdiplus: Use the preset blend when drawing linear gradients. 2009-09-15 17:34:56 -05:00
Vincent Povirk ad6adc750e gdiplus: Add tests for linear gradient preset blends. 2009-09-15 17:34:48 -05:00
Vincent Povirk 8bdabe3a18 gdiplus: Store preset blends in linear gradient brushes. 2009-09-15 17:34:35 -05:00
Vincent Povirk 52e91927fd gdiplus: Stub GdipGetLinePresetBlend[Count]. 2009-09-15 17:34:23 -05:00
Vincent Povirk 0595fc5e03 gdiplus: Implement GdipGetImageRawFormat. 2009-09-15 17:34:12 -05:00
Vincent Povirk 377b73d022 gdiplus: Don't accept MS Sans Serif as the generic sans serif font. 2009-09-08 13:45:03 +02:00
Vincent Povirk 0acfffc17b gdiplus: Don't calculate the number of points in the arc by dividing. 2009-09-08 13:44:44 +02:00
Vincent Povirk 99012b9a4e gdiplus: Don't use the supplied rect to calculate font scaling factors. 2009-09-08 13:44:25 +02:00
Vincent Povirk 969da83ea7 gdiplus: Stub GdipScaleLineTransform. 2009-09-08 13:44:15 +02:00
Vincent Povirk cded6c8b79 gdiplus: Stub GdipResetLineTransform. 2009-09-08 13:44:08 +02:00
Vincent Povirk 94ab23377d gdiplus: Implement GdipDrawImagePointRect. 2009-09-08 13:44:01 +02:00
Vincent Povirk aef202507b gdiplus: Remove unused bitmap flipping code. 2009-09-08 12:13:07 +02:00
Vincent Povirk 0313f88794 gdiplus: Disable alpha channel support for BMP images. 2009-09-08 12:13:01 +02:00
Vincent Povirk 91e0ee260b gdiplus: Use WIC to decode PNG files. 2009-09-08 12:12:54 +02:00
Vincent Povirk 947e39dbc7 gdiplus: Use WIC to decode BMP files. 2009-09-08 12:12:45 +02:00
Vincent Povirk e23ccb787d gdiplus: Fix a copy outside allocated memory in GdipCreateTextureIA. 2009-09-08 12:12:39 +02:00
Vincent Povirk ba09567716 gdiplus: Test for the lowest rejected startup version. 2009-09-08 12:12:34 +02:00
Ge van Geldorp 1e6a80133b gdiplus/tests: Fix tests on Win7. 2009-09-08 12:12:00 +02:00
Ge van Geldorp 3b336da990 gdiplus/tests: Fix test on Win7. 2009-09-02 14:39:40 +02:00
Vincent Povirk 6c2d85ca84 gdiplus: Use WIC to decode GIF files. 2009-09-02 10:25:02 +02:00
Vincent Povirk faad683e47 gdiplus: Use WIC to decode JPEG files. 2009-09-02 10:24:53 +02:00
Vincent Povirk e4a3ad81be gdiplus: Use WIC to encode images. 2009-09-02 10:24:47 +02:00
Vincent Povirk 9d149e606b gdiplus: Use WIC to decode ICO files. 2009-09-01 12:43:48 +02:00
Vincent Povirk cb3ee716a2 gdiplus: Reimplement GdipCreateBitmapFromHICON based on RGBA bitmaps. 2009-08-29 16:48:56 +02:00
Vincent Povirk 895c6d8e1e gdiplus: Use AlphaBlend for 32-bit images with alpha channels. 2009-08-29 16:48:56 +02:00
Vincent Povirk 7fdc0208e8 gdiplus: Return the real image bits from LockBits when possible. 2009-08-29 16:48:55 +02:00
Vincent Povirk 436b3be651 gdiplus: Create DIBs instead of IPictures in CreateBitmapFromScan0. 2009-08-29 16:48:55 +02:00
Vincent Povirk d87adf2a60 gdiplus: Don't use IPicture to manage the HDC associated with a GpBitmap. 2009-08-29 16:48:55 +02:00
Vincent Povirk e48524ceb6 gdiplus: Add and use an HBITMAP field in GpBitmap objects. 2009-08-29 16:48:55 +02:00
Vincent Povirk b99abe2e91 gdiplus: Use the decoder list to decide how to load image files. 2009-08-29 16:48:55 +02:00
Vincent Povirk 2f0b4bf36b gdiplus: Add PNG to the decoders list. 2009-08-29 16:48:54 +02:00
Vincent Povirk 28e345882c gdiplus: Implement GdipCreateHBITMAPFromBitmap. 2009-08-28 11:54:50 +02:00
Vincent Povirk 88bc342612 gdiplus: Add test for GdipCreateHBITMAPFromBitmap. 2009-08-28 11:54:50 +02:00
Andrew Eikum f5896a2be0 gdiplus: Implement GdipIsVisibleRect. 2009-08-27 11:51:24 +02:00
Andrew Eikum d06dd2d7cb gdiplus: Implement GdipIsVisiblePoint. 2009-08-27 11:51:08 +02:00
Andrew Eikum 39f6f491a6 gdiplus: Add utility function get_visible_clip_region. 2009-08-27 11:50:23 +02:00
Andrew Eikum 2032b0d354 gdiplus: Implement GdipIsVisibleRegionRect. 2009-08-26 15:05:46 +02:00
Andrew Eikum 32996e0a11 gdiplus: Implement GdipIsVisibleRegionPoint. 2009-08-26 14:57:18 +02:00
Andrew Eikum 9ec5f9ad6f gdiplus: Support regions of more than one rectangle in GdipCreateRegionHrgn. 2009-08-25 10:23:48 +02:00
Vincent Povirk 7246a487d9 gdiplus: Remove an ipicture reference in GdipCreateBitmapFromStream. 2009-08-21 11:28:38 +02:00
Vincent Povirk e72defc8f7 gdiplus: Do not call IPicture_Render directly from GdipDrawImageI. 2009-08-21 11:28:29 +02:00
Vincent Povirk 69ba1415e3 gdiplus: Add codecs for the image formats we can currently decode. 2009-08-21 11:17:20 +02:00
Vincent Povirk b27c3c1983 gdiplus: Only attempt to encode if the Encoder flag is set. 2009-08-21 11:16:58 +02:00
Vincent Povirk 40df7dbc07 gdiplus: Implement GdipGetImageDecoders[Size]. 2009-08-21 11:16:50 +02:00
Vincent Povirk 96023267c8 gdiplus: Store the codec information and functions in a single structure. 2009-08-21 11:16:38 +02:00
Alexandre Julliard 186528e298 gdiplus/tests: Use the global wine_dbgstr_w instead of a local variant. 2009-08-19 13:36:22 +02:00
Vincent Povirk dad00cce44 gdiplus: Add a test for drawing to application-provided memory. 2009-08-19 12:15:22 +02:00
Francois Gouget 04105f7ff3 gdiplus/tests: Add a trailing '\n' to an ok() call. 2009-08-19 12:07:28 +02:00
Andrew Eikum 60fc01a0c4 gdiplus/tests: Add tests for GdipGetVisibleClipBounds. 2009-08-13 16:44:28 +02:00
Andrew Eikum ef0ee6e556 gdiplus: Implement GdipGetVisibleClipBounds. 2009-08-13 16:44:09 +02:00
Andrew Eikum fdf48f1d4d gdiplus: Create utility function get_graphics_bounds. 2009-08-13 16:43:41 +02:00
Vincent Povirk d76d00ea7e gdiplus: Remove an unnecessary picture reference in GdipSaveImageToFile. 2009-08-11 17:29:58 +02:00
Ken Sharp e072d36a87 gdiplus: Add GdipIsVisibleRectI stub. 2009-08-06 12:25:53 +02:00
Alistair Leslie-Hughes 7b2292fac1 gdiplus: Add GdipRecordMetafileI stub. 2009-08-04 15:21:00 +02:00
Vincent Povirk c71853cda5 gdiplus: Ignore the graphics transforms in GdipGetRegionBounds. 2009-08-04 12:49:01 +02:00
Vincent Povirk ee74501102 gdiplus: Fix rectangles of horizontal and vertical gradients. 2009-08-04 12:48:42 +02:00
Luke Benstead ea96cd3a52 gdiplus: Implement stub for GdipGetImagePalette. 2009-08-03 17:35:52 +02:00
Nikolay Sivov c562d444f5 gdiplus: Correctly forward to GdipAddPathPie. 2009-08-03 15:04:10 +02:00
Vincent Povirk 55ec1d9150 gdiplus: Store color key information in ImageAttributes. 2009-08-03 14:55:41 +02:00
Vincent Povirk e0d9d17536 gdiplus: Do not draw line-breaking spaces. 2009-08-03 14:55:29 +02:00
Vincent Povirk b330ebfe8e gdiplus: Don't use -escapement angle in GdipDrawString. 2009-08-03 14:55:15 +02:00
Vincent Povirk 2cdc48a4e5 gdiplus: Implement GdipSetLineLinearBlend. 2009-07-13 10:25:44 +02:00
Vincent Povirk 849af30eb8 gdiplus: Use brush_fill_path in GdipFillRectangleI. 2009-07-13 10:25:30 +02:00
Vincent Povirk 6a8a770c76 gdiplus: Use brush_fill_path in GdipFillRegion. 2009-07-13 10:25:26 +02:00
Vincent Povirk 38fc894c96 gdiplus: Use brush_fill_path in GdipFillPolygonI. 2009-07-13 10:25:19 +02:00
Vincent Povirk 15fef07887 gdiplus: Use brush_fill_path in GdipFillPolygon. 2009-07-13 10:25:10 +02:00
Vincent Povirk bedbd40f5e gdiplus: Use brush_fill_path in GdipFillPie. 2009-07-13 10:25:06 +02:00
Vincent Povirk e306316c7d gdiplus: Use brush_fill_path in GdipFillEllipse. 2009-07-13 10:25:02 +02:00
Andrew Eikum 1ef13941f6 gdiplus: Implement GdipSaveGraphics and GdipRestoreGraphics. 2009-07-08 20:35:20 +02:00
Andrew Eikum a06c2570e5 gdiplus: Don't modify container list if container restoration fails. 2009-07-08 20:35:09 +02:00
Andrew Eikum 0ed10bf696 gdiplus/tests: Test cases for GdipBeginContainer2. 2009-07-07 12:33:21 +02:00
Andrew Eikum 632aef3d8b gdiplus: Implement GdipBeginContainer2 and GdipEndContainer. 2009-07-07 12:33:10 +02:00
Alexandre Julliard 4d31a25f50 gdiplus: Don't return garbage from the GdipCreateHBITMAPFromBitmap stub. 2009-07-01 12:14:40 +02:00
Vincent Povirk 9fceef33b7 gdiplus: Don't crash when a NULL format is passed to GdipDrawString. 2009-07-01 11:38:11 +02:00
Andrew Eikum 4c0edba681 gdiplus: Implement GdipDrawCurve3 and GdipDrawCurve3I. 2009-06-30 12:58:31 +02:00
Vincent Povirk aa9602db10 gdiplus: Implement horizontal alignment in GdipDrawString. 2009-06-30 12:31:37 +02:00
Andrew Eikum c2aa66d506 gdiplus/tests: Add tests for GdipDrawCurve2I. 2009-06-29 12:29:35 +02:00
Andrew Eikum fe55f0df2a gdiplus/tests: Add tests for GdipDrawCurveI. 2009-06-29 12:29:32 +02:00
Andrew Eikum 7dcfb09b1e gdiplus/tests: Add tests for GdipDrawCurve2. 2009-06-29 12:29:27 +02:00
Andrew Eikum ff95a69f5a gdiplus/tests: Fix resource leaks in several tests.
A few tests initialized two GpGraphics objects, and only released one.
These have been fixed by removing the redundant initialization.
2009-06-26 14:38:13 +02:00
Ken Sharp e096b59ceb gdiplus: Add GdipIsVisibleRegionPointI stub. 2009-06-23 15:53:00 +02:00
Francois Gouget 489bd52aff gdiplus: Remove spaces before '\n's. 2009-06-15 13:42:29 +02:00
Ken Sharp e3f4859961 gdiplus: Add stubs for GdipGetVisibleClipBoundsI, GdipDrawDriverString & GdipMeasureDriverString. 2009-06-10 12:19:45 +02:00
Vincent Povirk edce2c124a gdiplus: Stub GdipSetPathGradientPresetBlend. 2009-06-10 11:46:43 +02:00
Andrew Eikum 119e9af74a gdiplus: Test cases and parameter checks for GdipDrawCurve. 2009-06-08 12:41:58 +02:00
Stephan Rose eb3904d02b gdiplus: Add support for vertical string alignment to GdipDrawString. 2009-06-05 15:19:56 +02:00
Andrew Eikum f01bfea62e gdiplus: Stub for GdipBitmapCreateApplyEffect. 2009-06-05 15:19:56 +02:00
Andrew Eikum ad2341253c gdiplus: Stub for GdipBitmapApplyEffect. 2009-06-05 15:19:56 +02:00
Andrew Eikum 156eeb08be gdiplus: Stubs for GdipDrawImagePoints and GdipDrawImagePointsI. 2009-06-04 12:38:37 +02:00
Andrew Eikum 46de8c0eb4 gdiplus: Stub for GdipEmfToWmfBits. 2009-06-04 12:38:33 +02:00
Andrew Eikum eec8d511cc gdiplus: Stubs for GdipDrawImagePointRect and GdipDrawImagePointRectI. 2009-06-03 11:53:25 +02:00
Andrew Eikum 84a434fd25 gdiplus: Stub for GdipDeleteEffect. 2009-06-03 11:53:09 +02:00
Andrew Eikum c02e75cf78 gdiplus: Stubs for GdipCreateMetafileFromFile, GdipCreateMetafileFromStream. 2009-06-02 12:08:44 +02:00
Andrew Eikum b850008bec gdiplus: Stub for GdipComment. 2009-06-02 11:57:22 +02:00
Andrew Eikum 57134fc890 gdiplus: Stub for GdipCloneBitmapArea. 2009-06-02 11:57:22 +02:00
Andrew Eikum 3091506609 gdiplus: Stubs for GdipBeginContainer and GdipBeginContainerI. 2009-06-01 16:16:06 +02:00
Andrew Eikum 8d6ee56119 gdiplus: Stubs for GdipAddPathString and GdipAddPathStringI. 2009-06-01 16:16:06 +02:00
Vincent Povirk 8219db2d6d gdiplus: Stub GdipCreateHICONFromBitmap. 2009-05-28 12:42:17 +02:00
Vincent Povirk 60167dfb74 gdiplus: Implement partially transparent solid fill brushes. 2009-05-21 16:17:52 +02:00
Vincent Povirk c486e8147d gdiplus: Implement GdipTransformPointsI. 2009-05-20 10:51:42 +02:00
Vincent Povirk 2af29ed916 gdiplus: Implement GdipTransformPoints. 2009-05-20 10:51:33 +02:00
Vincent Povirk 0c71d5b3f7 gdiplus: Stub GdipWarpPath. 2009-05-14 17:23:15 +02:00
Vincent Povirk 8d5c833d25 gdiplus: Stub GdipWidenPath. 2009-05-14 17:23:10 +02:00
Vincent Povirk ef4d0d970d gdiplus: Populate the installed font collection. 2009-05-14 17:23:03 +02:00
Vincent Povirk abae88a825 gdiplus: Add string format traces. 2009-05-14 11:13:44 +02:00
Vincent Povirk 0f80aa8816 gdiplus: Add a trace to GdipMeasureString. 2009-05-14 11:13:35 +02:00
Vincent Povirk 3dd5ce7874 gdiplus: Add a trace to GdipDrawString. 2009-05-14 11:13:29 +02:00
Stefan Leichter cef1598390 gdiplus: Add stub for GdipImageRotateFlip. 2009-05-08 13:03:21 +02:00
Vincent Povirk 717ac52dda gdiplus: Use the mode passed to GdipCreateLineBrushFromRect. 2009-05-08 12:21:24 +02:00
Vincent Povirk aaee4d7f9d gdiplus: Store the rect passed to GdipCreateLineBrushFromRect. 2009-05-08 12:21:16 +02:00
Vincent Povirk 173a1f6f79 gdiplus: Store the rectangle in line gradient brushes. 2009-05-08 12:21:11 +02:00
Vincent Povirk 550d02e1ad gdiplus: Expand the GdipGetLineRect tests. 2009-05-08 12:21:03 +02:00
Vincent Povirk 323e7e68eb gdiplus: Use brush_fill_path in GdipFillRectangle. 2009-05-07 14:44:22 +02:00
Vincent Povirk 27b47ead7e gdiplus: Stub GdipSetRenderingOrigin. 2009-05-07 14:44:22 +02:00
Alexandre Julliard f6f2f9346e gdiplus/tests: Don't free GDI objects with GlobalFree. 2009-05-06 16:45:05 +02:00
Stefan Leichter a91a97d8ef gdiplus: Add stub for GdipGetImageThumbnail. 2009-05-06 12:06:43 +02:00
Vincent Povirk 1860b32618 gdiplus: Implement GdipSetLineSigmaBlend. 2009-05-05 11:34:01 +02:00
Vincent Povirk cb478a3258 gdiplus: Don't draw outside of gradient lines.
Currently, gradients are drawn by filling a series of quadrilaterals,
with one side equal to a gradient line and the other side equal to the
edge of the bounding rectangle of the area being filled. A single
pixel can be filled many times, and that causes flicker.
2009-05-04 12:50:42 +02:00
Vincent Povirk 966fd5ec09 gdiplus: Properly draw points outside of line gradients.
Theoretically, a line gradient covers the area enclosed by the
starting and ending gradient lines, which intersect the start and end
points respectively and are perpendicular to a line joining the start
and end points.
2009-05-04 12:50:33 +02:00
Vincent Povirk a6161307cf gdiplus: Account for blend factors and positions in line gradients. 2009-05-04 12:50:18 +02:00
Vincent Povirk 47e70af50b gdiplus: Correct the lfHeight calculation in GdipCreateFontFromLogfontW.
Negative lfHeight values do not include internal leading. This was
making fonts created from LOGFONT structures larger than they should be.
2009-05-04 12:50:05 +02:00
Vincent Povirk 47c3993ad3 gdiplus: Add tests for GdipGet/SetLineBlend. 2009-04-29 13:07:45 +02:00
Vincent Povirk 47a81f5a0c gdiplus: Implement GdipGetLineBlend. 2009-04-29 13:07:34 +02:00
Vincent Povirk 1e88ee5030 gdiplus: Implement GdipGetLineBlendCount. 2009-04-29 13:07:27 +02:00
Vincent Povirk 1f4940ae44 gdiplus: Implement GdipSetLineBlend. 2009-04-29 13:07:20 +02:00
Vincent Povirk b05cf906d1 gdiplus: Add blend information to linear gradient brushes. 2009-04-29 13:07:07 +02:00
Vincent Povirk 1de792290b gdiplus: Stub GdipGetLineBlend. 2009-04-29 13:06:48 +02:00
Vincent Povirk 3d37b0a7fa gdiplus: Stub GdipGetLineBlendCount. 2009-04-29 13:06:40 +02:00
Vincent Povirk 73eea0d05f gdiplus: Create a static InstalledFontCollection object, currently empty. 2009-04-28 13:10:02 +02:00
Vincent Povirk 31f2b8e1ea gdiplus: Add test for GdipNewInstalledFontCollection. 2009-04-28 13:10:01 +02:00
Massimo Del Fedele a3221e7f23 gdiplus: Add stub for GdipBitmapSetPixel. 2009-04-28 13:10:01 +02:00
Vincent Povirk c3d2395669 gdiplus: Don't leak a device context when GdipCreateFromHWND fails. 2009-04-27 13:23:05 +02:00
Vincent Povirk 8a3d9ff773 gdiplus: Only release device contexts created internally. 2009-04-27 13:23:00 +02:00
Paul Vriens 1c2b29dae3 gdiplus/tests: Fix a test failure on Win98. 2009-04-24 15:02:58 +02:00
Paul Vriens 163b046ec5 gdiplus/tests: Fix test failures on Win98 by using A-functions. 2009-04-24 11:57:03 +02:00
Paul Vriens 40f812c110 gdiplus: Convert lfFaceName from W to A, not the other way around. 2009-04-24 11:56:52 +02:00
Paul Vriens 7bf6a3030b gdiplus: Return the correct result in GdipCreateFontFromLogfontA. 2009-04-24 11:56:38 +02:00
Andrew Nguyen f82a086f56 gdiplus: Stub GdipBitmapSetResolution. 2009-04-20 17:20:12 +02:00
Francois Gouget 5ef481922f Assorted spelling fixes. 2009-04-20 15:25:26 +02:00
Vincent Povirk 0879b767ae gdiplus: GdipDrawString: Handle either a width or height of 0 sanely.
Based on Aric's recent patch.
2009-04-02 15:09:55 +02:00
Vincent Povirk 68dba4eff3 gdiplus: Support line gradient brushes in GdipFillPath. 2009-03-24 13:57:39 +01:00
Vincent Povirk efcd0bbffa gdiplus: Stub GdipCloneBitmapAreaI. 2009-03-09 12:04:28 +01:00