Commit Graph

69 Commits

Author SHA1 Message Date
Rémi Bernon cb1ff768ac gdi32: Implement GdiDllInitialize stub.
This is required by several Call of Duty games that are calling this
directly after loading gdi32.dll from disk.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48171
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-06 18:20:32 +01:00
Alexandre Julliard b1d920bb9f gdi32: Use wide-character string literals.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-06 17:34:27 +01:00
Alexandre Julliard aa90a5969f gdi32: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 10:44:16 +01:00
Alexandre Julliard 29d35db9a5 gdi32: Move font codepage setup out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-30 16:08:21 +02:00
Michael Stefaniuc fb7a8d92fd gdi32: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-08 12:46:18 +02:00
Alexandre Julliard 60085f4e36 gdi32: Scale stock fonts based on the DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:50:01 +02:00
Alexandre Julliard 31967ef51d gdi32: Take DPI awareness into account for the LOGPIXELSX/Y device caps.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:26:31 +02:00
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