Commit Graph

233 Commits

Author SHA1 Message Date
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 70c2222180 gdi32: Avoid making a DBCS character in range. 2011-12-27 16:55:09 +01:00
Alexandre Julliard 27eb63b082 gdi32: GetCharABCWidthsFloatW must succeed with non-TrueType fonts. 2011-12-12 11:14:25 +01:00
Alexandre Julliard 1e2dd7cad8 gdi32: Add a helper function to clip a rectangle to the DC visible rect. 2011-12-06 15:50:59 +01:00
Huw Davies 4ce3af3fad gdi32: Add support for checking the font's gasp flags. 2011-12-02 17:25:54 +01:00
Huw Davies 0ab46cd5e9 gdi32: Avoid reading past the end of the indices array.
Spotted by Marcus Meissner.
2011-11-24 17:17:07 +01:00
Alexandre Julliard 670f25cc8f gdi32: Add support for anti-aliasing in the null driver text output fallback. 2011-11-21 12:15:53 +01:00
Alexandre Julliard 1b63d5a610 gdi32: Add a helper function to determine anti-aliasing flags. 2011-11-21 11:52:30 +01:00
Alexandre Julliard 5282ffadad gdi32: Add a null driver fallback implementation for non-antialiased text output. 2011-11-21 11:52:26 +01:00
Alexandre Julliard 199409a27b gdi32: Fix positioning of font underlines and strikeouts. 2011-11-07 13:41:18 +01:00
Alexandre Julliard 26aaaa1269 gdi32: Fix a misplaced release_dc_ptr call. 2011-10-28 11:29:34 +02:00
Alexandre Julliard c441d57452 gdi32: Implement the ExtTextOut entry point in the path driver. 2011-10-26 23:16:52 +02:00
Alexandre Julliard ba2ea23574 gdi32: Always use a polygon to draw text strike-outs and underlines. 2011-10-26 14:14:36 +02:00
Alexandre Julliard 7fbb16d4ba gdi32: Implement GdiRealizationInfo as a standard driver entry point. 2011-10-26 12:41:32 +02:00
Alexandre Julliard 8796831a9f gdi32: Implement FontIsLinked as a standard driver entry point. 2011-10-26 12:41:32 +02:00
Alexandre Julliard e31c51b65e gdi32: Implement GetFontData as a standard driver entry point. 2011-10-26 12:41:31 +02:00
Alexandre Julliard 441d6cfcd4 gdi32: Implement GetTextFace as a standard driver entry point. 2011-10-26 12:41:31 +02:00
Alexandre Julliard a2de6a8766 gdi32: Implement GetTextExtentExPointI as a standard driver entry point. 2011-10-26 12:41:30 +02:00
Alexandre Julliard 1740f34ffb gdi32: Implement GetTextCharsetInfo as a standard driver entry point. 2011-10-26 12:41:30 +02:00
Alexandre Julliard ce8d7b4601 gdi32: Implement GetOutlineTextMetrics as a standard driver entry point. 2011-10-26 12:41:29 +02:00
Alexandre Julliard 0c96820104 gdi32: Implement GetKerningPairs as a standard driver entry point. 2011-10-26 12:41:29 +02:00
Alexandre Julliard 6376b4cf6f gdi32: Implement GetGlyphOutline as a standard driver entry point. 2011-10-25 16:57:28 +02:00
Alexandre Julliard ff96c4dd4e gdi32: Implement GetGlyphIndices as a standard driver entry point. 2011-10-25 16:57:27 +02:00
Alexandre Julliard 90ecea9739 gdi32: Implement GetFontUnicodeRanges as a standard driver entry point. 2011-10-25 16:57:27 +02:00
Alexandre Julliard 23c7c0469c gdi32: Reimplement GetCharABCWidthsFloat using the integer version. 2011-10-25 16:57:27 +02:00
Alexandre Julliard 27208a0ec5 gdi32: Implement GetCharABCWidthsI as a standard driver entry point. 2011-10-25 16:57:27 +02:00
Alexandre Julliard e5a0fa7089 gdi32: Implement GetCharABCWidths as a standard driver entry point. 2011-10-25 16:57:26 +02:00
Alexandre Julliard 2b1b11d681 gdi32: Rename the EnumDeviceFonts entry point to EnumFonts since it's not limited to device fonts. 2011-10-24 23:34:33 +02:00
Alexandre Julliard cbd81d391c gdi32: Implement EnumDeviceFonts as a standard driver entry point. 2011-10-24 23:34:28 +02:00
Alexandre Julliard 20070d0838 gdi32: Implement GetTextMetrics as a standard driver entry point. 2011-10-24 20:03:53 +02:00
Alexandre Julliard 5c1c7a6576 gdi32: Implement GetCharWidthW as a standard driver entry point. 2011-10-20 17:05:11 +02:00
Alexandre Julliard 6ad9eb805c gdi32: Implement GetTextExtentExPointW as a standard driver entry point. 2011-10-20 17:04:35 +02:00
Alexandre Julliard ef0fe44327 gdi32: Implement SelectFont as a standard driver entry point. 2011-10-19 18:22:05 +02:00
Huw Davies 595dbe2eba gdi32: Fix character code metrics for bitmap fonts. 2011-10-19 17:38:33 +02:00
Huw Davies 5bd304bd0e gdi32: The text extents functions fail if passed a negative count. 2011-10-11 19:43:12 +02:00
Akihiro Sagawa 79ab0c3375 gdi32: Pass a proper code point from GetGlyphOutlineA to W version. 2011-05-04 20:42:34 +02:00
Alexandre Julliard 1fc5603cc9 gdi32: Add null driver entry points for the text functions. 2011-03-16 14:14:16 +01:00
Alexandre Julliard 965d41717b gdi32: Add null driver entry points for the various DC settings functions. 2011-03-10 21:58:55 +01:00
Alexandre Julliard adc63287b5 gdi32: Add null driver entry points for the object selection functions. 2011-03-10 12:39:03 +01:00
Kusanagi Kouichi 3311bbb319 gdi32: Check if a character is double byte or single byte. 2011-02-03 13:15:19 +01:00
Kusanagi Kouichi 2d6b748c79 gdi32: Upper 24 bits of a character range must be same. 2011-02-01 18:14:09 +01:00
David Hedberg 81bbd17c40 gdi32: Stay within the clipping area when painting text background. 2011-02-01 18:14:09 +01:00
Kusanagi Kouichi c117d45cb3 gdi32: Reject invalid character range in GetCharABCWidthsA. 2011-01-28 14:50:20 +01:00
Akihiro Sagawa ac66c57523 gdi32: Use the helper function in GetCharABCWidthsFloatA to support DBCS. 2011-01-17 16:03:53 +01:00
Akihiro Sagawa da76ffa90e gdi32: Use the helper function in GetCharWidth32A to support DBCS. 2011-01-17 16:03:53 +01:00
Akihiro Sagawa b9c41636bb gdi32: Add a helper function to get chars in the range. 2011-01-17 16:03:41 +01:00
Akihiro Sagawa d4924bf9a1 gdi32: Avoid an integer overflow in GetCharABCWidthsA. 2011-01-17 16:00:12 +01:00
Akihiro Sagawa 62b5963507 gdi32: Pass the byte count to FONT_mbtowc in GetCharABCWidthsA. 2011-01-17 15:59:26 +01:00
Kusanagi Kouichi 5c987fc574 gdi32: GetCharABCWidthsA should work for DBCS. 2011-01-13 17:26:12 +01:00
Alexandre Julliard f914811359 gdi32: Remove unnecessary uses of wownt32.h. 2010-11-01 16:44:34 +01:00
James McKenzie c3dfc7b834 gdi32: Correct typo in comment. 2010-10-11 17:11:25 +02:00
Andrew Nguyen ca96aed384 gdi32: Improve AddFontMemResourceEx parameter validation. 2010-08-03 18:00:19 +02:00
Dmitry Timoshkov 81557b5e21 gdi32: Do not crash on an invalid pointer passed to AddFontMemResourceEx. 2010-08-02 16:10:06 +02:00
Alexandre Julliard 1da826a149 gdi32: Fix text positioning in mirrored DCs. 2010-07-29 13:37:20 +02:00
Alexandre Julliard 7c1124e49a gdi32: Make sure the text dimensions are always positive in the ExtTextOut normal case. 2010-07-28 23:15:01 +02:00
Alexandre Julliard 69d5a56103 gdi32: Fix the sign of the vertical text position in ExtTextOutW. 2010-06-17 17:25:04 +02:00
Nikolay Sivov cd43ff167b gdi32: Add CreateFontIndirectEx implementation. 2010-06-14 14:14:15 +02:00
Aric Stewart ec62c33d79 gdi32: Handle a BiDi string being shaped into more or less glyphs than characters in the string. 2010-05-24 11:18:28 +02:00
Aric Stewart 2a8958ec18 gdi32: Use usp10 to optionally generate glyphs for bidi strings. 2010-05-13 19:44:35 +02:00
Huw Davies d92ed5bd07 gdi32: Add support for ETO_PDY and improve world transform support. 2010-05-06 15:24:30 +02:00
Huw Davies 9bee50f6d9 gdi32: Fix ExtTextOutA -> W forwarding when ETO_PDY is set. 2010-05-05 17:49:44 +02:00
Hans Leidekker 1d4fcc0270 gdi32: Implement WineEngGetCharABCWidthsFloat and forward GetCharABCWidthsFloat to it. 2009-12-11 17:47:22 +01:00
André Hentschel e4beddb664 gdi32: Don't strip font suffix. 2009-11-17 15:14:56 +01:00
Nikolay Sivov dd0a7078e0 gdi32: Prevent possible buffer overrun. 2009-10-20 14:09:25 +02:00
Dmitry Timoshkov 95156d1b5f gdi32: Use GdiGetCodePage() instead of duplicating its functionality. 2009-04-06 12:57:21 +02:00
Dmitry Timoshkov 4bb8d9c1c2 gdi32: Cache current font code page in the DC structure. 2009-04-06 12:57:11 +02:00
Huw Davies e93d348109 gdi32: Improve calculation of the character code text metrics. 2009-02-16 16:01:37 +01:00
Dmitry Timoshkov 24937a4f0f gdi32: Add a test for the MAT2 parameter of GetGlyphOutline, make it pass under Wine. 2009-02-03 12:40:27 +01:00
Alexandre Julliard 7b82b98ee8 gdi32: Don't hold the GDI lock while calling the Freetype font engine functions. 2009-01-28 19:38:15 +01:00
Alexandre Julliard de831f334c gdi32: Release GDI handles before freeing the object.
This makes it unnecessary to hold the GDI lock during destruction.
2009-01-28 18:45:21 +01:00
Alexandre Julliard 311c53db4f gdi32: Allocate and initialize GDI objects before giving them a handle.
This makes it unnecessary to hold the GDI lock since the object
cannot be accessed before it has a handle.
2009-01-28 18:43:06 +01:00
Alexandre Julliard 5811a2ccb4 gdi32: Use the official constants instead of the old Win9x magic numbers for GDI object types. 2009-01-28 16:20:56 +01:00
Alexandre Julliard 68d19b9552 gdi32: Don't hold the GDI lock while calling the GetObjectA/W methods for GDI objects. 2009-01-27 16:30:43 +01:00
Alexandre Julliard f03871094c gdi32: Don't hold the GDI lock while calling the DeleteObject method for GDI objects. 2009-01-27 16:19:37 +01:00
Michael Stefaniuc 667a1ed5be gdi32: Remove superfluous pointer casts. 2009-01-26 14:31:13 +01:00
Michael Stefaniuc 2d94915f27 gdi32: Don't cast the void pointer returned by GDI_GetObjPtr(). 2008-10-24 14:24:59 +02:00
Austin English 3b6daf2512 gdi32: Quiet a noisy fixme. 2008-10-17 13:13:34 +02:00
Dmitry Timoshkov b31d7dbe8e gdi32: Do not skip the font metrics update after the DC transform change. 2008-10-02 10:28:36 -05:00
Huw Davies 29637c1441 gdi32: Keep track of the number of unique fonts that are created and return this in the second DWORD of the GdiRealizationInfo structure. 2008-08-05 14:09:34 +02:00
Francois Gouget eb16f43bdf Add some API documentation stubs to make winapi_check happy. 2008-07-28 11:34:45 +02:00
Andrew Talbot 1dcc70ac17 gdi32: Pass correct pointer value to HeapFree(). 2008-06-27 11:29:58 +02:00
Dan Hipschman 92c8cac214 gdi32: Return the correct value from GetTextFace. 2008-06-25 11:41:00 +02:00
Dmitry Timoshkov ade4132b25 gdi32: Make GetOutlineTextMetrics set tmDigitizedAspectX/Y to real values as GetTextMetrics does. 2008-06-24 12:20:50 +02:00
Alexandre Julliard 93cbb7a5db gdi32: Perform coordinate transformations using doubles instead of floats to avoid precision loss. 2008-05-22 17:43:01 +02:00
Austin English cb2274e690 Spelling fixes. 2008-04-04 11:51:40 +02:00
Austin English 45b944ed51 gdi32: Spelling fixes. 2008-03-25 19:58:31 +01:00
Jeremy White 5e1dd9577d gdi32: Revise CreateScalableFontResourceA to pass through CreateScalableFontResourceW. 2008-03-10 12:08:55 +01:00
Huw Davies 34002d4c7e gdi32: Add a partial implementation of GdiRealizationInfo. 2008-02-28 10:44:35 +01:00
Michael Stefaniuc de66aebebd gdi32: Move EnumFontFamiliesEx16() to gdi16.c and reimplement it based on EnumFontFamiliesExW(). 2008-02-20 12:07:03 +01:00
Michael Stefaniuc e9a8e6a426 gdi32: Move EnumFonts16 and EnumFontFamilies16 to gdi16.c. 2008-02-19 13:39:24 +01:00
Alexandre Julliard aa500d266f gdi32: Get rid of the 16-bit GetObject functions. 2008-02-18 17:50:35 +01:00
Michael Stefaniuc 3db6eeeda9 gdi32: Move two 16bit function stubs to gdi16.c. 2008-02-13 16:41:03 +01:00
Gerald Pfeifer 21b334713c gdi32: For unsigned types, directly use INTERNAL_YDS 2008-02-12 22:35:43 +01:00
Alexandre Julliard 4b14a080fe gdi32: Get rid of DC_GetDCPtr in font functions. 2008-02-05 21:16:27 +01:00
Alexandre Julliard 67a9edbdf4 gdi32: Get rid of a few more uses of DC_GetDCPtr. 2008-02-05 17:35:40 +01:00
Marcus Meissner a63664f1ec gdi32: Fix possible NULL ptr in TRACE. 2008-01-21 11:50:49 +01:00
Dmitry Timoshkov 2fdaa56693 gdi32: Add a test for undocumented EnumFontFamiliesEx(NULL), make it pass under Wine. 2008-01-15 11:38:15 +01:00
Dmitry Timoshkov d973271566 gdi32: Use public FS_xxxxxx defines. 2008-01-14 13:11:42 +01:00
Dmitry Timoshkov 4bb1c18835 gdi32: Remove redundant indentation levels in CreateFontIndirectA and CreateFontIndirectW. 2008-01-04 12:12:14 +01:00
Hans Leidekker 864741c1b4 gdi32: Add a stub implementation for RemoveFontMemResourceEx. 2008-01-02 13:29:52 +01:00
Francois Gouget f1c27eda6b Assorted spelling fixes. 2007-12-18 14:16:11 +01:00
Hans Leidekker 0dc765809c gdi32: GetCharABCWidthsI does not require a scalable font. 2007-12-10 12:27:13 +01:00
Detlef Riekenberg efb13b28df Assorted spelling fixes. 2007-12-08 19:55:39 +01:00
Hans Leidekker 8487c2dd2a gdi32: Implement GetTextExtentExPointI. 2007-12-03 15:54:05 +01:00
Gerald Pfeifer 24186d42da gdi32: Fix the type of two loop variables. 2007-11-29 15:36:49 +01:00
Alexandre Julliard d78a58298a gdi32: Don't hold the GDI lock while calling the driver SelectFont function. 2007-09-27 21:01:00 +02:00
Alexandre Julliard af6c0a09c5 gdi32: Move the object refcount handling to the SelectObject backend functions. 2007-09-27 20:57:02 +02:00
Alexandre Julliard a1e31397e1 gdi32: Don't pass an object pointer to the SelectObject backend functions. 2007-09-27 20:14:13 +02:00
Francois Gouget b2bc712323 Assorted spelling fixes. 2007-09-27 20:12:53 +02:00
Alexandre Julliard 3363d65f16 gdi32: Move the generic part of FontIsLinked() to font.c. 2007-09-26 20:21:34 +02:00
Alexandre Julliard 543270dfb5 gdi32: Don't pass a DC handle to WineEngGetFontUnicodeRanges. 2007-09-26 20:17:13 +02:00
Maarten Lankhorst c3cf79d817 gdi: Remove support for libicu and all dependencies. 2007-09-19 14:56:50 +02:00
Alexandre Julliard 99a258311c gdi32: Replace remaining instance of DC_GetDCUpdate by get_dc_ptr+update_dc. 2007-09-18 09:34:08 +02:00
Mikolaj Zalewski 0eb910352c gdi32: If freetype fails try to load manually fonts wrapped as PE resources. 2007-09-17 14:37:32 +02:00
Mikolaj Zalewski baee27c69c gdi32: Implement AddFontMemResourceEx (based on a patch of Byeong-Sik Jeon). 2007-09-17 14:14:27 +02:00
Alexandre Julliard 1476e34645 gdi32: Add separate functions for releasing/freeing DCs to replace the standard GDI ones.
This should make it possible to use a different locking mechanism for DCs.
2007-08-21 21:37:40 +02:00
Huw Davies 3739b5f995 gdi32: Pass an lpDx array to the driver if the escapement is non-zero, so that the driver has access to the unrotated advance widths. 2007-05-31 14:18:45 +02:00
Dmitry Timoshkov edbc6e7b8a gdi32: Fix compilation warnings in 64-bit mode. 2007-05-30 11:55:30 +02:00
Andrew Talbot 260deef761 gdi32: Constify some variables. 2007-04-30 13:33:32 +02:00
Dmitry Timoshkov bc4bbb40d1 gdi32: Make GetKerningPairsA not fail for fonts with SYMBOL charset. 2007-04-02 11:34:27 +02:00
Dmitry Timoshkov 826e937a81 gdi32: Implement GdiGetCodePage. 2007-03-26 12:30:29 +02:00
Dmitry Timoshkov bd07f3f39e gdi32: Add a GetTextMetrics test, make it pass under Wine. 2007-03-15 13:09:56 +01:00
Dmitry Timoshkov 7f16f21cf7 gdi32: Add an extensive EnumFontFamilies test, fix some failures when running under Wine. 2007-03-06 21:52:00 +01:00
Dmitry Timoshkov 17ac48b6a4 gdi32: Avoid a needless goto. 2007-03-05 12:14:07 +01:00
Hans Leidekker 748032e0fb gdi32: Implement GetFontUnicodeRanges. 2007-03-02 11:39:32 +01:00
Pedro Araujo Chaves Jr 2051bcccca gdi32: Fix for GetTextExtentExPointW() and ExtTextOutW(). 2007-02-15 13:27:24 +01:00
Dmitry Timoshkov 37591409b2 gdi32: Revert 1440eb5a35 and add the test showing that the change was wrong. 2007-02-15 11:21:53 +01:00
Dmitry Timoshkov e915a3cfb1 gdi32: Make sure that we don't read/write beyond the provided buffer in GetOutlineTextMetricsA, add a test case. 2007-02-05 14:03:45 +01:00
Hans Leidekker 80e30f3d1b gdi32: Implement GetCharWidthI. 2007-01-02 20:30:17 +01:00
Dmitry Timoshkov 2cbf7d4d91 gdi32: Remove redundant debug channel, use the default one instead. 2007-01-02 12:09:14 +01:00
Alexandre Julliard 75b8f88875 gdi32: Get rid of the gdi.h include. 2006-11-17 14:52:07 +01:00
Alexandre Julliard 7dfc447741 gdi32: Renamed the gdi directory to gdi32. 2006-10-20 12:25:29 +02:00