Commit Graph

570 Commits

Author SHA1 Message Date
Dmitry Timoshkov f575eb494b gdiplus: Reimplement GdipSetClipRect to avoid potential problems with rotating world transform. 2013-07-30 20:51:54 +02:00
Dmitry Timoshkov cdc3e820cd gdiplus: Fix clipping region bounds calculation with rotating transform. 2013-07-30 20:51:52 +02:00
Dmitry Timoshkov 14f34c15d1 gdiplus: Store graphics clipping region in device coordinates. 2013-07-19 11:58:23 +02:00
Dmitry Timoshkov 73f7b857b3 Revert "gdiplus: Ignore gdiplus page and world transformations when creating a gdi32 clipping region.".
This reverts commit 61dafbb701.
2013-07-12 12:14:59 +02:00
Dmitry Timoshkov 84ef3d484c gdiplus: get_font_hfont() should ask gdi32 to match font height against the character height instead of cell height. 2013-06-19 19:18:39 +02:00
Dmitry Timoshkov 6ab04040e5 gdiplus: GdipMeasureCharacterRanges should treat empty layout extents as infinite when StringFormatFlagsNoClip is specified.
Unlike GdipMeasureString which always treats empty layout extents as infinite.
2013-03-15 11:43:24 +01:00
Dmitry Timoshkov db746fe897 gdiplus: GdipMeasureCharacterRanges shouldn't add margins to string bounds. 2013-03-15 11:43:13 +01:00
Dmitry Timoshkov 61dafbb701 gdiplus: Ignore gdiplus page and world transformations when creating a gdi32 clipping region. 2013-03-13 11:30:11 +01:00
Dmitry Timoshkov 9fb88c7999 gdiplus: GdipDrawString should not clip the string if StringFormatFlagsNoClip is specified. 2013-03-04 11:19:18 +01:00
Dmitry Timoshkov 737790603c Revert "gdiplus: Add support for StringFormatFlagsNoClip.".
This reverts commit bfa35f37a7.
This patch breaks string alignment.
2013-03-04 11:19:16 +01:00
Vincent Povirk 7b004c1714 gdiplus: Store the image type on a Graphics object in case the image is freed. 2013-03-04 11:15:38 +01:00
Dmitry Timoshkov 1896e5575e gdiplus: If a device doesn't support AlphaBlend don't convert image to PARGB. 2013-02-25 10:40:37 +01:00
Dmitry Timoshkov 6b474b555e gdiplus: Reimplement GdipFillRectangles using GdipFillPath. 2013-02-19 10:42:45 +01:00
Dmitry Timoshkov bb16c926b4 gdiplus: Slightly simplify GdipFillClosedCurve2 implementation. 2013-02-19 10:42:36 +01:00
Dmitry Timoshkov 338958287a gdiplus: Reimplement GdipDrawRectangles using GdipDrawPath. 2013-02-19 10:42:32 +01:00
Dmitry Timoshkov 1223569d64 gdiplus: Reimplement GdipDrawRectangle using GdipDrawPath. 2013-02-19 10:42:29 +01:00
Dmitry Timoshkov 981223a736 gdiplus: Reimplement GdipDrawPie using GdipDrawPath. 2013-02-19 10:42:24 +01:00
Dmitry Timoshkov 6df50f1d16 gdiplus: Reimplement GdipDrawEllipse using GdipDrawPath. 2013-02-19 10:42:16 +01:00
Dmitry Timoshkov ad49f83c7d gdiplus: Forward GdipDrawBezier to GdipDrawBeziers. 2013-02-19 10:42:10 +01:00
Dmitry Timoshkov ae8826c43e gdiplus: Reimplement GdipDrawBeziers using GdipDrawPath. 2013-02-19 10:42:03 +01:00
Dmitry Timoshkov 89f380f69b gdiplus: Reimplement GdipDrawArc using GdipDrawPath. 2013-02-19 10:41:46 +01:00
Dmitry Timoshkov 2fd1bf60ae gdiplus: Reimplement GdipDrawLines using GdipDrawPath. 2013-02-19 10:41:37 +01:00
Dmitry Timoshkov 03228b1784 gdiplus: Reimplement GdipDrawCurve2 using GdipDrawPath. 2013-02-19 10:41:18 +01:00
Dmitry Timoshkov 4233b82872 gdiplus: Slightly simplify GdipDrawClosedCurve2 implementation. 2013-02-19 10:41:01 +01:00
Dmitry Timoshkov cc54d1eb68 gdiplus: Forward GdipDrawBezierI to GdipDrawBezier. 2013-02-19 10:40:43 +01:00
Dmitry Timoshkov f817fb56e8 gdiplus: Avoid a crash in GdipDrawImagePointRect. 2013-02-18 15:06:17 +01:00
Dmitry Timoshkov 8ec2354b32 gdiplus: Forward GdipDrawLinesI to GdipDrawLines. 2013-02-18 10:36:18 +01:00
Dmitry Timoshkov 7cccd36c9a gdiplus: Forward GdipDrawLineI to GdipDrawLine. 2013-02-18 10:36:11 +01:00
Dmitry Timoshkov 0ed65a2d3a gdiplus: Forward GdipDrawLine to GdipDrawLines. 2013-02-18 10:36:01 +01:00
Andrew Talbot 32d070afb0 gdiplus: Avoid signed-unsigned integer comparisons. 2013-01-24 10:49:34 +01:00
Dmitry Timoshkov 9532de882f gdiplus: Make GdipCreateFromHDC2 not fail in case of hDevice != NULL. 2013-01-23 12:52:16 +01:00
Andrew Talbot e4351708d5 gdiplus: Remove unneeded address-of operator from array name. 2012-12-06 13:01:07 +01:00
Vincent Povirk ba4ef584d7 gdiplus: Fix graphics bounds for memory DC's. 2012-12-06 13:00:49 +01:00
Vincent Povirk 81d9ffa041 gdiplus: Always use AlphaBlend to draw to 32-bit DIB's. 2012-12-06 12:59:56 +01:00
Vincent Povirk 423d50eb3b gdiplus: Use clipping region in alpha_blend_pixels. 2012-11-28 14:41:43 +01:00
Dmitry Timoshkov b9ead1a7ea gdiplus: Avoid more cases of allocating a transformation matrix on the heap. 2012-11-19 11:47:27 +01:00
Dmitry Timoshkov 39ec8ce67e gdiplus: Store transformation matrix directly in the objects. 2012-11-08 15:37:49 +01:00
Dmitry Timoshkov 0a81a34643 gdiplus: Avoid GdipCloneMatrix calls for the graphics transformation matrix. 2012-11-07 11:58:27 +01:00
Dmitry Timoshkov fa184bc2c2 gdiplus: Allocate a copy of the graphics transformation matrix on the stack instead of cloning it. 2012-11-06 20:00:27 +01:00
Dmitry Timoshkov 12340af3f9 gdiplus: Add support for extra transformation in GdipMeasureDriverString and GdipDrawDriverString. 2012-11-06 20:00:22 +01:00
Vincent Povirk 91a3e5fc10 gdiplus: Reimplement GdipCreateMetafileFromEmf without using IPicture. 2012-11-01 10:50:45 +01:00
Vincent Povirk 0cbec5508b gdiplus: Implement drawing metafiles with an emf handle. 2012-11-01 10:50:37 +01:00
Rafał Mużyło fc2bb3bdc1 gdiplus: Mark regions as unclipped correctly. 2012-10-30 18:08:13 +01:00
Rafał Mużyło 48a2b48e16 gdiplus: Fix logic of treating the region of a string as unclipped. 2012-10-30 18:08:13 +01:00
Dmitry Timoshkov 71eb164482 gdiplus: Move internal helper get_log_fontW() out of public GdipGetLogFontW() export. 2012-10-26 16:47:01 +02:00
Dmitry Timoshkov a45da55922 gdiplus: Fix a typo leading to incorrect character width calculation in GdipMeasureDriverString. 2012-10-22 11:44:41 +02:00
Dmitry Timoshkov 1c30b894ec gdiplus: Stop adding 1/6 of EM height to the created font height. 2012-10-08 17:36:15 +02:00
Dmitry Timoshkov 4d42626dbe gdiplus: Add preliminary support for pixel offset modes. 2012-09-18 19:04:53 +02:00
Dmitry Timoshkov b8f4252290 gdiplus: Add support for generic typographic string format. 2012-09-04 17:15:39 +02:00
Dmitry Timoshkov bfa35f37a7 gdiplus: Add support for StringFormatFlagsNoClip. 2012-09-04 17:15:32 +02:00
Dmitry Timoshkov e0fd87aea1 gdiplus: Print some additional information about device and image being drawn. 2012-08-30 19:16:52 +02:00
Dmitry Timoshkov 89ab0e4b12 gdiplus: Make GdipMeasureCharacterRanges/GdipMeasureString/GdipDrawString add extra space around the text. 2012-08-29 21:25:07 +02:00
Dmitry Timoshkov 4e2959ab9b gdiplus: Make GdipMeasureCharacterRanges use common font transformation code. 2012-08-24 18:25:19 +02:00
Dmitry Timoshkov 7a1ccd8abe gdiplus: Do not convert range_rect.X twice. 2012-08-24 18:25:12 +02:00
Dmitry Timoshkov 144a692ffa gdiplus: Filter tabs out until they are properly supported using stringformat. 2012-08-23 21:36:56 +02:00
Dmitry Timoshkov c8055b5b7b gdiplus: GdipMeasureCharacterRanges should respect device units and transformations. 2012-08-22 12:12:27 +02:00
Dmitry Timoshkov 1418cd796c gdiplus: GdipMeasureCharacterRanges shouldn't treat empty layout rectangle as infinite bounds. 2012-08-22 12:12:11 +02:00
Dmitry Timoshkov 10c84dfe3b gdiplus: Rename roundr() to gdip_round() to make it clearer that it's an internal helper. 2012-08-21 11:47:11 +02:00
Dmitry Timoshkov 6e63a478b3 gdiplus: StringFormatFlagsLineLimit doesn't allow line wrapping. 2012-08-20 17:06:27 +02:00
Dmitry Timoshkov 62724c9d57 gdiplus: Return error code of the failed API to the caller. 2012-08-20 17:05:46 +02:00
Dmitry Timoshkov e9aef40c26 gdiplus: Round the layout rectangle down instead of up in gdip_format_string(). 2012-08-20 17:05:39 +02:00
Dmitry Timoshkov 466dfee115 gdiplus: If there is no hbitmap associated with GpBitmap then create one. 2012-08-20 17:05:07 +02:00
Dmitry Timoshkov 7c8e8fc5e2 gdiplus: Dump the matrix passed to GdipSetWorldTransform. 2012-08-16 11:58:57 +02:00
Dmitry Timoshkov e7b5e69843 gdiplus: Properly convert source coordinates to device units in GdipDrawImagePointsRect. 2012-08-16 11:58:51 +02:00
Dmitry Timoshkov 938d42c148 gdiplus: When there is no target rectangle specified DrawImage should scale image to device dpi. 2012-08-16 11:58:42 +02:00
Dmitry Timoshkov 7f1cb3bca2 gdiplus: Destination points passed to GdipDrawImagePointsRect should be in device units. 2012-08-16 11:58:34 +02:00
Dmitry Timoshkov fa7a34b907 gdiplus: Forward GdipDrawImage to GdipDrawImagePointRect. 2012-08-15 13:55:11 +02:00
Dmitry Timoshkov 6bb353858e gdiplus: Replace convert_unit() by a clearer units_to_pixels() helper. 2012-08-15 13:53:31 +02:00
Dmitry Timoshkov 6f4625559e gdiplus: GdipMeasureString should apply its internal scaling factors to layout rectangle. 2012-08-15 13:52:52 +02:00
Dmitry Timoshkov 889be9d447 gdiplus: get_font_hfont helper should transform returned font height using font and device unit/resolution/scale. 2012-08-14 16:41:56 +02:00
Dmitry Timoshkov e9af648aeb Revert commit b20a1f56b0. 2012-08-14 16:41:55 +02:00
Dmitry Timoshkov e536a128f7 gdiplus: Store device resolution in the graphics object. 2012-07-26 11:07:41 +02:00
Dmitry Timoshkov b20a1f56b0 gdiplus: GdipMeasureString operates internally in pixels but in/out rectangles are in device units. 2012-07-18 17:17:46 +02:00
Dmitry Timoshkov 87f8e560c2 gdiplus: Pass complete palette info to convert_pixels(). 2012-07-17 13:09:40 +02:00
Dmitry Timoshkov a46c1f780a gdiplus: Use public ColorPalette structure to store image palette. 2012-07-17 13:09:39 +02:00
Francois Gouget 15846adef0 gdiplus: Make get_font_hfont() static. 2012-06-12 11:11:32 +02:00
Dmitry Timoshkov d0fcc19e7e gdiplus: Fix the clipping region calculation. 2012-05-15 17:02:05 +02:00
Dmitry Timoshkov bf9aed6f5c gdiplus: Measure the passed in string without height clipping in order to compute correct Y offset. 2012-05-15 17:02:04 +02:00
Dmitry Timoshkov 5e4d64d18e gdiplus: Create 'const' friendly internal entries for font APIs. 2012-05-14 17:49:02 +02:00
Dmitry Timoshkov 2c93bf7e4e gdiplus: Retrieve LOGFONT from a GpFont using GdipGetLogFontW instead of accessing it directly. 2012-05-11 15:40:13 +02:00
Alexandre Julliard 039c85346c gdiplus: CreateDIBSection doesn't need a DC for the DIB_RGB_COLORS case. 2012-05-02 12:02:17 +02:00
Vincent Povirk 075775a81b gdiplus: Implement accessors for graphics rendering origin. 2012-04-24 11:37:46 +02:00
Dmitry Timoshkov 600cbb7874 gdiplus: Use StretchBlt instead of GdiAlphaBlend if device doesn't support alpha blending. 2012-04-19 19:28:10 +02:00
Vincent Povirk 52bf030b84 gdiplus: Implement GdipGetPathGradientTransform. 2012-04-02 12:37:55 +02:00
Vincent Povirk 5254a76a0c gdiplus: Implement path gradient preset blend accessors. 2012-04-02 12:37:43 +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 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 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 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
Vincent Povirk aba9ddc4a0 gdiplus: Implement GdipDrawImagePoints. 2012-01-11 20:11:40 +01:00
André Hentschel 6b7ccdb734 gdiplus: Fix height calculation.
Spotted by Roman Shchekin.
2011-09-23 12:34:57 +02:00
Vincent Povirk 380abdeb10 gdiplus: Fix vertical string alignment. 2011-08-02 21:16:38 +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
Vincent Povirk 44c57121ea gdiplus: Implement GetDC for metafiles. 2011-07-08 11:26:14 +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 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 d436e51872 gdiplus: Add basic metafile recording support. 2011-05-23 11:15:41 +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 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
Vincent Povirk 0c8ac02440 gdiplus: Stub GdipRecordMetafileStream. 2010-07-05 11:54:54 +02:00
Vincent Povirk 48ceb3d67f gdiplus: Stub GdipRecordMetafile. 2010-07-05 11:54:52 +02:00
Vincent Povirk 85c0e83dc5 gdiplus: Stub GdipGetRenderingOrigin. 2010-06-25 10:25:45 +02:00
Francois Gouget a56375fcb5 gdiplus: Make measure_ranges_callback() static. 2010-06-24 10:34:44 +02:00
Vincent Povirk 435762024f gdiplus: Always treat out of range string sizes as INT_MAX. 2010-05-10 10:03:00 +02:00
Vincent Povirk 0ae0c0c09e gdiplus: Implement GdipSetImageAttributesWrapMode. 2010-05-10 10:01:48 +02:00
Vincent Povirk 15ebd84daf gdiplus: Implement bitmap color keying. 2010-05-10 10:01:39 +02:00
Vincent Povirk 68ce9e925a gdiplus: Prevent integer overflows when rounding text bounds.
Mono calls GdipMeasureString with a height so large that rounding and
converting it to an integer gives a negative result.
2010-04-19 14:54:11 +02:00
Vincent Povirk ede103c699 gdiplus: Add fixmes for unimplemented imageattributes features. 2010-04-16 12:13:00 +02:00
Vincent Povirk 8b2543b750 gdiplus: Always use software to draw bitmaps to bitmaps. 2010-04-16 12:12:54 +02:00
Vincent Povirk 4247247787 gdiplus: Implement color remapping. 2010-04-16 12:12:48 +02:00
Vincent Povirk bb9c1878c3 gdiplus: Correct the coordinate transform for non-rectangular parallelograms.
Apparently matrices in gdiplus don't work the way I think they do.
2010-04-16 12:12:37 +02:00
Vincent Povirk 7791f02fd9 gdiplus: Transform bitmaps to non-rectangular parallelograms in software. 2010-04-16 12:12:30 +02:00
Vincent Povirk 9c380b1e8e gdiplus: Use a helper function to draw image data from bitmaps in software.
This will make it possible to use the same codepath for non-bitmap graphics
objects and to create a software implementation for other drawing operations.
2010-04-16 12:12:24 +02:00
Vincent Povirk 2f9c6091fc gdiplus: Use UnitPixel for metafile bounds when creating from HMETAFILE. 2010-04-16 12:10:13 +02:00
Vincent Povirk 9a4618a4ba gdiplus: Print the GdipCreateHalftonePalette FIXME only once. 2010-04-09 18:34:57 +02:00
Vincent Povirk ade2506029 gdiplus: Implement GdipFlush. 2010-04-02 16:53:07 +02:00
Vincent Povirk deb6466f3f gdiplus: Implement GdipMeasureCharacterRanges. 2010-03-31 11:40:20 +02:00
Vincent Povirk 21109a40fb gdiplus: Fix the linesfilled calculation in GdipMeasureString. 2010-03-31 11:40:08 +02:00
Vincent Povirk 2cde94a89e gdiplus: Rewrite GdipDrawString to share code with GdipMeasureString. 2010-03-31 11:39:58 +02:00
Vincent Povirk 3cee74c61d gdiplus: Rewrite GdipMeasureString using a helper function. 2010-03-31 11:39:51 +02:00
Vincent Povirk 32d03da998 gdiplus: Add a missing NULL check to GdipMeasureString. 2010-03-31 11:37:51 +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
Justin Chevrier b4bfa6e1c1 gdiplus: Basic implementation of GdipGetNearestColor with changes to test to reflect fixes. 2010-02-26 14:18:59 +01:00
Vincent Povirk 00dec58bb2 gdiplus: Convert formats that can't be drawn by gdi32 when drawing bitmaps. 2010-02-15 12:20:00 +01:00
Alistair Leslie-Hughes 03e31f9b86 gdiplus: Implement GdipIsVisibleClipEmpty. 2010-01-05 12:29:43 +01:00
Vincent Povirk 2005fe9881 gdiplus: Add traces to unimplemented functions in graphics.c. 2010-01-04 11:44:52 +01:00
Vincent Povirk 01b32951a5 gdiplus: Fix a memory leak in GdipCreateMetafileFromWmf. 2010-01-04 11:41:27 +01:00
Vincent Povirk 1aea88cac1 gdiplus: Implement GdipGetImage*Resolution. 2009-12-28 12:57:37 +01:00
Vincent Povirk c38d334266 gdiplus: Fix typo in GdipCreateMetafileFromWmf. 2009-12-28 12:57:23 +01:00
Vincent Povirk 7ded3d83c6 gdiplus: Add some traces for the values of point arguments. 2009-12-28 11:54:27 +01:00
Vincent Povirk f8ca372459 gdiplus: Add trace for values of new graphics and image objects. 2009-12-21 15:01:23 +01:00
Huw Davies 68bacfb8d5 gdiplus: Fix a memory leak.
Found by Valgrind.
2009-12-14 12:04:04 +01:00
Vincent Povirk 39dc81cc80 gdiplus: Implement GdipSetImagePalette. 2009-12-14 12:04:03 +01:00
Vincent Povirk d2e999d2e8 gdiplus: Use the preset blend when drawing linear gradients. 2009-09-15 17:34:56 -05:00
Vincent Povirk 0595fc5e03 gdiplus: Implement GdipGetImageRawFormat. 2009-09-15 17:34:12 -05: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 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 895c6d8e1e gdiplus: Use AlphaBlend for 32-bit images with alpha channels. 2009-08-29 16:48:56 +02:00
Vincent Povirk 436b3be651 gdiplus: Create DIBs instead of IPictures in CreateBitmapFromScan0. 2009-08-29 16:48:55 +02:00