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
29b6b75edb
gdiplus: Add test for GdipGetDC on metafiles.
2011-05-23 11:16:11 +02:00
Vincent Povirk
fd9c5d7d01
gdiplus: Implement GdipEnumerateMetafileSrcRectDestPoints.
2011-05-23 11:16:06 +02:00
Vincent Povirk
06b23138e2
gdiplus: Remove is_emfplus field from test structure, as it's redundant.
2011-05-23 11:15:59 +02:00
Vincent Povirk
11248262be
gdiplus: Add test for metafile enumeration.
2011-05-23 11:15:48 +02:00
Vincent Povirk
d436e51872
gdiplus: Add basic metafile recording support.
2011-05-23 11:15:41 +02:00
Marcus Meissner
4892adb414
gdiplus: Mark image_format_dimensions as static.
2011-05-18 10:54:32 +02:00
Vincent Povirk
73e50ba60e
gdiplus: Set export ordinals to match Windows 7.
2011-05-16 16:35:28 +02:00
Francois Gouget
5920de5ffb
Assorted spelling and case fixes.
2011-05-09 12:09:27 +02:00
Marcus Meissner
3ed1339219
gdiplus: Mark internal symbols as having hidden visibility.
2011-04-26 15:31:27 +02:00
André Hentschel
66f212e667
gdiplus: Add a FIXME.
2011-04-13 14:13:52 +02:00
Vincent Povirk
1544640763
gdiplus: Add support for encoding TIFF images.
2011-04-11 19:32:53 +02:00
Vincent Povirk
14f925d5af
gdiplus: Validate MatrixOrder in matrix functions.
2011-04-07 13:50:42 +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
ca5b5d2a05
gdiplus: Fall back to Liberation Serif if Times New Roman is missing.
2011-03-30 13:28:04 +02:00
Vincent Povirk
b3dfe973ad
gdiplus: Add test for GdipSetTextRenderingHint and make it pass.
2011-03-29 12:37:03 +02:00
Vincent Povirk
204253b6ba
gdiplus: Add test for GdipDrawDriverString.
2011-03-29 12:36:59 +02:00
Vincent Povirk
a7444e8e2c
gdiplus: Use the given HPALETTE in GdipCreateBitmapFromHBITMAP.
2011-03-29 12:35:06 +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
4266b154be
gdiplus: Initialize the ImageAttributes in GdipCreateTexture2I.
2011-03-28 17:08:53 +02:00
Vincent Povirk
42d1d9e9e0
gdiplus: Clean up HRGN when GdipGetRegionBounds succeeds too.
2011-03-28 17:08:53 +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
Francois Gouget
ca988fa401
gdiplus: Remove GdiplusShutdown() as it is redudant with GdiplusShutdown_wrapper().
2011-03-16 14:14:23 +01:00
Francois Gouget
769dcd8447
gdiplus: Make load_ttf_name_id() static.
2011-03-16 14:14:23 +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
Alexandre Julliard
b3c333e916
gdiplus: Use signed types in convert_pixels to avoid problems on 64-bit.
2011-03-10 14:10:11 +01:00
Austin English
3ac2c9eea0
gdiplus: Avoid shadowing a parameter.
2011-03-09 14:08:08 +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
21d6fc9643
gdiplus: Implement ImageLockModeUserInputBuf.
2011-02-25 11:06:42 +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
9497e9380b
gdiplus: Don't copy bits into the buffer when a bitmap is locked write-only.
2011-02-25 11:06:30 +01:00
Vincent Povirk
58eb96c9e7
gdiplus: Copy the bits on bitmap unlock if the write flag is set.
...
The read and write flags are independent, so a read flag being set doesn't
imply we can quit early.
2011-02-25 11:06:25 +01:00
Vincent Povirk
d086af1d36
gdiplus: Test writes with conversion and without a user buffer.
2011-02-25 11:06:12 +01:00
Maarten Lankhorst
8794f8f708
gdiplus: Implement in-memory font storage.
2011-02-22 12:27:59 +01:00
Austin English
f817e547f9
gdiplus/tests: Make sure to use return values (LLVM/Clang).
2011-02-17 17:30:00 +01:00
Vincent Povirk
88ce03103b
gdiplus: Add tests for locked image bit reading/writing.
2011-02-15 17:01:43 +01:00
Vincent Povirk
732aa89c08
gdiplus: Add test for ImageLockModeUserInputBuf.
2011-02-15 17:01:43 +01:00
Vincent Povirk
86d58dc6c8
gdiplus: Store an ImageAttributes in texture brushes.
2011-02-15 17:01:43 +01:00
Austin English
2ebcaf1a51
gdiplus/tests: Remove redundant assignments (LLVM/Clang).
2011-02-10 10:27:55 -06:00
Austin English
e77d27a2eb
gdiplus/tests: Make sure to use return values (LLVM/Clang).
2011-02-10 10:27:39 -06:00
Austin English
273065cebe
gdiplus/tests: Make sure to use return values (LLVM/Clang).
2011-02-10 09:57:39 -06:00
Austin English
1a24d1c0f1
gdiplus/tests: Make sure to use return values (LLVM/Clang).
2011-02-09 09:28:55 -06:00
Vincent Povirk
4fd76b0995
gdiplus: Fix error path in GdipAddPathRectangle.
2011-02-07 10:12:54 -06:00
Vincent Povirk
cd3855f384
gdiplus: Allow adding rectangles with negative sizes to paths.
2011-02-07 10:12:33 -06:00
EG Galano
fbf9494b89
gdiplus/tests: Make sure return value is used (LLVM/Clang).
2011-02-07 10:11:53 -06:00
Austin English
0d8f2b364c
gdiplus/tests: Make sure to use return values (LLVM/Clang).
2011-02-07 10:11:30 -06:00
Vincent Povirk
757012cd3c
gdiplus: Test the types of records in an empty EMF+.
2011-01-27 14:16:47 +01:00
Vincent Povirk
a06b4bc59b
gdiplus: Test for EMF+ recording.
2011-01-27 14:16:38 +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
d7379712e7
gdiplus: Rewrite GdipCreateMatrix3.
2011-01-17 13:22:05 +01:00
Martin Petricek
ee3c179026
gdiplus: Support for indexed formats in GdipBitmapSetPixel.
2011-01-12 15:02:38 +01:00
Vincent Povirk
32bbb0bbcf
gdiplus: Correctly store the given stride in created bitmaps.
2010-11-12 17:47:43 +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
f49d56fef3
gdiplus: Add tests for GdipGetLineTransform.
2010-11-01 11:33:58 +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
cb21d1caf4
gdiplus: Don't rely on an HDC in GdipGetFontHeight.
2010-11-01 11:33:31 +01:00
Vincent Povirk
4fff9a7a52
gdiplus: Add a test for GdipCreateMatrix3.
2010-11-01 11:33:25 +01:00
Vincent Povirk
bb444e81cc
gdiplus: Fix point conversion in GdipCreateLineBrushI.
2010-11-01 11:33:19 +01:00
Vincent Povirk
2661ce79d6
gdiplus: Reject linear gradients where the start and end points are equal.
2010-10-28 11:41:45 +02:00
Vincent Povirk
bb5f5dba93
gdiplus: Make get_path_hrgn work with HDC-less graphics objects.
2010-10-28 11:41:39 +02:00
Vincent Povirk
5f327f7812
gdiplus: Implement GdipGetRegionScans.
2010-10-28 11:41:32 +02:00
Austin Lund
ae0a484945
gdiplus/tests: Fix GetLogFont charset tests for Asian platforms.
2010-10-25 13:52:51 +02:00
Vincent Povirk
c8a48f237e
gdiplus: Don't create a DIB section for non-alpha or reference bitmaps.
2010-10-01 13:44:39 +02:00
Vincent Povirk
473afa4b8c
gdiplus: Implement GdipGetRegionScansCount.
2010-10-01 13:44:06 +02:00
Vincent Povirk
40d8876fc4
gdiplus: Implement GdipTransformRegion.
2010-10-01 13:44:00 +02:00
Vincent Povirk
1eb12cb08d
gdiplus: Return 0 from GdiplusShutdown.
2010-10-01 13:43:49 +02:00
Vincent Povirk
9326fc13ca
gdiplus: Don't try to free invalid or already-freed images.
2010-10-01 13:43:33 +02:00
Alexandre Julliard
81b8ee863e
makefiles: Add a standard header for all makefiles to replace the common variable initializations.
2010-09-19 12:36:48 +02:00
Vincent Povirk
77a5b635aa
gdiplus: Set flags and dpi when images are loaded.
2010-09-02 11:53:33 +02:00
Alexandre Julliard
121691e832
gdiplus: Use float instead of long in the spec file for 32-bit floating point values.
2010-08-31 14:23:49 +02:00
Austin English
3745961b2e
gdiplus: Add a stub for GdipConvertToEmfPlusToFile.
2010-08-24 15:22:29 +02:00
Austin English
5435fbba55
gdiplus: Add a stub for GdipWindingModeOutline.
2010-08-24 13:17:58 +02:00
Vincent Povirk
517059f3f5
gdiplus: Set bitmap has alpha flag based on format.
2010-08-23 12:03:47 +02:00
Vincent Povirk
18a4e24368
gdiplus: Stub GdipTranslatePenTransform.
2010-08-23 12:03:37 +02:00
Vincent Povirk
b57c4314c1
gdiplus: Stub GdipGetPathGradientPresetBlend.
2010-08-23 12:03:32 +02:00
Vincent Povirk
8dd940d0b5
gdiplus: Stub GdipTranslatePathGradientTransform.
2010-08-23 12:03:26 +02: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
728aaf2902
gdiplus: Add tests for the HDC's we get from bitmap objects.
2010-08-17 11:55:33 +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
1a710ac36f
gdiplus: Stub GdipGetPathGradientTransform.
2010-08-17 11:55:33 +02:00
Vincent Povirk
41f4263277
gdiplus: Stub GdipSetPathGradientLinearBlend.
2010-08-17 11:55:33 +02:00
Vincent Povirk
462c599335
gdiplus: Stub GdipScalePathGradientTransform.
2010-08-17 11:55:33 +02:00
Vincent Povirk
b56f3c3b21
gdiplus: Stub GdipRotatePathGradientTransform.
2010-08-17 11:55:33 +02:00
Vincent Povirk
1fdecda9da
gdiplus: Stub GdipSetPathGradientTransform.
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
Vincent Povirk
00aeee6e8e
gdiplus: Stub GdipMultiplyPathGradientTransform.
2010-08-03 19:24:39 +02:00
Vincent Povirk
358d382782
gdiplus: Stub GdipGetPathGradientPresetBlendCount.
2010-08-03 19:24:33 +02:00
Vincent Povirk
2da2c9fd6b
gdiplus: Stub GdipGetPenTransform.
2010-08-03 19:24:28 +02:00
Vincent Povirk
c1582f957a
gdiplus: Stub GdipRotatePenTransform.
2010-08-03 19:24:22 +02:00
Vincent Povirk
09de12b2a3
gdiplus: Stub GdipSetPenTransform.
2010-08-03 19:24:13 +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
Harry Jeffery
4faf80280c
Fixed various spelling mistakes.
2010-07-26 13:34:20 +02:00
Alexandre Julliard
b86d515ed6
dlls: Remove explicit imports of kernel32 and ntdll.
2010-07-21 17:38:36 +02:00
Alexandre Julliard
811cdfaf27
gdi32: Reject invalid DIB depths in CreateDIBSection.
2010-07-20 14:40:32 +02:00
Vincent Povirk
2a74569230
gdiplus: Stub GdipMultiplyPenTransform.
2010-07-19 14:49:07 +02:00
Vincent Povirk
3506521f16
gdiplus: Stub GdipGetPenCompoundCount.
2010-07-19 14:49:07 +02:00
Vincent Povirk
5694825ae3
gdiplus: Return copies of fonts from GdipGetFontCollectionFamilyList.
2010-07-19 14:49:07 +02:00
Vincent Povirk
3847c2dec9
gdiplus: Stub GdipGetMetafileHeaderFromStream.
2010-07-19 14:49:07 +02:00
Vincent Povirk
688eb0688b
gdiplus: Stub GdipGetMetafileHeaderFromFile.
2010-07-19 14:49:07 +02:00
Vincent Povirk
2223900cf6
gdiplus: Stub GdipGetMetafileHeaderFromEmf.
2010-07-05 11:54:57 +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
0e06326f5d
gdiplus: Set result to NULL when CreatePathGradient fails.
2010-07-05 11:54:49 +02:00
Vincent Povirk
1c41470cd0
gdiplus: Check for null pt in GdipCreateMatrix3.
2010-07-05 11:54:47 +02:00
Alexandre Julliard
415bb3c5a0
gdiplus/tests: Don't fail if we do find Microsoft Sans Serif on Wine.
2010-07-01 12:06:35 +02:00
Alexandre Julliard
5d71136611
gdiplus/tests: Use Tahoma instead of Courier New for testing font metrics.
2010-07-01 11:38:46 +02:00
Alexandre Julliard
4b9258d165
gdiplus/tests: Comment out a test that corrupts the stack on Vista.
2010-06-30 14:17:13 +02:00
Andrew Nguyen
6ea90c3c2e
gdiplus: Add a few additional traces to gdiplus image functions.
2010-06-25 12:50:03 +02:00
Vincent Povirk
63fa6915ec
gdiplus: Stub GdipGetEncoderParameterListSize.
2010-06-25 10:26:18 +02:00
Vincent Povirk
4c93f9f880
gdiplus: Always create path gradient brushes with blend positions.
2010-06-25 10:26:13 +02:00
Vincent Povirk
0178093576
gdiplus: Stub GdipGetPathGradientCenterColor.
2010-06-25 10:26:04 +02:00
Vincent Povirk
86f4e00fba
gdiplus: Stub GdipMultiplyLineTransform.
2010-06-25 10:25:59 +02:00