Commit Graph

461 Commits

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