Zhiyi Zhang
3ebc715881
gdi32: Reselect font and pen when changing world transforms for enhanced metafiles.
...
Reselect font and pen into enhanced metafile device contexts after world transform is changed so
that content can be drawn using the correct size. Also modifying the world transform for enhanced
metafiles doesn't generate EMR_SELECTOBJECT records according to winedump outputs.
Fix an issue that Tally may produce a print preview with a too large font or with a black side bar.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 21:07:10 +02:00
Zhiyi Zhang
1543be811d
gdi32: Move common SetLayout() code to nulldrv_SetLayout().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 21:07:10 +02:00
Zhiyi Zhang
2006f76b5f
gdi32: Report correct HORZRES and VERTRES values for GetDeviceCaps() with DCs on a specific monitor.
...
Fix DLC Quest uses the primary monitor size to render when in fullscreen mode on non-primary monitors.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-27 21:12:01 +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
46ab536f87
gdi32: Move the font driver out of freetype.c.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-20 22:54:02 +02:00
Piotr Caban
2370e7b9a1
gdi32: Share font_gamma_ramp structure between all DCs.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 16:41:24 +02:00
Alexandre Julliard
4a902de213
gdi32: Make GDI driver functions cdecl.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-06 21:47:58 +02:00
Byeongsik Jeon
649dd1292d
gdi32: Support the gamma correction for the subpixel rendering.
...
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 22:36:43 +02:00
Huw Davies
0805b0d567
gdi32: Add the ability to disable a DC.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:46:20 +01:00
Huw Davies
28bb9d15a6
gdi32: Only reselect the objects if the linear transform portion changes.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 05:30:17 -05:00
Huw Davies
aa4934783f
gdi32: Where possible directly access the DC instead of using GetCurrentObject().
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 23:43:35 +09:00
Huw Davies
d4d65e2df9
gdi32: Move the release until after the final dc access.
...
Also only reselect the font if the graphics mode changes.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 23:43:35 +09:00
Huw Davies
e1130cbb99
gdi32: Add an internal version of DPtoLP that takes a DC pointer.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 23:43:35 +09:00
Huw Davies
6a8cfea99b
gdi32: Use POINT and SIZE to hold positions and extents.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-27 22:21:08 +09:00
Huw Davies
f4bc213ce5
gdi32: Use an internal version of LPtoDP that takes a DC * where possible.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 19:38:14 +09: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
Alexandre Julliard
955676bc05
gdi32: Pass the full DC handle to the hook in DeleteDC.
2014-04-14 09:38:01 +02:00
Alexandre Julliard
200eb1d30b
gdi32: Trigger the display driver load for CreateCompatibleDC(0).
2013-12-30 19:01:53 +01:00
Alexandre Julliard
7c3bb6070a
gdi32: Don't bother returning the driver module from DRIVER_load_driver.
2013-12-30 19:01:52 +01:00
Alexandre Julliard
e650da3570
gdi32: Get rid of the driver module in the DC.
2013-10-29 12:51:26 +01:00
André Hentschel
741f7b6f0c
gdi32: Copy gamma ramp validation from winex11 to make it driver independent.
2013-04-17 16:31:31 +02:00
Alexandre Julliard
b057c5f140
gdi32: Fix handling of font orientation in advanced graphics mode.
2012-12-10 17:36:23 +01:00
Alexandre Julliard
8cca615f02
gdi32: Don't store a font pointer in the generic part of the DC.
2012-12-05 21:13:54 +01:00
Alexandre Julliard
4ad5287496
gdi32: Fully reset the DC state before deleting it.
2012-11-27 19:45:30 +01:00
Alexandre Julliard
4396a79ede
gdi32: Add a DC hook flag to reset the DC state.
2012-10-24 18:24:03 +02:00
Alexandre Julliard
77c1856d43
gdi32: Remove an unused DC field.
2012-10-24 18:22:29 +02:00
Alexandre Julliard
5c1a752d61
gdi32: Export a function to retrieve the module handle of the graphics driver for a DC.
2012-10-22 15:16:00 +02:00
Alexandre Julliard
b0ba7c765e
gdi32: Update the ref count of stock objects when deleting a DC.
2012-10-21 12:18:46 +02:00
Alexandre Julliard
df357093cc
gdi32: Get rid of the GDIOBJHDR type.
2012-10-17 13:48:45 +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
e95cff0332
gdi32: Always update the DC before looking for the physdev pointer.
2012-09-20 21:07:04 +02:00
Alexandre Julliard
61f4767ade
gdi32: Don't implement the gamma ramp functions in the DIB driver.
2012-05-31 13:44:32 +02:00
Alexandre Julliard
592bfd52c9
gdi32: Always use the DIB engine for DDB rendering.
2012-05-29 18:20:10 +02:00
Alexandre Julliard
e94d3b4e08
gdi32: Add a priority mechanism for pushing drivers on the stack in a defined order.
2012-05-08 12:16:50 +02:00
Alexandre Julliard
41e5bc06d8
gdi32: Add support for clipping source coordinates to the DC device rectangle.
2012-04-30 22:47:35 +02:00
Alexandre Julliard
3009e03df7
gdi32: Add a SetBoundsRect driver entry point.
2012-04-27 12:41:43 +02:00
Alexandre Julliard
582a2f511f
gdi32: Add a GetBoundsRect driver entry point.
2012-04-16 13:53:23 +02:00
Alexandre Julliard
b1ccff1a9c
gdi32: Add helper functions for manipulating bounds rectangles.
2012-04-16 13:41:29 +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
f8fa169da0
gdi32: Store foreground/background color even when passed CLR_INVALID.
2012-01-12 15:53:07 +01:00
Alexandre Julliard
5b17ba887b
gdi32: Rename the CLIPPING_UpdateGCRegion function.
...
We haven't used a GC here for a long time now.
2011-12-07 17:49:54 +01:00
Alexandre Julliard
b9f09abdcc
gdi32: Don't store the metaclip region, recompute it as needed.
2011-12-07 17:49:47 +01:00
Alexandre Julliard
ddfe35867d
gdi32: Only create the DC visible region when necessary.
...
Most DCs can simply use the visible rectangle instead.
2011-12-07 16:50:57 +01:00
Alexandre Julliard
1f15ffa1e6
gdi32: Make sure DCs are fully zero-initialized.
2011-12-07 15:53:54 +01:00
Alexandre Julliard
5a1a6e935a
gdi32: Maintain a region inside gdi32 to keep track of the total visible region.
2011-12-06 15:50:59 +01:00
Alexandre Julliard
a214a3c3da
gdi32: Store a pointer to the path in the DC and make the path structure opaque.
2011-11-22 12:07:24 +01:00
Alexandre Julliard
8a7bf0a2ab
gdi32: Push a path driver on the DC stack when a path is opened.
2011-10-26 19:53:22 +02:00