Alexandre Julliard
88bcd13d7f
gdi32: Store the reference DC in the enhanced metafile and use it to retrieve device caps.
2012-04-10 16:21:24 +02:00
Alexandre Julliard
2776a97931
gdi32: Add explicit fields for the DC flags.
2012-04-10 16:21:23 +02:00
Alexandre Julliard
b762fcc9a7
gdi32: Clip the returned DC bounds to the device rectangle.
2012-04-10 16:21:11 +02:00
Alexandre Julliard
5917bd3959
gdi32: SaveDC doesn't save the DC bounds.
2012-04-10 16:19:20 +02:00
Alexandre Julliard
80f68d4442
gdi32/tests: Add tests for DC bounds handling across various DC manipulations.
2012-04-10 16:17:47 +02:00
Alexandre Julliard
a186a8b170
gdi32/tests: Add tests for DC bounds on various device types.
2012-04-10 13:20:01 +02:00
Alexandre Julliard
399ab6f1f2
gdi32/tests: Add tests for DC bounds to the DIB graphics tests.
2012-04-09 22:59:11 +02:00
Alexandre Julliard
514e952827
gdi32/tests: Automatically reset the bits after comparing the hash.
2012-04-09 21:28:50 +02:00
Dmitry Timoshkov
1f00c01ea5
gdi32: Add more verbose messages to indicate when a font is being added/replaced/refused to load.
2012-04-09 17:28:46 +02:00
Dmitry Timoshkov
e7a1362880
gdi32: Fix a typo in faces_equal() preventing loading all sizes of a bitmap font.
2012-04-09 17:28:43 +02:00
Alexandre Julliard
1ca6ed7748
gdi32: Fix GetClipBox return value for non-memory DCs.
2012-04-09 17:15:59 +02:00
Ken Thomases
9cb7a97981
gdi32: On Mac OS X, find fonts using Core Text rather than FontConfig, by default.
2012-04-05 14:51:34 +02:00
Ken Thomases
272cf2a973
Revert "gdi32: Load fonts from default Mac external font paths.".
...
This reverts commit 85a71387da
.
2012-04-05 14:51:33 +02:00
Kusanagi Kouichi
c0c7547f37
gdi32: Improve font cache.
2012-04-02 18:37:48 +02:00
Dmitry Timoshkov
62b9c26bb5
gdi32: Refuse to load a large .fot file earlier.
2012-04-02 12:42:22 +02:00
Dmitry Timoshkov
b2af51956d
gdi32: Remove a no longer needed shortcut in CreateScalableFontResource test.
2012-04-02 12:41:40 +02:00
Kusanagi Kouichi
35c84cddcc
gdi32: Use helper functions when loading font from cache.
2012-03-30 15:30:01 +02:00
Huw Davies
88a2620b14
gdi32: Add support for loading scalable font resources.
2012-03-30 15:29:40 +02:00
Huw Davies
105caa28bf
gdi32: Implement CreateScalableFontResource.
...
Based on patches by Jeremy White and Dmitry Timoshkov.
2012-03-29 18:16:06 +02:00
Huw Davies
7ac623f380
gdi32: Add a helper to create a new FreeType face.
2012-03-29 18:15:39 +02:00
Huw Davies
0318951aac
gdi32: Separate face creation from face insertion.
2012-03-27 13:43:53 +02:00
Huw Davies
2489c3285c
gdi32: Remove the loop over bitmap sizes. FreeType lists different sizes as separate faces.
...
Windows format bitmap fonts have been enumerated as separate faces
since FreeType 2.1.5, since we require 2.1.9 for bitmap support we can
safely drop this loop.
2012-03-27 13:43:50 +02:00
Huw Davies
8d50bb6711
gdi32: Add a helper to free a face object and fix a potential memory leak.
2012-03-27 13:43:46 +02:00
Huw Davies
b5115f77bc
gdi32: Add a helper to retrieve the fontsignature.
2012-03-27 13:43:42 +02:00
Huw Davies
45d79feaf5
gdi32: Add a helper to retrieve a bitmap font's internal leading.
2012-03-27 13:43:36 +02:00
Huw Davies
afae44da25
gdi32: Add a helper to retrieve the ntm flags.
2012-03-27 13:43:34 +02:00
Huw Davies
37eb386739
gdi32: Add a helper to retrieve the font version.
2012-03-27 13:43:31 +02:00
Huw Davies
e27a633b93
gdi32: Add a helper to create a family.
2012-03-27 13:43:29 +02:00
Huw Davies
7ad330deef
gdi32: Add a helper to retrieve the family pointer.
2012-03-27 13:43:26 +02:00
Huw Davies
c6af1d5416
gdi32: Add a helper to retrieve the family names and simplify the logic.
2012-03-27 13:43:24 +02:00
Huw Davies
18d19e7f18
gdi32: Remove unused variable.
2012-03-16 16:52:51 +01:00
Huw Davies
41fb856961
gdi32: Correctly propagate the enumproc's return value.
2012-03-14 17:33:54 +01:00
Kusanagi Kouichi
6a49adeee6
gdi32: find_face_from_filename() needs to take font replacements into account.
2012-03-14 17:28:05 +01:00
Kusanagi Kouichi
d77104b93d
gdi32: Remove unused parameters and code, and a useless wrapper function.
2012-03-13 10:38:04 +01:00
Kusanagi Kouichi
eab0257492
gdi32: Simplify font replacement loading.
2012-03-13 10:37:51 +01:00
Kusanagi Kouichi
4bb0e2d076
gdi32: Add a helper function to get face list from family.
2012-03-13 10:37:45 +01:00
Kusanagi Kouichi
fc03398cd5
gdi32: Add a helper function to create a full name from a family name and a style name.
2012-03-13 10:37:01 +01:00
Kusanagi Kouichi
d696d5fee8
gdi32: Move font signature of font link from Face to SYSTEM_LINKS.
2012-03-13 10:36:45 +01:00
Kusanagi Kouichi
e86519c9b3
gdi32: Add a helper function to find font link.
2012-03-13 10:36:19 +01:00
Alexandre Julliard
53c53126d5
gdi32: Fix rounding error for odd ellipse sizes in CreateRoundRectRgn.
2012-03-09 11:38:12 +01:00
Alexandre Julliard
78c3af9f18
gdi32: Fix missing increment of integer data in GetCharABCWidthsFloat.
2012-03-02 17:03:45 +01:00
Alexandre Julliard
fd40d65cfa
gdi32: Avoid using uninitialized value in DIB pattern enhmetafile record.
2012-02-24 17:04:06 +01:00
Alexandre Julliard
c65de04789
gdi32: Use 64-bit values when computing ellipses to avoid overflows.
2012-02-24 15:55:45 +01:00
Alexandre Julliard
556267bde4
gdi32: Avoid overflows for invalid coordinates in line clipping.
2012-02-22 11:28:33 +01:00
Alexandre Julliard
32057bf132
gdi32: Don't paint the text rectangle in transparent mode unless a rectangle is explicitly specified.
2012-02-21 17:20:48 +01:00
Kusanagi Kouichi
4dc04ae867
gdi32: Initialize font signature of "System" font link.
2012-02-21 15:01:03 +01:00
Alexandre Julliard
21498d6c11
gdi32: Paint everything in ExtFloodFill when the DIB doesn't have a clip region.
2012-02-19 20:34:27 +01:00
Alexander Kochetkov
86de76b9e1
gdi32: Fix text baseline calculation in compatible mode.
2012-02-16 18:51:55 +01:00
Alexandre Julliard
691c37ca9f
gdi32: Fix font orientation when mirroring in compatible mode.
...
Inspired by a patch from Alexander Kochetkov.
2012-02-16 18:51:55 +01:00
Kusanagi Kouichi
758796e704
gdi32: Add traces for skipped font replacements.
2012-02-15 16:27:11 +01:00
Kusanagi Kouichi
15a6aefb8f
gdi32: Use find_family_from_any_name to find a replacement family.
2012-02-15 16:27:11 +01:00
Aric Stewart
05a9d4ce94
gdi32: Rebuild the internal SystemLink every time.
2012-02-14 19:15:48 +01:00
Alexandre Julliard
b3ab012a42
gdi32: Don't clip to the visible rectangle for screen DCs.
2012-02-14 12:31:47 +01:00
Aric Stewart
85a71387da
gdi32: Load fonts from default Mac external font paths.
2012-02-09 11:58:48 -06:00
Akihiro Sagawa
39f748f083
gdi32/tests: Reorder tests to avoid side-effects.
2012-02-09 11:54:39 -06:00
Huw Davies
d3bfa44d53
gdi32: Intersect the background text box with the clip rectangle in device units.
2012-02-09 09:34:43 -06:00
Huw Davies
1eca24bd6b
gdi32: Rename a shadow variable.
2012-02-09 09:34:38 -06:00
Akihiro Sagawa
286854fb06
gdi32: Consider whether the logical font face is vertical when selecting.
2012-02-08 13:54:40 -06:00
Akihiro Sagawa
c683ad72b2
gdi32/tests: Add tests for East Asian font selection.
2012-02-08 13:54:33 -06:00
Aric Stewart
f83762e678
gdi32: Allow font replacements to be specified either in localized name or English name.
2012-02-08 10:53:40 -06:00
Akihiro Sagawa
d53dc01143
gdi32: Restore the vertical font flag from the cache.
2012-02-07 14:03:12 -06:00
Aric Stewart
e7a79b5565
gdi32: Keep our internal generated system links separate and append them to any user defined system links.
2012-02-07 09:35:50 -06:00
Aric Stewart
a8a2f87135
gdi32: In update_system_links if the font we are trying to link has already been substituted or localized we need to check against that name also.
2012-02-01 16:42:43 +01:00
Alistair Leslie-Hughes
c5235eeab0
gdi32: Add EnhMetafile PolyBezier, PolyBezierTo support.
2012-01-19 21:08:55 +01:00
Huw Davies
3dc4f259e9
gdi32: The clip region should stop the flooding.
2012-01-19 21:08:50 +01:00
Huw Davies
b2c3ca090f
gdi32/tests: Add tests for ExtFloodFill.
2012-01-18 16:27:45 +01:00
Huw Davies
d69868e464
gdi32: Implement ExtFloodFill.
2012-01-18 16:27:42 +01:00
Huw Davies
ff4045b110
gdi32: Use separate x and y parameters in the get_pixel primitive.
2012-01-18 16:27:39 +01:00
Alexandre Julliard
7e9d5a1771
gdi32: Negative destination sizes are allowed after coordinate mapping in GdiAlphaBlend.
2012-01-18 16:03:36 +01:00
Alexandre Julliard
f8fa169da0
gdi32: Store foreground/background color even when passed CLR_INVALID.
2012-01-12 15:53:07 +01:00
Alexandre Julliard
9ecc1e0702
gdi32: Simplify the CreateCompatibleBitmap implementation.
2012-01-12 15:53:04 +01:00
Alexandre Julliard
fbbf3ba408
gdi32: Get rid of the CreateDIBSection driver entry point.
2012-01-10 16:13:29 +01:00
Alexandre Julliard
71ea68b657
gdi32: Use the bitmap part of the DIBSECTION structure for the DDB object information.
2012-01-10 16:13:29 +01:00
Alexandre Julliard
e896af4065
gdi32: Always store a DIBSECTION structure in the bitmap object.
2012-01-10 16:13:29 +01:00
Alexandre Julliard
8a9be0a30b
gdi32: Get rid of the get_bitmap_funcs function.
...
DIBs no longer use the display driver functions.
2012-01-10 16:13:28 +01:00
Alexandre Julliard
66774baba3
gdi32: Use the bpp info from the bitmap structure now that it's identical to the DIB one.
2012-01-10 16:13:28 +01:00
Alexandre Julliard
8946a33c4b
gdi32: Simplify CreateDIBSection and avoid using the reference DC if not needed.
2012-01-10 16:13:27 +01:00
Alexandre Julliard
a51b2c8bd5
gdi32: Add a separate set of GDI object functions for DIBs.
2012-01-10 16:13:27 +01:00
Kusanagi Kouichi
fecb1d8b6f
gdi32: GetGlyphIndices doesn't substitute glyph.
2012-01-10 11:22:41 +01:00
Alexandre Julliard
62eaaa796b
gdi32/tests: Remove device capabilities test that fails on XP.
2012-01-09 16:27:41 +01:00
Huw Davies
7994f2c03b
gdi32: Don't create the outline region twice.
2012-01-09 15:23:17 +01:00
Alexandre Julliard
9c112996d0
gdi32: Stop forwarding object selection calls to x11drv.
2012-01-09 12:14:34 +01:00
Alexandre Julliard
dc1aeeb2f8
gdi32: Get rid of the SetDIBColorTable driver entry point.
2012-01-07 13:27:08 +01:00
Alexandre Julliard
867be0e3e3
gdi32: Add an empty ExtEscape DIB driver entry point.
2012-01-06 19:24:12 +01:00
Alexandre Julliard
56331e2a9a
gdi32: Don't allow Get/SetDeviceGammaRamp on DIBs or memory DCs.
2012-01-06 19:24:12 +01:00
Alexandre Julliard
bf718448f3
gdi32: Add a stub for the ExtFloodFill entry point.
2012-01-06 19:24:11 +01:00
Alexandre Julliard
ff31a448b3
gdi32: Implement Arc, ArcTo, Chord, and Pie, using line segments for now.
2012-01-06 19:24:02 +01:00
Alexandre Julliard
92d5b41599
gdi32: Add a helper function for computing the device rect for PS_INSIDEFRAME.
2012-01-06 19:22:22 +01:00
Alexandre Julliard
5ff285629e
gdi32: Implement Ellipse and RoundRect, using line segments for now.
2012-01-06 19:22:12 +01:00
Alexandre Julliard
3e51dd7515
gdi32: Use a better algorithm for CreateRoundRectRgn.
2012-01-06 12:53:20 +01:00
Alexandre Julliard
94ffc49e02
gdi32: Draw rectangles in the order specified by the current arc direction.
2012-01-05 20:54:07 +01:00
Alexandre Julliard
4b524f91e2
gdi32/tests: Add some tests for brushed and dashed wide pens.
2012-01-04 18:17:05 +01:00
Alexandre Julliard
d858041a19
gdi32: Get rid of the pen deferring support, all pen styles are implemented now.
2012-01-04 16:53:17 +01:00
Alexandre Julliard
c82d2a034f
gdi32: Implement dashed wide lines.
2012-01-04 16:06:21 +01:00
Alexandre Julliard
bc5428600b
gdi32: Add a helper function for drawing multiple line segments.
2012-01-04 16:06:01 +01:00
Alexandre Julliard
a59c53b312
gdi32: Add a helper function for drawing a wide line segment.
2012-01-04 15:50:31 +01:00
Alexandre Julliard
8b1bab524b
gdi32: Skip empty segments at the beginning and end of a line to make sure the caps are correct.
2012-01-04 15:10:10 +01:00
Alexandre Julliard
5f2371c229
gdi32: Only create the round cap region once per call.
2012-01-04 15:02:05 +01:00
Alexandre Julliard
618425ac4c
gdi32: Fix skipping of zero-length dashes.
2012-01-04 14:57:52 +01:00
Marcus Meissner
15162ddf3c
gdi32: Check return value of REGION_UnionRectWithRegion (Coverity).
2012-01-03 12:37:57 +01:00
Alexandre Julliard
5721cbf0e8
gdi32: Add stubs for the OpenGL entry points in the DIB driver.
2012-01-03 12:37:16 +01:00
Alexandre Julliard
ccfbcfaf53
gdi32: Calculate the image size in GradientFill only once we have the correct bit count.
2012-01-02 21:46:46 +01:00
Alexandre Julliard
2c9c9f78fb
gdi32: Don't bother computing interior regions when the brush is null.
2011-12-30 12:53:35 +01:00
Alexandre Julliard
488bf107a9
gdi32: Implement brushed pens.
2011-12-30 11:04:35 +01:00
Alexandre Julliard
4e03247427
gdi32: Define a structure to make the brush state independent from the physdev.
2011-12-30 11:04:33 +01:00
Alexandre Julliard
cc9836bda0
gdi32: Pass a brush_pattern structure to the SelectPen entry point for brushed pens.
2011-12-30 11:04:29 +01:00
Alexandre Julliard
f85bb35280
gdi32: Pass a brush_pattern structure to the SelectBrush entry point.
2011-12-30 11:04:26 +01:00
Alexandre Julliard
a1fdd5856f
gdi32: Store the pattern brush information for geometric pens.
2011-12-30 11:04:23 +01:00
Alexandre Julliard
ee89ce2982
gdi32: Add sanity checks for brush hatch styles.
2011-12-30 11:04:16 +01:00
Alexandre Julliard
8bf48557ef
gdi32: Add a structure to store all the extra information needed for a pattern brush.
2011-12-29 19:20:55 +01:00
Alexandre Julliard
5a67227078
gdi32/tests: Get rid of Win9x compatibility in the pen tests.
2011-12-29 19:20:50 +01:00
Alexandre Julliard
63a9217539
gdi32: Add checks for invalid color usage values.
2011-12-29 16:18:39 +01:00
Alexandre Julliard
c1c8c92875
gdi32: Add helpers to paint a region with the brush or pen.
2011-12-29 10:10:45 +01:00
Alexandre Julliard
579afe5cc6
gdi32: Implement PolyPolygon in the DIB driver.
2011-12-29 09:57:58 +01:00
Alexandre Julliard
f5549ae1d0
gdi32: Use a region to render geometric and wide pens in LineTo.
2011-12-29 09:57:41 +01:00
Alexandre Julliard
da8ae11300
gdi32: Use a region to render geometric and wide pens in Rectangle.
2011-12-29 09:53:25 +01:00
Alexandre Julliard
64ed56366c
gdi32: Use a region to render geometric and wide pens in PolyPolyline.
2011-12-29 00:02:24 +01:00
Alexandre Julliard
9ee690c984
gdi32: Implement returning a region for 1-pixel wide dashed pen lines.
2011-12-28 23:03:03 +01:00
Alexandre Julliard
3188c30229
gdi32: Implement returning a region for 1-pixel wide solid pen lines.
2011-12-28 23:02:42 +01:00
Alexandre Julliard
0429d9181f
gdi32: Add support for updating a region from the pen backend functions instead of painting directly.
2011-12-28 23:02:10 +01:00
Alexandre Julliard
f155db574f
gdi32: Add support for 1-pixel wide PS_USERSTYLE pens.
2011-12-28 17:42:32 +01:00
Alexandre Julliard
305be80e2f
gdi32: Add support for PS_ALTERNATE pens.
2011-12-28 17:42:27 +01:00
Alexandre Julliard
e364809a90
gdi32: Add support for 1-pixel wide geometric dashed pens.
2011-12-28 17:42:14 +01:00
Alexandre Julliard
bbd7f4e0e3
gdi32: Fix handling of invalid pen styles.
2011-12-28 16:33:35 +01:00
Alexandre Julliard
881f635ce9
gdi32: Extended pens are always transparent.
2011-12-28 16:33:31 +01:00
Alexandre Julliard
5f03c6c81b
gdi32: Wide cosmetic pens don't support dashes.
2011-12-28 13:53:15 +01:00
Alexandre Julliard
ab63eb5c40
gdi32: Fix the scaling of the width of cosmetic pens.
2011-12-28 13:53:12 +01:00
Alexandre Julliard
9b8d920cb7
gdi32: Pass the clip region to the brush_rect helper and add a similar helper for pens.
2011-12-28 11:28:21 +01:00
Alexandre Julliard
18c20964e1
gdi32: Add support for PS_INSIDEFRAME pens when drawing rectangles.
2011-12-28 11:17:41 +01:00
Alexandre Julliard
c861284a02
gdi32: Add a helper function to add a rectangle to a region.
2011-12-28 11:04:30 +01:00
Alexandre Julliard
0c840f66ed
gdi32: Compute the correct rectangle interior when using wide pens.
2011-12-27 20:53:35 +01:00
Akihiro Sagawa
70c2222180
gdi32: Avoid making a DBCS character in range.
2011-12-27 16:55:09 +01:00
Alexandre Julliard
a80eafe8d7
gdi32: Re-create the brush bits only when the ROP has really changed.
2011-12-27 16:55:02 +01:00
Alexandre Julliard
8b3271c3b0
gdi32: Avoid making a copy of the device clipping region in the DIB driver.
2011-12-27 15:48:29 +01:00
Alexandre Julliard
56373bc491
gdi32: Use the get_clipped_rects helper in the blitting functions.
2011-12-27 15:41:21 +01:00
Alexandre Julliard
d0f110e2a9
gdi32: Use the get_clipped_rects helper in the pen functions.
2011-12-27 15:00:00 +01:00
Alexandre Julliard
63ebfc591e
gdi32: Use the get_clipped_rects helper in the text functions.
2011-12-27 14:58:52 +01:00
Alexandre Julliard
b761d0e1c6
gdi32: Add a helper function to compute the list of rectangles to paint after clipping.
2011-12-27 14:57:23 +01:00
Alexandre Julliard
4333b7d370
gdi32/tests: Add tests for PALETTEINDEX colors.
2011-12-23 13:43:49 +01:00
Alexandre Julliard
73b9c86384
gdi32: Always use proper RGB colors for monochrome DDB pattern brushes.
2011-12-22 21:18:38 +01:00
Alexandre Julliard
8f929ae04d
gdi32: Add a common helper for computing pen and brush masks.
2011-12-22 20:10:31 +01:00
Alexandre Julliard
56532d0cf7
gdi32: Recompute the foreground masks on every use to support PALETTEINDEX colors.
2011-12-22 19:50:29 +01:00
Alexandre Julliard
e166ec0bb0
gdi32: Recompute the background masks on every use to support PALETTEINDEX colors.
2011-12-22 19:50:07 +01:00
Alexandre Julliard
9237638c0e
gdi32: Recompute the pen masks on every use to support PALETTEINDEX colors.
2011-12-22 19:49:23 +01:00
Alexandre Julliard
43373c29ef
gdi32: Recompute the brush masks on every use to support PALETTEINDEX colors.
2011-12-22 19:47:40 +01:00
Huw Davies
8caa0a05bd
gdi32/tests: Add tests for geometric solid pens.
2011-12-22 17:19:19 +01:00
Huw Davies
7c2351566a
gdi32: Add support for geometric solid pens.
2011-12-22 17:19:19 +01:00
Alexandre Julliard
7f3a7ae585
gdi32: Fix handling of COLORREFs with illegal values for the high byte.
2011-12-22 17:19:13 +01:00
Kusanagi Kouichi
53385314d0
gdi32: Substitute glyph for vertical font only.
2011-12-20 20:06:33 +01:00
Kusanagi Kouichi
69a26387b3
gdi32: Add vertical fonts to font list.
2011-12-20 20:06:32 +01:00