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
Alexandre Julliard
6bb001da6f
gdi32: Add support for pushing a font driver on the DC driver stack.
2011-10-19 18:21:56 +02:00
Alexandre Julliard
5267c1316b
gdi32: Get rid of the DC_FUNCTIONS typedef.
2011-10-17 20:39:54 +02:00
André Hentschel
3373e1e587
gdi32: Add traces for the gamma functions.
2011-09-26 12:20:35 +02:00
Alexandre Julliard
d12d98511c
gdi32: Allocate the DIB driver on first use, and free it only upon DC destruction.
2011-09-08 10:41:19 +02:00
Alexandre Julliard
a28ddddcbc
gdi32: Leave it up to the driver to push the new device on the DC stack in CreateDC.
2011-09-07 18:13:29 +02:00
Alexandre Julliard
cef1832bfb
gdi32: Add a driver entry point for CreateCompatibleDC.
2011-09-07 18:13:06 +02:00
Alexandre Julliard
901c1997cb
gdi32: Make the push/pop_dc_driver functions available to the drivers.
2011-09-07 14:39:46 +02:00
Alexandre Julliard
9a63a25b9d
gdi32: Don't free a driver when it's popped from the stack.
2011-09-07 12:08:16 +02:00
Alexandre Julliard
4266fcb28d
gdi32: Fix coordinate mapping in Get/SetBoundsRect, with tests.
2011-09-04 16:47:38 +02:00
Alexandre Julliard
c7a8ff26d3
gdi32: Graphics driver functions no longer need to be CDECL.
2011-07-13 14:56:12 +02:00