Commit Graph

682 Commits

Author SHA1 Message Date
Paul TBBle Hampson 8a4b77883e gdi32: Fetch child fonts by real parent font name.
Entries in the list of linked fonts are keyed by the substituted font
name, so need to be looked up by the substituted font name.
2009-05-05 15:39:36 +02:00
Nikolay Sivov 0f9bc1d3b7 gdi32: Check header pointer in CreateDIBitmap. 2009-05-04 14:57:32 +02:00
Paul TBBle Hampson 4b45767e2a gdi32: Remove tabs from init_system_links TRACEs. 2009-04-30 12:46:09 +02:00
Paul TBBle Hampson 0cde093fdc gdi32: Ensure font name comparisons are case-insensitive. 2009-04-30 12:45:58 +02:00
Rein Klazes 5265e0f2e5 winex11: GetPixel() on a monochrome bitmap should return black or white, not dark red. 2009-04-29 15:50:25 +02:00
Paul Vriens f043f3db27 gdi32/tests: Fix a test failure on NT4. 2009-04-28 11:58:27 +02:00
Paul Vriens 75f6b1d636 gdi32/tests: Fix some test failures on Win9x/WinME. 2009-04-28 11:58:14 +02:00
Paul Vriens 05c50725db gdi32/tests: Fix a test failure on NT4. 2009-04-23 18:14:27 +02:00
Paul Vriens 59cc56b15a gdi32/tests: Skip several tests on Win9x. 2009-04-20 14:12:43 +02:00
Alexandre Julliard 55fc90220f gdi32: Fix SetEnhMetaFileBits last error handling. 2009-04-07 20:55:59 +02:00
Alexandre Julliard eceed527f6 gdi32: Completely implement RestoreDC in the driver, having it call restore_dc_state if necessary. 2009-04-07 20:55:56 +02:00
Alexandre Julliard e2f888a617 gdi32: Allow the visible region to be zero since this is the case for metafiles. 2009-04-07 20:55:42 +02:00
Alexandre Julliard bbb1626bf8 gdi32: Completely implement SaveDC in the driver, having it call save_dc_state if necessary. 2009-04-07 20:55:28 +02:00
Alexandre Julliard d4c54be272 gdi32: Move the whole DC restoring functionality into set_dc_state, and rename it to restore_dc_state. 2009-04-07 20:28:08 +02:00
Alexandre Julliard a23725785e gdi32: Move the whole DC saving functionality into get_dc_state, and rename it to save_dc_state. 2009-04-07 20:18:58 +02:00
Alexandre Julliard 1380f0ac40 gdi32: Remove Get/SetDCState16 implementation, it should not be used by apps. 2009-04-07 20:13:45 +02:00
Alexandre Julliard 88e01969c2 gdi32: Move freeing of the DC path and regions into free_dc_ptr. 2009-04-07 20:13:08 +02:00
Alexandre Julliard 1f1d157237 gdi32/tests: Add some metafile tests. Fix typos. 2009-04-07 15:20:13 +02:00
Aric Stewart cac6b96de4 gdi32/tests: Demonstrate issues in wine with SaveDC and RestoreDC in metafiles and enhmetafiles. 2009-04-06 13:52:14 +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
Dmitry Timoshkov 301b5d2772 gdi32: Add a couple of SetGraphicsMode/SetWorldTransform tests, make them pass under Wine. 2009-04-06 12:56:50 +02:00
Massimo Del Fedele da6a94cd96 gdi32: Fix PATH_add_outline when mapping mode != MM_TEXT. 2009-03-31 16:43:05 +02:00
Massimo Del Fedele a11a450e33 gdi32: PATH_ExtTextOut remove incorrect shift to DC origin. 2009-03-31 16:43:04 +02:00
Massimo Del Fedele 23acdb7143 gdi32: Correctly handle space char on Path_ExtTextOut(). 2009-03-31 16:43:04 +02:00
Massimo Del Fedele 97e81bc3bd gdi32/tests: Add test for GetGlyphOutlineW() requesting buffer size for space char. 2009-03-31 16:43:04 +02:00
Michael Stefaniuc 4114cea302 gdi32: Use "%p" to TRACE() pointers. 2009-03-25 11:09:19 +01:00
Paul Vriens 3668edcdf4 gdi32/tests: Fix some test failures on Win9x. 2009-03-13 14:52:52 +01:00
Paul Vriens dde935f0bf gdi32/tests: Fix two test failures on Win9x. 2009-03-12 15:39:51 +01:00
Huw Davies 908ff58339 gdi32/tests: Under win9x GetBitmapBits returns zero when passed a NULL buffer. 2009-03-11 13:03:33 +01:00
Huw Davies f1e1ae7483 gdi32/tests: Mark as broken another case where win9x doesn't set biSizeImage. 2009-03-11 13:03:33 +01:00
Huw Davies d77ed15f05 gdi32/tests: win9x doesn't initialise the bitmap bits. Mark this behaviour as broken. 2009-03-11 13:03:33 +01:00
Huw Davies e41e1f8f84 gdi32/tests: Remove a cut and paste error. 2009-03-11 13:03:33 +01:00
Huw Davies 3d461dbe85 gdi32/tests: Win9x's GetDIBits() sets biSizeImage to zero for BI_RGB dibs. 2009-03-10 12:09:12 +01:00
Huw Davies f7608053e7 gdi32/tests: Marked another win9x failure as broken. 2009-03-10 12:09:08 +01:00
Huw Davies bbafe93858 gdi32/tests: Fix yet another place where win9x returns bmType equal to 0x5250. 2009-03-10 12:09:04 +01:00
Huw Davies 5ccf92f512 gdi32/tests: Fix another case where win9x returns bmType equal to 0x5250. 2009-03-09 13:55:48 +01:00
Huw Davies a88e6e0182 gdi32/tests: win9x doesn't return the correct number of colours used with dib sections created via DIB_PAL_COLORS. 2009-03-09 13:55:45 +01:00
Huw Davies 240651e0c1 gdi32/tests: Mark win9x behaviour as broken. 2009-03-09 13:55:42 +01:00
Alexandre Julliard 86f54f4c89 gdi32: Make dispdib.dll into a stand-alone 16-bit module. 2009-03-04 14:27:05 +01:00
Huw Davies 17a866df29 gdi32/tests: Fix tests on NT4. 2009-03-04 13:06:23 +01:00
Huw Davies 246a9a6f7a gdi32/tests: Win9x doesn't initialize the bitmap bits, so skip this test. 2009-03-04 13:06:20 +01:00
Huw Davies 1ad19cc9ce gdi32/tests: Improve some test failure messages. 2009-03-03 13:26:20 +01:00
Eric Pouech 21c3e79e52 winex11: Correctly pad 1 bpp DDB's lines with 0 values. 2009-03-02 15:02:43 +01:00
Dmitry Timoshkov d15619b215 gdi32: Fix the font rotation direction.
Apparently at some point either freetype got fixed, or other gdi32
changes made the matrix members usage match freetype. This patch makes
my test application match the Windows behaviour in font rotation direction.
2009-03-02 12:11:35 +01:00
Huw Davies 973ac6dbd2 gdi32/tests: Winnt doesn't set last error when a NULL dc is passed to GetDIBits. 2009-02-27 16:22:38 +01:00
Huw Davies 103f3db95f gdi32/tests: Don't expect the screen dc's bitmap to be mono 1x1. 2009-02-27 16:22:27 +01:00
Huw Davies e270f5a89d gdi32/tests: Add a broken() to an always true test. 2009-02-27 16:22:08 +01:00
Dmitry Timoshkov b3e65ba399 gdi32: Revert an unrelated part of 028617b90b.
It was not a very nice idea to break bitmap fonts which request a custom
width (therefore a transformation) in a patch that pretended to do something
unrelated.
2009-02-27 13:15:44 +01:00
Francois Gouget 9de60b9c2c gdi32/tests: Use win_skip() to skip over unimplemented functionality. 2009-02-24 16:57:26 +01:00
Huw Davies 5b183a208f gdi32/tests: Don't test the height that is 1.75 times the original font height. This is unscaled in winnt yet doubled in win9x. 2009-02-23 15:24:56 +01:00
Huw Davies ff2f88cf08 gdi32: Fix fractional scaling threshold. 2009-02-20 18:46:04 +01:00
Paul Vriens ac6077023f gdi32/tests: Report a missing function only once. 2009-02-20 18:07:42 +01:00
Huw Davies 5c8c151aa8 gdi32/tests: Add tests for the 120 dpi bitmap fonts. 2009-02-19 15:57:47 +01:00
Huw Davies 4f25723853 gdi32: Set the font family as FF_MODERN if the panose marks it as monospaced. 2009-02-19 15:57:47 +01:00
Huw Davies e6a0fa9f44 gdi32/tests: Output the requested font name on failure. 2009-02-19 15:57:47 +01:00
Huw Davies ee339afa3f gdi32/tests: Output the required font height if the test fails. 2009-02-19 15:57:47 +01:00
Rob Shearman ccce11d2c3 gdi32: Move 16-bit functions not exported in gdi32.dll into files compiled only when 16-bit functionality is enabled. 2009-02-19 12:51:50 +01:00
Huw Davies f4e3e18b42 gdi32/tests: From Vista onwards TabbedTextOut ignores justification, so remove that bit of the test. 2009-02-18 14:48:05 +01:00
Huw Davies 2c6ddb8030 gdi32: The special handling of the character codes metrics for symbol fonts should be based on the presence of the MS symbol charmap rather than whether the font is enumerated as SYMBOL_CHARSET. 2009-02-18 13:13:29 +01:00
Huw Davies c40b434172 gdi32/tests: Win9x truncates the LONG elements of LOGFONT to 16 bit values. 2009-02-18 13:13:26 +01:00
Huw Davies bd69c2e95a gdi32/tests: Allow the first char code to point to glyph 0 (the .notdef glyph). 2009-02-17 15:14:57 +01:00
Huw Davies 24c9a37aaf gdi32: In a Baltic locale the last char of a symbol font is reported as 0xf8fd rather than 0xf0ff. 2009-02-17 15:14:53 +01:00
Huw Davies aecf29ae84 gdi32/tests: Win9x doesn't ensure the facename is nul terminated. Compare the logfont one element at a time. 2009-02-17 15:14:35 +01:00
Huw Davies 7cc7ad5ec4 gdi32/tests: Win98 and WinMe actually do set error codes. 2009-02-17 15:14:29 +01:00
Huw Davies c404d00b3d gdi32/tests: GetTextFaceA called with a NULL buffer returns 0 on win98 and winMe. 2009-02-17 15:14:25 +01:00
Michael Stefaniuc 056359cc4e gdi32: SetAbortProc is not a 16bit function but a 32bit one. 2009-02-17 12:47:32 +01:00
Huw Davies 3fa05ae6a7 gdi32/tests: Only test the lowest byte of GdiRealizationInfo flags so that the test passes on Vista. 2009-02-16 16:01:38 +01:00
Huw Davies e93d348109 gdi32: Improve calculation of the character code text metrics. 2009-02-16 16:01:37 +01:00
Huw Davies d9811e6927 gdi32/tests: Use the ANSI text metrics so the tests work on win9x. 2009-02-12 17:53:34 +01:00
Huw Davies aaefb75f8d gdi32: Add missing serif types. 2009-02-12 17:53:34 +01:00
Huw Davies 8ab829a68a gdi32: Correct the font family values returned in the text metrics. 2009-02-11 16:14:46 +01:00
Francois Gouget f250f4fa04 Assorted spelling fixes. 2009-02-11 15:56:02 +01:00
Dmitry Timoshkov 5804470f26 gdi32: Make sure that World2Vport DC transformation is valid before using it. 2009-02-05 13:15:17 +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
Dmitry Timoshkov 44589c6f8f gdi32: The MAT2 parameter of GetGlyphOutline is mandatory. 2009-02-03 12:40:24 +01:00
Alexandre Julliard 687dfd69e9 gdi32: Check for memory allocation failure in region functions and propagate the error correctly. 2009-01-29 21:45:01 +01:00
Alexandre Julliard ec4af0764b gdi32: Replace the MEMCHECK macro in the region code by a proper function. 2009-01-29 21:45:01 +01:00
Alexandre Julliard 919b1076c9 gdi32: Don't hold the GDI lock while creating regions. 2009-01-29 21:45:01 +01:00
Alexandre Julliard a686b8b583 gdi32: Store the region data directly in the GDI object. 2009-01-29 21:45:01 +01:00
Alexandre Julliard 73593cbf5a gdi32: Store a separate flag to mark a GDI object for delayed destruction. 2009-01-29 21:45:01 +01:00
Alexandre Julliard 827e1f1de3 gdi32: Increment the reference count for the initial DC stock objects. 2009-01-29 21:44:52 +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 f1ea7a40f8 gdi32: Get rid of GDI_ReallocObject. 2009-01-28 19:04:04 +01:00
Alexandre Julliard a83c81b544 gdi32: Allocate palette entries separately from the main GDI object.
This allows resizing the palette without changing the object pointer.
2009-01-28 19:02:17 +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
Igor Tarasov 1b17c8d057 gdi32: Add logcal points to device points conversion for source bitmap before bit stretching. 2009-01-28 14:28:01 +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 9ff44b815b gdi32: Don't hold the GDI lock while calling the UnrealizeObject method for GDI objects. 2009-01-27 16:26:35 +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
Alexandre Julliard b4255d295d gdi32: Release the GDI lock when calling the DC DeleteObject function. 2009-01-27 16:15:47 +01:00
Andrew Nguyen e670b01f39 gdi32: Stub the NamedEscape function. 2009-01-27 15:22:40 +01:00
Alexandre Julliard 3939cb5c82 gdi32: Avoid some pointer casts. 2009-01-26 15:09:18 +01:00
Michael Stefaniuc 667a1ed5be gdi32: Remove superfluous pointer casts. 2009-01-26 14:31:13 +01:00
Alexandre Julliard cbe6e71775 gdi32/tests: Fix the mapping test to handle the more precise LOMETRIC settings on Vista. 2009-01-25 17:08:55 +01:00
Alexandre Julliard d2b217e90a gdi32/tests: Add a test case for calling WriteFile with the DIB section bits as buffer. 2009-01-15 12:06:15 +01:00
Alexandre Julliard ac543e5bc7 gdi32/tests: Fix an uninitialized value check and a structure size for Win64. 2009-01-10 21:05:52 +01:00
Alexandre Julliard 328ca0e00c gdi32/tests: Fix an uninitialized pointer check for Win64. 2009-01-09 18:08:50 +01:00
Francois Gouget 581e390115 winapi_test: The tests don't support WIN64 yet so disable them there. 2009-01-08 12:47:22 +01:00
Francois Gouget 411f5d22c0 winapi_test: The real tests are done at compile time so use C_ASSERT() instead of ok(). Do only one test per line so one can know exactly what went wrong. 2009-01-08 12:46:39 +01:00
Francois Gouget 9f62c9b7a8 winapi_test: Fix TEST_FIELD() so it correctly tests the field size. 2009-01-08 12:44:49 +01:00
Francois Gouget 43c18c1321 winapi_test: FIELD_ALIGNMENT() is redundant so remove it. 2009-01-08 12:43:15 +01:00
Francois Gouget 2e668d2572 winapi_test: Updated so the generated tests work. 2009-01-08 12:42:12 +01:00
Francois Gouget ca82e0f5b3 gdi32: Remove some dead code. 2009-01-07 14:40:25 +01:00
Alexandre Julliard 428de06982 gdi32/tests: Fix a pointer casting warning on 64-bit. 2009-01-03 20:13:29 +01:00
Byeongsik Jeon f2e1b254ce gdi32: Restore the trimmed bitmap image by FT_Render_Glyph(). 2008-12-29 12:41:45 +01:00
Byeongsik Jeon 45a081f142 gdi32: Don't truncate the added pixels with FT_LCD_FILTER_DEFAULT. 2008-12-24 10:58:59 +01:00
Maarten Lankhorst 131d0a79a1 gdi32/winex11.drv: Change all gdi/opengl operations to use CDECL calling convention. 2008-12-23 13:02:33 +01:00
Alexandre Julliard 30137f168c gdi32: Fix the build without Freetype LCD support. 2008-12-23 12:34:01 +01:00
ByeongSik Jeon 028617b90b gdi32, winex11: Add support for subpixel font rendering. 2008-12-22 16:33:03 +01:00
Maarten Lankhorst a411f25d85 gdi32/user32: Make __wine_make_gdi_object_system CDECL. 2008-12-17 15:02:26 +01:00
Lei Zhang 6d790d6ed0 gdi32: Prevent integer overflow in CreateBitmapIndirect. 2008-12-17 13:52:41 +01:00
Paul Vriens 098f2f231d gdi32/tests: Fix a few failures on Win9x. 2008-12-15 12:36:08 +01:00
Francois Gouget 52b4c7f26d gdi32: Export three implemented 16bit Engine*() functions. 2008-12-15 12:25:36 +01:00
Francois Gouget cc6e4e955e gdi32: Make [GS]etDCState() static. 2008-12-15 12:25:34 +01:00
Francois Gouget f5657080c7 gdi32/tests: Make test_GdiAlphaBlend() static. 2008-12-12 11:42:07 +01:00
Paul Vriens ed4444dae5 gdi32/tests: Fix some test failures on Win9x. 2008-12-12 11:38:31 +01:00
ByeongSik Jeon d1ca64b3f5 gdi32: Unify Chinese and Japanese default font name. 2008-12-11 12:20:27 +01:00
Paul Vriens 52a914db83 gdi32/tests: Remove the todo_wine logic where appropriate. 2008-12-11 11:50:15 +01:00
Paul Vriens 024a6bce5f gdi32/tests: Fix a failure on NT4. 2008-12-10 10:49:50 +01:00
Paul Vriens fee339f7ff gdi32/tests: Fix a few test failures on Win9x and WinMe. 2008-12-05 12:36:53 +01:00
Paul Vriens 9960ab2418 gdi32/tests: Fix a few test failures on Win9x and WinMe. 2008-12-04 15:46:15 +01:00
Aric Stewart c0c852247f gdi32: Use the substitute name, if it exists, when looking for font system links.
Allows double indirection MS ShellDlg -> MS UI Gothic linked to system
gothic to work as expected.
2008-12-03 11:41:45 +01:00
Dmitry Timoshkov 1669b337e4 gdi32: Make PATH_AddEntry static. 2008-12-03 09:57:47 +01:00
Michael Stefaniuc ec1c9492b0 gdi32: Remove some superfluous casts. 2008-11-25 11:56:02 +01:00
Ricardo Filipe ca3d0d67a8 gdi32: Fix dead store (llvm/clang). 2008-11-18 13:05:56 +01:00
Paul Vriens decb70d95c gdi32/tests: Fix a few failures on Win9x and WinMe. 2008-11-13 15:30:52 +01:00
Paul Vriens 3f4333d70c gdi32/tests: Don't crash on NT4. 2008-11-06 15:01:12 +01:00
Dmitry Timoshkov 25a1803720 gdi32: Fix a broken test. 2008-11-06 11:10:10 +01:00
Sergey Khodych 11d17fafc4 winex11: BitBlt returns TRUE when drawing outside of the clipping or visible region. 2008-11-06 11:09:16 +01:00
Dmitry Timoshkov 376adf9438 gdi32: Try to avoid not necessary glyph transformations. 2008-11-03 11:50:15 +01:00
Michael Stefaniuc 933ec96aa7 gdi32: Don't cast NULL. 2008-10-31 13:27:24 +01:00
Kirill K. Smirnov 003392b545 gdi32: Fix copy/paste typo. 2008-10-31 12:57:17 +01:00
Bobby Bingham a900f5e065 gdi32: Add support for the GGO_UNHINTED flag in GetGlyphOutline. 2008-10-28 15:46:29 +01:00
Dmitry Timoshkov 61900098b1 gdi32: Move DC mapping APIs to the 'dc' debug channel. 2008-10-28 12:14:01 +01:00
Michael Stefaniuc 8ff77fce45 gdi32/tests: HGDIOBJ is interchangeable with other handle types; no casts are needed. 2008-10-27 11:30:01 +01:00
Dmitry Timoshkov 2d15db6136 gdi32: Search the child font list first. 2008-10-27 11:28:50 +01:00
Michael Stefaniuc 2d94915f27 gdi32: Don't cast the void pointer returned by GDI_GetObjPtr(). 2008-10-24 14:24:59 +02:00
Dmitry Timoshkov ccba8578f5 gdi32: Add EMR_GDICOMMENT to the list of records producing output.
This completely fixes the print previews generated by MS Access in a Win9x
mode. Access has a custom handler for an EMR_GDICOMMENT record, and GDI APIs
it calls from it don't work properly due to wrong DC mapping.
2008-10-23 15:15:41 +02:00
Dmitry Timoshkov d1fe894a7d gdi32: Make EnumEnhMetaFile update the DC state before calling the callback.
This makes applications with custom callbacks work properly, and fixes
'make test' in a win9x mode.
2008-10-22 13:54:53 +02:00
Francois Gouget 215738a140 dirent.h is a conditional include now. 2008-10-20 11:37:27 +02:00
Alexandre Julliard 7f327237bf Convert remaining source files to utf-8. 2008-10-18 19:23:08 +02:00
Austin English 3b6daf2512 gdi32: Quiet a noisy fixme. 2008-10-17 13:13:34 +02:00
Detlef Riekenberg 57a5a60ca3 gdi32/tests: Fix tests to not depend on 96 dpi. 2008-10-14 13:41:55 +02:00
Jeremy White 484add2220 gdi32/tests: Make the comparison of the enumerated and returned logfont structures actually work. 2008-10-13 12:14:23 +02:00
Jeremy White fed3d50663 gdi32: Expand maximum font count to 4096, warn when we go over that limit. 2008-10-13 12:14:00 +02:00
Andrew Talbot 3a02030d54 gdi32: Sign-compare warnings fix. 2008-10-13 12:13:19 +02:00
Dmitry Timoshkov 7c1397412b gdi32: Revert incorrect fix introduced in a5d288f08c.
The real fix has been provided in 41aad2dce2.
2008-10-09 12:58:03 +02:00