Commit Graph

62 Commits

Author SHA1 Message Date
Huw Davies 2dfb09893c gdi32: Try to read the dpi from the user key first.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-27 22:22:47 +02:00
Huw Davies fc2d310949 gdi32: Add get_any_obj_ptr() to retrieve the ptr and type of a GDI handle.
This enables get_dc_obj() to check the type without calling GetObjectType()
and thus it saves additional calls to Enter/LeaveCriticalSection().

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 23:07:22 +09:00
Nikolay Sivov 4161f5120b gdi32: Increase first gdi handle value.
Due to 32->16bit handle truncation low enough handle values could be
misinterpreted as stock brushes indices in FillRect().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-08 23:00:58 +09:00
Sebastian Lackner 04bd68409a gdi32: Use RtlIsCriticalSectionLockedByThread to check lock owner.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-11 13:47:40 +09:00
André Hentschel 540d1459f9 gdi32: Use boolean return values in boolean functions. 2014-01-30 14:51:36 +01:00
Dmitry Timoshkov 705a0f0238 gdi32: Scale default GUI fonts to match screen resolution changes. 2013-06-17 19:30:49 +02:00
Alexandre Julliard 091c342f32 gdi32: Add a generation count in the high word of GDI handles. 2012-10-17 21:38:07 +02:00
Alexandre Julliard df357093cc gdi32: Get rid of the GDIOBJHDR type. 2012-10-17 13:48:45 +02:00
Alexandre Julliard dfeeedcf74 gdi32: Store the object flags directly in the GDI handle table. 2012-10-17 13:27:54 +02:00
Alexandre Julliard b95dd7e831 gdi32: Store the object selection count directly in the GDI handle table. 2012-10-17 13:17:56 +02:00
Alexandre Julliard 5f14ff42a8 gdi32: Process the object HDC list outside of the critical section. 2012-10-17 13:10:23 +02:00
Alexandre Julliard 2e693d00c9 gdi32: Store the HDC list directly in the GDI handle table. 2012-10-17 13:10:23 +02:00
Alexandre Julliard cf3cafdc18 gdi32: Store the object function table directly in the GDI handle table. 2012-10-17 13:10:22 +02:00
Alexandre Julliard 2bdf447744 gdi32: Store the object type directly in the GDI handle table. 2012-10-17 13:10:21 +02:00
Alexandre Julliard 2f92af70e0 gdi32: Add helper functions for converting between handle and index.
Also rename all instances of "large handles" since that's the only handle type now.
2012-10-12 11:36:24 +02:00
Daniel Lehman ea6e0a833b gdi32: Use HandleToULong inline function to convert handle to index instead of casting. 2012-10-12 11:27:58 +02:00
Akihiro Sagawa f503afd86f gdi32: Remove an outdated comment in struct DefaultFontInfo. 2012-06-18 11:59:40 +02:00
Akihiro Sagawa 2bb416baa8 gdi32: Fix East-Asian font parameters. 2012-06-18 11:59:40 +02:00
Dmitry Timoshkov e65b19cad3 gdi32: Do not normalize height of the default GUI font. 2012-06-12 10:15:26 +02:00
Dmitry Timoshkov cca41207c1 gdi32: Fix parameters of some GDI stock fonts. 2012-06-04 12:17:53 +02:00
Akihiro Sagawa 35a928a0f8 gdi32: Use the translated string as a charset name. 2011-11-07 19:34:47 +01:00
Alexandre Julliard d1db4c859c gdi32: Add null driver entry points for the device printer functions. 2011-03-11 12:36:38 +01:00
Alexandre Julliard adc63287b5 gdi32: Add null driver entry points for the object selection functions. 2011-03-10 12:39:03 +01:00
Alexandre Julliard f75b7e8788 gdi32: Improve tracing of GDI objects to make leaks easier to spot. 2010-10-12 23:01:09 +02:00
Jerome Leclanche da40f95efa gdi32: Properly set ERROR_NOACCESS when GetObject receives invalid arguments. 2010-08-20 13:21:06 +02:00
Dylan Smith e2d7da0604 gdi32: Provide a non-blank font face name for ANSI_FIXED_FONT.
This patch avoids using the wrong font when this stock font is selected,
which could be seen by modifying notepad to send WM_SETFONT to the edit
control with GetStockObject(ANSI_FIXED_FONT) for wParam.
2010-03-04 12:30:50 +01:00
Dmitry Timoshkov 4c088cbe35 gdi32: Dump GDI objects in the case of running out of GDI handles. 2010-02-24 15:12:31 +01:00
Alexandre Julliard ad8389dc39 gdi32: Do not load 16-bit gdi.exe by default. 2010-02-08 17:49:48 +01:00
Nikolay Sivov b3a193a5dd gdi32: Add GdiInitializeLanguagePack() stub. 2010-01-26 12:09:41 +01:00
Alexandre Julliard fadc2cda1c gdi32: Load the 32-bit gdi.exe module wrapper from the 32-bit side.
Get rid of the empty gdi_main.c file.
2009-12-28 23:50:40 +01:00
Alexandre Julliard 0d07420ecf gdi32: Use a standard critical section instead of a syslevel for the GDI lock. 2009-12-24 17:42:13 +01:00
Alexandre Julliard 1ac23b9b0f gdi32: Don't include wingdi16.h by default. 2009-12-07 14:18:29 +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
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 f1ea7a40f8 gdi32: Get rid of GDI_ReallocObject. 2009-01-28 19:04:04 +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 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
Maarten Lankhorst a411f25d85 gdi32/user32: Make __wine_make_gdi_object_system CDECL. 2008-12-17 15:02:26 +01:00
ByeongSik Jeon d1ca64b3f5 gdi32: Unify Chinese and Japanese default font name. 2008-12-11 12:20:27 +01:00
Andrew Talbot a4e8f4dcdd gdi32: Assign to structs instead of using memcpy. 2008-02-28 10:50:57 +01:00
Alexandre Julliard 30e2cb1616 gdi32: Move a few more gdiobj functions to gdi16.c. 2008-02-18 17:53:43 +01:00
Alexandre Julliard a306af0c62 gdi32: Reimplemented GetObject16 and moved it to gdi16.c. 2008-02-18 17:46:29 +01:00
Alexandre Julliard 1fdae2b2a5 gdi32: Reimplemented IsGDIObject16 and moved it to gdi16.c. 2008-02-18 17:26:31 +01:00
Alexandre Julliard 8815e63835 gdi32: Get rid of DC_GetDCPtr in the GDI object functions. 2008-02-05 21:17:28 +01:00