Commit Graph

207 Commits

Author SHA1 Message Date
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
Huw Davies 4cffb2d0a9 gdi32: Add a skeleton dib driver. 2011-04-04 13:38:19 +02:00
Alexandre Julliard ded15757a0 gdi32: Remove the function table pointer from the DC structure. 2011-03-18 16:05:09 +01:00
Alexandre Julliard 1a34f98017 gdi32: Find the original driver by checking the CreateDC entry point in CreateCompatibleDC. 2011-03-18 15:59:05 +01:00
Alexandre Julliard 31e6f4bc0d gdi32: Add a null driver entry point for GetDeviceCaps. 2011-03-16 23:06:47 +01:00
Alexandre Julliard 45f191dc2a gdi32: Properly manage the driver stack during DC creation and deletion. 2011-03-16 23:06:25 +01:00
Alexandre Julliard 174e906aa5 gdi32: Get rid of the no longer used DC_SAVED flag. 2011-03-16 21:50:44 +01:00
Alexandre Julliard 7b970a1657 gdi32: Don't allocate a GDI handle for saved DCs. 2011-03-16 13:27:45 +01:00
Alexandre Julliard e6d153bbf6 gdi32: Add null driver entry points for the DC state functions. 2011-03-16 11:25:59 +01:00
Alexandre Julliard 29c3c528db gdi32: Add null driver entry point for world transform functions, and move them to mapping.c. 2011-03-15 17:14:07 +01:00
Alexandre Julliard 46bfaeae9e gdi32: Avoid null pointer access when we are out of gdi handles. 2011-03-12 20:40:51 +01:00
Alexandre Julliard 0d27e3c0ed gdi32: Add null driver entry points for the palette functions. 2011-03-11 18:26:55 +01:00
Alexandre Julliard 0c33f1dd89 gdi32: Add null driver entry points for the color management functions. 2011-03-11 12:38:50 +01:00
Alexandre Julliard 30997b5634 gdi32: Add a SetLayout driver entry point and implement it for enhanced metafiles. 2011-03-10 22:10:16 +01:00
Alexandre Julliard 965d41717b gdi32: Add null driver entry points for the various DC settings functions. 2011-03-10 21:58:55 +01:00
Alexandre Julliard 75f792d729 gdi32: Add null driver entry points for SetDCBrush/PenColor. 2011-03-10 20:45:12 +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 6419edfb6d gdi32: Add a mechanism for stacking gdi drivers. 2011-03-10 12:38:31 +01:00
Alexandre Julliard c82cb23bc2 gdi32: Add initial support for a null graphics driver. 2011-03-08 22:35:18 +01:00
Alexandre Julliard 5f5c7020f3 gdi32: Add a common header to the physdev structure. 2011-03-08 22:34:57 +01:00
Alexandre Julliard f914811359 gdi32: Remove unnecessary uses of wownt32.h. 2010-11-01 16:44:34 +01:00
Detlef Riekenberg bc72f9965d gdi32: Always use a HANDLE for GDI_ReleaseObj. 2010-08-16 12:56:34 +02:00
Alexandre Julliard 1019579fd4 gdi32: Fix offset for mirrored devices that have a non-zero viewport offset. 2010-07-29 17:33:27 +02:00
Alexandre Julliard e4b76dfd88 gdi32: Make the top right corner the DC origin for RTL layouts. 2010-07-28 20:33:13 +02:00
Alexandre Julliard f57c1b77dd gdi32: Get rid of the GetDCOrgEx driver entry point, GDI can implement this itself now. 2010-07-26 18:38:31 +02:00
Alexandre Julliard 69c8f0b67d gdi32: Store the total visible rectangle in the DC. 2010-07-26 18:38:31 +02:00
Alexandre Julliard f695c1d19d gdi32: Update the DC mappings when the layout is changed. 2010-07-23 11:34:07 +02:00
Paul Chitescu f479aa5ce5 gdi32: If driver is missing claim vectorial fonts are supported so GDI fonts (freetype) are used. 2010-06-21 12:17:26 +02:00
Andrew Nguyen 9d5a848df1 gdi32: Fix parameter handling of GetBoundsRect. 2010-06-01 17:50:03 +02:00
Alexandre Julliard e27bc88693 gdi32: Add a global function to retrieve the display driver. 2010-05-06 13:50:30 +02:00
Alexandre Julliard 0e4f742f06 gdi32: Don't bother freeing graphics drivers. 2010-05-06 13:37:32 +02:00
Dmitry Timoshkov d6cfc3223e user32: DeleteDC() should allow to delete a DC returned by GetDC(). 2010-02-24 16:03:02 +01:00
Alexandre Julliard cc973b0cdc gdi32: Avoid calling get_dc_ptr on a null handle. 2009-12-01 15:10:37 +01:00
Alexandre Julliard c73e2d5e02 gdi32: Reset the visible region in ResetDC. 2009-11-17 15:14:56 +01:00
Alexandre Julliard 16da76923d gdi32: Reimplement SaveVisRgn16/RestoreVisRgn16 to avoid accessing the DC internals. 2009-11-17 15:14:54 +01:00
Alexandre Julliard 3411821ff6 gdi32: Get rid of the 16-bit DC hook support.
It can only work with native user32 anyway.
2009-09-26 13:32:47 +02:00
Huw Davies 6260af2a7c gdi32: Implement GetTransform for the other valid transform types. 2009-06-24 14:52:19 +02:00
Huw Davies 5c386041fc gdi32: Implement SetVirtualResolution. 2009-06-23 16:21:42 +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 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 88e01969c2 gdi32: Move freeing of the DC path and regions into free_dc_ptr. 2009-04-07 20:13:08 +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
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 827e1f1de3 gdi32: Increment the reference count for the initial DC stock objects. 2009-01-29 21:44:52 +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 f03871094c gdi32: Don't hold the GDI lock while calling the DeleteObject method for GDI objects. 2009-01-27 16:19:37 +01:00
Michael Stefaniuc 667a1ed5be gdi32: Remove superfluous pointer casts. 2009-01-26 14:31:13 +01:00
Francois Gouget cc6e4e955e gdi32: Make [GS]etDCState() static. 2008-12-15 12:25:34 +01:00
Dmitry Timoshkov 02631adc8a Revert "gdi32: Reselect objects into the DC only if scaling factors change.".
This reverts commit 3cbd9639da.
2008-07-21 13:00:48 +02:00
Dmitry Timoshkov 0cae67eaa5 gdi32: Print the assigned world transform. 2008-06-18 15:21:49 +02:00
Alexandre Julliard 93cbb7a5db gdi32: Perform coordinate transformations using doubles instead of floats to avoid precision loss. 2008-05-22 17:43:01 +02:00
Dmitry Timoshkov d01438bd53 gdi32: Do not reselect objects while recording a metafile, that's done at the playing time. 2008-04-28 13:27:52 +02:00
Dmitry Timoshkov 3cbd9639da gdi32: Reselect objects into the DC only if scaling factors change. 2008-04-23 12:31:14 +02:00
Alexandre Julliard 0482c8e818 gdi32: Fix CreateCompatibleDC to reject invalid DCs. 2008-04-14 12:06:24 +02:00
Austin English 45b944ed51 gdi32: Spelling fixes. 2008-03-25 19:58:31 +01:00
Alexandre Julliard aa500d266f gdi32: Get rid of the 16-bit GetObject functions. 2008-02-18 17:50:35 +01:00
Alexandre Julliard 50dea38178 gdi32: Export the DC hook functions as 32-bit functions. 2008-02-17 20:29:55 +01:00
Alexandre Julliard 7fdb61bd7e gdi32: DC_GetDCPtr and DC_ReleaseDCPtr are not longer used. 2008-02-05 21:58:04 +01:00
Andrew Talbot 03bba1e6d4 gdi32: Fix a typo. 2007-11-27 12:29:57 +01:00
Alexandre Julliard 1abc24d29c gdi32: Don't hold the gdi lock while calling DC driver functions. 2007-09-26 17:51:41 +02:00
Alexandre Julliard 7480bd3204 gdi32: Don't hold the gdi lock while creating a DC. 2007-09-26 17:39:25 +02:00
Alexandre Julliard 99a258311c gdi32: Replace remaining instance of DC_GetDCUpdate by get_dc_ptr+update_dc. 2007-09-18 09:34:08 +02:00
Alexandre Julliard d88ff791ef gdi32: New DC locking mechanism that doesn't require holding the global GDI lock. 2007-08-31 15:58:38 +02:00
Steven Edwards c9a0da51a5 Remove more unneeded wine 16bit header usage. 2007-08-30 12:31:01 +02:00
Alexandre Julliard e9a4c2351d gdi32: Fix a few more places that use the wrong get/release function for DCs. 2007-08-22 18:20:39 +02:00
Paul Vriens 4b098028f3 gdi32: Fix possible NULL pointer dereference (Coverity). 2007-08-22 12:18:59 +02:00
Alexandre Julliard 1476e34645 gdi32: Add separate functions for releasing/freeing DCs to replace the standard GDI ones.
This should make it possible to use a different locking mechanism for DCs.
2007-08-21 21:37:40 +02:00
Dmitry Timoshkov ab2934781c gdi32: Make SetDCHook 64-bit safe. 2007-05-30 11:51:26 +02:00
Michael Kaufmann f265599f1b gdi32: Add a stub for CancelDC. 2007-04-17 11:21:06 +02:00
Alexandre Julliard 2d4735ae67 gdi32: Make DC creation fail if we cannot allocate the visible region. 2007-02-26 19:01:30 +01:00
Alexandre Julliard 21635133fb winex11.drv: Implemented DESKTOPHORZ/VERTRES device caps. 2006-12-12 14:59:55 +01:00
Alexandre Julliard 75b8f88875 gdi32: Get rid of the gdi.h include. 2006-11-17 14:52:07 +01:00
Alexandre Julliard 7dfc447741 gdi32: Renamed the gdi directory to gdi32. 2006-10-20 12:25:29 +02:00