Commit Graph

1643 Commits

Author SHA1 Message Date
Alexandre Julliard ea5fa7ddbe gdi32: Map all the points at once in PolyPolyline, similarly to what PolyPolygon does. 2012-04-13 13:39:06 +02:00
Alexandre Julliard 568afc210e gdi32: Move the pen/brush_region helpers to graphics.c and avoid redundant clipping. 2012-04-13 13:36:23 +02:00
Dmitry Timoshkov 31f6f48bfd gdi32: Add a test for bitmap fonts selected for not existing font sizes. 2012-04-10 19:54:34 +02:00
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