Commit Graph

231 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
Vincent Povirk fda2fc7684 gdiplus: Implement GdipPlayMetafileRecord for EMF records. 2011-07-08 13:40:42 +02:00
Vincent Povirk 44c57121ea gdiplus: Implement GetDC for metafiles. 2011-07-08 11:26:14 +02:00
Vincent Povirk d436e51872 gdiplus: Add basic metafile recording support. 2011-05-23 11:15:41 +02:00
Marcus Meissner 3ed1339219 gdiplus: Mark internal symbols as having hidden visibility. 2011-04-26 15:31:27 +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 32baa8ba4e gdiplus: Add helper for translating GpFont to HFONT. 2011-04-05 13:36:56 +02:00
Vincent Povirk 8a036abc5c gdiplus: Implement software rendering of texture brushes. 2011-03-11 11:48:08 +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
Maarten Lankhorst b8a1e6c687 gdiplus: Implement GdipAddPathString. 2011-03-03 17:47:15 +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 86d58dc6c8 gdiplus: Store an ImageAttributes in texture brushes. 2011-02-15 17:01:43 +01:00
Vincent Povirk b7e664bc5c gdiplus: Add a software implementation of hatch brushes. 2011-01-24 12:13:54 +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 9a6eabf0b5 gdiplus: Create HBITMAP-less bitmap objects for exotic pixel formats. 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 0ae0c0c09e gdiplus: Implement GdipSetImageAttributesWrapMode. 2010-05-10 10:01:48 +02:00
Vincent Povirk 6b53cb27bc gdiplus: Fix the non-trivial case in color_over. 2010-04-19 14:54:05 +02:00
Vincent Povirk 5433969ec8 gdiplus: Don't use gdi32 to draw to bitmaps with formats it can't handle. 2010-03-29 12:19:48 +02:00
Vincent Povirk af7b8efc94 gdiplus: Store a reference to the image in image graphics contexts. 2010-03-29 12:19:38 +02:00
Justin Chevrier 78f9177d9d gdiplus: Implement GdipSetImageAttributesRemapTable with updated test. 2010-03-04 12:30:17 +01:00
Vincent Povirk 70c9e4fb3d gdiplus: Store an image in texture brushes, and use it when cloning. 2010-02-15 12:20:00 +01:00
Vincent Povirk 318ba28630 gdiplus: Don't use gdi32 to do pixel format conversion. 2010-02-08 17:14:43 +01:00
Vincent Povirk 762845ca8c gdiplus: Implement GdipSetImageAttributesGamma. 2010-02-01 12:08:59 +01:00
Vincent Povirk 1aea88cac1 gdiplus: Implement GdipGetImage*Resolution. 2009-12-28 12:57:37 +01:00
Vincent Povirk 7ded3d83c6 gdiplus: Add some traces for the values of point arguments. 2009-12-28 11:54:27 +01:00
Hans Leidekker 9f63f7d949 gdiplus: Implement GdipGet/SetStringFormatMeasurableCharacterRanges. 2009-12-22 13:48:26 +01:00
Vincent Povirk 0c9991c583 gdiplus: Implement GdipSetImageAttributesColorMatrix. 2009-12-21 15:01:23 +01:00
Vincent Povirk 39dc81cc80 gdiplus: Implement GdipSetImagePalette. 2009-12-14 12:04:03 +01:00
Alexandre Julliard 0065a115c6 gdiplus: Remove a useless inline specifier. 2009-10-19 11:44:39 +02:00
Vincent Povirk 8bdabe3a18 gdiplus: Store preset blends in linear gradient brushes. 2009-09-15 17:34:35 -05:00
Vincent Povirk 0595fc5e03 gdiplus: Implement GdipGetImageRawFormat. 2009-09-15 17:34:12 -05: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 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
Andrew Eikum 2032b0d354 gdiplus: Implement GdipIsVisibleRegionRect. 2009-08-26 15:05:46 +02:00
Vincent Povirk 55ec1d9150 gdiplus: Store color key information in ImageAttributes. 2009-08-03 14:55:41 +02:00
Andrew Eikum 632aef3d8b gdiplus: Implement GdipBeginContainer2 and GdipEndContainer. 2009-07-07 12:33:10 +02:00
Vincent Povirk 60167dfb74 gdiplus: Implement partially transparent solid fill brushes. 2009-05-21 16:17:52 +02:00
Vincent Povirk ef4d0d970d gdiplus: Populate the installed font collection. 2009-05-14 17:23:03 +02:00
Vincent Povirk 3dd5ce7874 gdiplus: Add a trace to GdipDrawString. 2009-05-14 11:13:29 +02:00
Vincent Povirk 173a1f6f79 gdiplus: Store the rectangle in line gradient brushes. 2009-05-08 12:21:11 +02:00
Vincent Povirk b05cf906d1 gdiplus: Add blend information to linear gradient brushes. 2009-04-29 13:07:07 +02:00
Vincent Povirk 8a3d9ff773 gdiplus: Only release device contexts created internally. 2009-04-27 13:23:00 +02:00
Chris Wulff a2a94a49bc gdiplus: Partial implementation of GdipCreateHatchBrush. 2009-01-12 14:36:37 +01:00
Hans Leidekker 8656f6db50 gdiplus: Better implementation of GdipGetFontHeightGivenDPI. 2008-12-01 14:01:14 +01:00
Vincent Povirk 08aa0cac74 gdiplus: Implement GdipRegionGetHRgn for paths. 2008-11-25 13:11:44 +01:00
Vincent Povirk f3cad17a9b gdiplus: Implement CachedBitmap based on Image. 2008-11-24 14:36:50 +01:00
Hans Leidekker ea323d1349 gdiplus: Implement GdipNewPrivateFontCollection and GdipDeletePrivateFontCollection. 2008-11-24 14:25:10 +01:00
Nikolay Sivov 56173d4005 gdiplus: Added GdipGetTextContrast. 2008-11-10 11:07:26 +01:00
Nikolay Sivov 1cca99dc23 gdiplus: Added CachedBitmap calls. 2008-11-04 11:25:40 +01:00
Nikolay Sivov 37bbe9d4bc gdiplus: Added Gdip[Get/Set]TextureWrapMode. 2008-10-22 13:54:53 +02:00
Nikolay Sivov 48b8072518 gdiplus: Implement GdipGetTextureTransform with test. 2008-09-25 11:24:22 +02:00
Nikolay Sivov 50bfa9b0eb gdiplus: Stubs for AdjustableArrowCap calls. 2008-09-04 12:31:38 +02:00
Nikolay Sivov ef50aa330e gdiplus: Implemented GdipGetClip. 2008-08-27 13:21:22 +02:00
Nikolay Sivov 366ae1e6c6 gdiplus: Basic GdipGetDC/GdipReleaseDC implementation. 2008-08-25 11:38:02 +02:00
Nikolay Sivov ef889d94a3 gdiplus: Implemented GdipPathIterNextSubpathPath with tests. 2008-08-18 17:27:16 +02:00
Nikolay Sivov 2fb0c7e639 gdiplus: Move some Beziers helpers to gdiplus.c to use them for graphicspath. 2008-08-04 14:17:20 +02:00
Nikolay Sivov 1ac7912874 gdiplus: Implemented Gdip[Get/Set]PenMode. 2008-07-31 13:04:22 +02:00
Nikolay Sivov 4a08c13ba9 gdiplus: GdipGetStringFormatTabStopCount implementation with tests. 2008-07-30 14:40:35 +02:00
Nikolay Sivov 9ed8a2b624 gdiplus: GdipGetStringFormatDigitSubstitution implemented. 2008-07-29 12:19:05 +02:00
Nikolay Sivov ce2aee4859 gdiplus: Implemented GdipGetCustomLineCapWidthScale with some tests. 2008-07-28 11:34:05 +02:00
Nikolay Sivov 2848100e82 gdiplus: Implemented GdipGetCustomLineCapStrokeJoin with basic test. 2008-07-28 11:33:45 +02:00
Adam Petaccia 889bc31197 gdiplus: Implement GdipCreateRegion and mark the tests todo_wine instead of skipping over them all. 2008-07-25 12:38:46 +02:00
Nikolay Sivov 01abb3d1dc gdiplus: implemeted GdipGetPathGradientBlendCount with test. 2008-07-22 15:24:29 +02:00
Alexandre Julliard ed985acd9f gdiplus: Store the family name directly in the GpFontFamily structure. 2008-07-07 14:53:10 +02:00
Adam Petaccia c027f427ef gdiplus: Use a better framework for filling out FontFamilies. 2008-07-07 14:46:49 +02:00
Joris Huizer 002b7c82be gdiplus: Change tmw field of GpFontFamily into an embedded structure. 2008-06-27 11:14:08 +02:00
Adam Petaccia b0b1588ab6 gdiplus: Implement GdipCreateFont. 2008-06-25 20:41:44 +02:00
Adam Petaccia e8e1d0f6fe gdiplus: Implement GdipCreateFontFamilyFromName. 2008-06-25 20:38:01 +02:00
Nikolay Sivov 03b6c5e85f gdiplus: GdipGetImageFlags simple stub with test. 2008-05-12 13:59:56 +02:00
Evan Stade c8c77f9b48 gdiplus: Added GdipSetStringFormatLineAlign/GdipGetStringFormatLineAlign. 2007-08-15 10:56:31 +02:00
Evan Stade 936f310190 gdiplus: Added GdipSetStringFormatHotkeyPrefix/GdipGetStringFormatHotkeyPrefix. 2007-08-15 10:55:05 +02:00
Evan Stade 551a606ab2 gdiplus: Added GdipGetStringFormatTrimming/GdipSetStringFormatTrimming. 2007-08-15 10:54:56 +02:00
Evan Stade 16dea47a5c gdiplus: Added GdipGetStringFormatAlign/GdipSetStringFormatAlign. 2007-08-15 10:54:30 +02:00
Evan Stade 5662820072 gdiplus: Added GdipSetTextRenderingHint/GdipGetTextRenderingHint. 2007-08-15 10:54:14 +02:00
Evan Stade 73be69c576 gdiplus: Added string format constructor. 2007-08-15 10:53:54 +02:00
Evan Stade d060aeccca gdiplus: Added font constructor. 2007-08-14 12:35:10 +02:00
Evan Stade e807eb9ad6 gdiplus: Added GdipSetCompositingMode/GdipGetCompositingMode. 2007-08-14 12:31:40 +02:00
Evan Stade b9411ba374 gdiplus: Added GdipCreateTextureIA. 2007-08-10 12:59:51 +02:00
Evan Stade b5d7af5438 gdiplus: Added GdipGetPenDashOffset/GdipSetPenDashOffset. 2007-08-09 14:36:43 +02:00
Evan Stade ddea5bd7ba gdiplus: Added GdipGetLineGammaCorrection/GdipSetLineGammaCorrection. 2007-08-08 15:32:02 +02:00
Evan Stade 2b438a0220 gdiplus: Added GdipCreateLineBrush. 2007-08-08 15:32:02 +02:00
Evan Stade 0794e5daf3 gdiplus: Return width and height of metafiles. 2007-08-08 15:32:02 +02:00
Evan Stade 3ea77f5cfd gdiplus: Added GdipCreateStreamOnFile. 2007-08-08 15:32:01 +02:00
Evan Stade 7a9a30d95c gdiplus: Added GdipBitmapLockBits. 2007-08-08 15:32:01 +02:00
Evan Stade 4d25791b40 gdiplus: Added GdipGetImagePixelFormat. 2007-08-06 12:29:12 +02:00
Evan Stade 496c319c70 gdiplus: Added GdipG/SetPathGradientFocusScales. 2007-08-03 13:31:51 +02:00
Evan Stade 9a9c857b3f gdiplus: Added GdipG/SetPathGradientCenterPoint. 2007-08-03 13:31:43 +02:00
Evan Stade 9ea7ef468b gdiplus: Added GdipS/GetPathGradientGammaCorrection. 2007-08-03 13:31:28 +02:00
Evan Stade 490ca1cabb gdiplus: Added GdipGetPathGradientPointCount. 2007-08-03 13:27:39 +02:00
Francois Gouget d76b19abd9 gdiplus: Use the gdiplus type, REAL, rather than FLOAT. 2007-08-03 12:41:26 +02:00
Evan Stade f0dbfe959f gdiplus: Added GdipSetPathGradientWrapMode. 2007-08-02 12:18:42 +02:00
Evan Stade f18cdef727 gdiplus: Added solid-color path gradient brush implementation. 2007-08-02 12:18:42 +02:00
Evan Stade 5cde960713 gdiplus: Track width and height of GpBitmaps. 2007-08-01 11:59:19 +02:00
Evan Stade 9fa4c12486 gdiplus: Added GdipCreateBitmapFromScan0. 2007-08-01 11:59:19 +02:00
Evan Stade 586e63ef38 gdiplus: Implemented GdipGetImageBounds for metafiles. 2007-07-31 11:48:59 +02:00
Evan Stade 6d9e4a4a92 gdiplus: Added a minimal implementation of GdipCreateImageAttributes. 2007-07-31 11:48:51 +02:00
Evan Stade 50799cf04f gdiplus: Partial implementation of GdipCreateMetafileFromWMF. 2007-07-31 11:45:18 +02:00
Evan Stade 1f61f4821f gdiplus: Draw custom dashes. 2007-07-30 23:37:58 +02:00
Evan Stade 51bd0af43e gdiplus: Added GdipSetPenDashArray/GdipGetPenDashArray. 2007-07-26 12:36:28 +02:00
Evan Stade 4c424b3c16 gdiplus: Create gdi pen every time gdi+ pen is used. 2007-07-25 13:49:26 +02:00
Evan Stade f30732fdf9 gdiplus: Added GdipSetWorldTransform/GdipGetWorldTransform. 2007-07-25 13:47:45 +02:00
Evan Stade 8162139553 gdiplus: Added GdipSetPageScale/GdipGetPageScale. 2007-07-25 13:47:02 +02:00
Evan Stade 10b575bc86 gdiplus: Added GdipSetPageUnit. 2007-07-24 12:22:11 +02:00
Evan Stade 27124d5d32 gdiplus: Implemented GdipSetPenColor. 2007-07-24 12:21:08 +02:00
Evan Stade 8b2ce0f94b gdiplus: Implemented GdipSetSolidFillColor/GdipGetSolidFillColor. 2007-07-24 12:20:56 +02:00
Evan Stade 818051de2c gdiplus: Change atan2 to gdiplus_arctan2. 2007-07-23 12:11:43 +02:00
Evan Stade 7af2e97a4a gdiplus: Associate a brush with a pen. 2007-07-20 11:55:25 +02:00
Evan Stade 8f865f42ee gdiplus: Added custom line cap setters. 2007-07-20 11:52:57 +02:00
Evan Stade d07088ee8a gdiplus: Initial custom line caps implementation. 2007-07-20 11:51:55 +02:00
Evan Stade daf00ab72a gdiplus: Added GdipSetPenDashStyle. 2007-07-17 12:57:09 +02:00
Evan Stade 085082897a gdiplus: Initial path iterator implementation. 2007-07-17 12:56:13 +02:00
Evan Stade 6893ef397b gdiplus: Added GdipSetPenLineCap197819. 2007-07-17 12:55:16 +02:00
Evan Stade d6bd866df5 gdiplus: Added pixel offset mode. 2007-07-16 15:02:59 +02:00
Evan Stade a87ce7ab92 gdiplus: Added interpolation mode. 2007-07-16 15:02:46 +02:00
Evan Stade 60cad23522 gdiplus: Added compositing quality. 2007-07-16 15:02:34 +02:00
Evan Stade 53e17d2993 gdiplus: Added smoothing modes. 2007-07-16 15:02:21 +02:00
Evan Stade bcd0eda687 gdiplus: Added GdipSetPenLineJoin. 2007-07-13 12:30:11 +02:00
Evan Stade f28262b47d gdiplus: Added basic matrix implementation. 2007-07-12 14:55:55 +02:00
Evan Stade 69fa7457e5 gdiplus: Added GdipAddPathArc. 2007-07-12 14:48:05 +02:00
Evan Stade 4a8a1b423c gdiplus: Moved two inline helpers to the header. 2007-07-12 14:47:38 +02:00
Evan Stade 14e0df1fa0 gdiplus: Updated GdipDrawRectangleI. 2007-07-10 14:28:57 +02:00
Evan Stade e4118c1847 gdiplus: Added GdipAddPathLine2. 2007-07-09 17:03:32 +02:00
Evan Stade 68ba30f433 gdiplus: Added SetPenEndCap. 2007-07-06 19:28:33 +02:00
Evan Stade 14802872b8 gdiplus: Implemented GdipCreatePath and GdipDeletePath. 2007-06-22 12:32:24 +02:00
Evan Stade cc0a676b22 gdiplus: Brush implementation. 2007-06-15 13:31:35 +02:00
Evan Stade d50be49775 gdiplus: Added first GDI+ graphics implementation. 2007-06-12 12:30:55 +02:00
Evan Stade 63bfd40f61 gdiplus: First pen implementation. 2007-06-12 11:19:07 +02:00