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