461 Commits

Author SHA1 Message Date
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
b3dfe973ad gdiplus: Add test for GdipSetTextRenderingHint and make it pass. 2011-03-29 12:37:03 +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
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
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
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
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
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
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
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
2a345f36e3 gdiplus: Use the software method to draw HBITMAP-less bitmaps. 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
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