Commit Graph

130 Commits

Author SHA1 Message Date
Huw Davies b94616864d gdi32: If possible use the GetImage driver entry to fill the colour table for GetDIBits. 2011-08-04 18:27:36 +02:00
Huw Davies d947f6ef08 gdi32: Simplify the code a little by using a separate variable for the return value. 2011-08-04 18:27:36 +02:00
Alexandre Julliard e5ce32e54d gdi32: Get rid of the DIB_GetBitmapInfo function. 2011-08-04 18:27:35 +02:00
Alexandre Julliard 3d0f272a0d gdi32: Create a sanitized BITMAPINFOHEADER in CreateDIBitmap. 2011-08-04 18:27:17 +02:00
Alexandre Julliard a2c99c7353 gdi32: Create a sanitized BITMAPINFOHEADER in GetDIBits. 2011-08-04 18:25:59 +02:00
Alexandre Julliard f234ce9dcc gdi32: Move initialization of a correct BITMAPINFOHEADER to a separate function. 2011-08-04 18:23:41 +02:00
Alexandre Julliard f825f5db8c gdi32: Create a sanitized BITMAPINFO in SetDIBitsToDevice and pass that to the drivers. 2011-08-04 18:23:25 +02:00
Alexandre Julliard d0d98046c6 gdi32: Create a sanitized BITMAPINFO in StretchDIBits and pass that to the drivers. 2011-08-04 18:23:00 +02:00
Alexandre Julliard 7deda05185 gdi32: Create a sanitized BITMAPINFO in CreateDIBSection and pass that to the driver. 2011-08-04 18:21:49 +02:00
Alexandre Julliard c309883a70 gdi32: Update the coordinates in convert_bitmapinfo to reflect the position in the destination bitmap. 2011-08-03 20:26:44 +02:00
Huw Davies e81e73149f gdi32: Actually use the dib driver's Get/PutImage if the bitmap is a dib. 2011-08-02 20:47:52 +02:00
Huw Davies d61e1ffaab gdi32: Use the helper to retrieve the number of colours. 2011-07-28 18:37:39 +02:00
Huw Davies 3460665c50 gdi32: Add an inline helper to return the number of colour entries in a dib. 2011-07-28 18:37:39 +02:00
Huw Davies 863eb31bba gdi32: Better handling of non-trivial source and destination areas. 2011-07-28 18:37:39 +02:00
Alexandre Julliard dcfe0c48ea gdi32: Implement GetImage in the DIB driver. 2011-07-25 19:51:55 +02:00
Alexandre Julliard 8a906250eb gdi32: Get rid of the SetDIBits driver entry point. 2011-07-25 19:47:03 +02:00
Huw Davies 3cb26488bd gdi32: Rewrite SetDIBits to use the PutImage gdi driver function. 2011-07-25 13:40:53 +02:00
Huw Davies 3e5793e049 gdi32: Fix the lines parameter of SetDIBits to be positive. 2011-07-22 17:03:17 +02:00
Huw Davies 8cc8552a01 gdi32: Add a helper to fill out the colour table from the current palette. 2011-07-22 16:29:39 +02:00
Huw Davies 6ce6f890be gdi32: Add a helper to sanitize a BITMAPINFO structure. 2011-07-22 16:29:37 +02:00
Alexandre Julliard 73dc9833b7 gdi32: Pass the full bitblt_coords structure to the Get/PutImage entry points. 2011-07-21 15:35:30 +02:00
Alexandre Julliard eb87e694a2 gdi32: Add inline helpers to compute DIB stride and total size. 2011-07-19 14:54:14 +02:00
Alexandre Julliard ba168763b2 gdi32: Move a couple of rectangle helper functions to the header. 2011-07-18 16:50:25 +02:00
Huw Davies 103719e9e9 gdi32: Implement GetDIBits using the GetImage driver function. 2011-07-18 16:49:04 +02:00
Huw Davies ff17abc695 gdi32: Move the query info code to a separate function. 2011-07-15 16:36:03 +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 dd39da49e5 gdi32: Use a local copy of the bitmap info structure to further simplify GetDIBits. 2011-07-12 18:24:04 +02:00
Huw Davies 74707e956e gdi32: Don't use a dib-section's bitfields unless its depth matches the requested depth. 2011-07-12 18:24:02 +02:00
Huw Davies aa34b2fb77 gdi32: Construct the EGA palette from the default palette. 2011-06-28 10:19:02 -05:00
Huw Davies bc653ce204 gdi32: Fix the 8 bpp generated colour table. 2011-06-27 13:29:48 -05:00
Huw Davies 163dfd148b gdi32: Simplify colour table generation. 2011-06-27 13:29:44 -05:00
Huw Davies 48f083b39d gdi32: Don't set the bitfields when the dib section is BI_RGB. 2011-04-12 17:42:13 +02:00
Huw Davies 673dd73548 gdi32: Don't use the bitfields for the BI_RGB case. 2011-04-12 17:42:12 +02:00
Alexandre Julliard 5ffbce6d3c gdi32: Add a null driver entry point for StretchDIBits. 2011-03-18 16:04:56 +01:00
Alexandre Julliard ac5a180278 gdi32: Add null driver entry points for the DIB functions. 2011-03-16 21:50:28 +01:00
Alexandre Julliard 122b5bf784 gdi32: Add null driver entry points for the bitmap functions. 2011-03-16 11:20:30 +01:00
Alexandre Julliard fcfbb46d2e gdi32: GetDIBColorTable doesn't need to be part of the DC driver interface. 2011-03-08 16:55:04 +01:00
John Edmonds 0d0d4f394f gdi32: Fixes GetDIBits for top-down destination bitmaps. 2011-03-02 12:50:58 +01:00
Peter Urbanec de7d1ad77a gdi32: Fix 64-bit pointer issues when copying upside-down bitmaps. 2011-02-25 17:21:51 +01:00
John Edmonds 3c239fa0cd gdi32: Fixed GetDIBits for top-down bitmaps. 2011-02-23 19:21:41 +01:00
Alexandre Julliard f914811359 gdi32: Remove unnecessary uses of wownt32.h. 2010-11-01 16:44:34 +01:00
Alexandre Julliard c68589e3dd gdi32: Replicate a Windows bug in StretchDIBits for top-down bitmaps in the non-stretching case.
Found by Mathias Kosch.
2010-07-30 14:59:41 +02:00
Alexandre Julliard 811cdfaf27 gdi32: Reject invalid DIB depths in CreateDIBSection. 2010-07-20 14:40:32 +02:00
Alexandre Julliard 7f19bda6ec gdi32: Only 16 and 32 bpp DIB sections can have bitfields. 2010-05-27 14:44:37 +02:00
Alexandre Julliard f4e51a9c45 gdi32: Return the actual DIB section bitfields instead of default values in GetDIBits. 2010-05-27 13:37:37 +02:00
Alexandre Julliard 162d95a3ce Fix the bitmap info size computation when masks are present. 2010-05-14 17:17:46 +02:00
Alexandre Julliard 50500d1a0b gdi32: Fix handling of bitmap header size for V4/V5 bitmaps. 2010-04-21 14:56:22 +02:00
Nikolay Sivov 352e2ff6eb gdi32: Use supplied hdc for DIB_RGB_COLORS if it's valid.
This is about fixing regression introduced with 2854884a42.
Initial patch fixed MSVS 2005 toolbars blackness, this one doesn't break a fix,
and fixes regressed Animation control glitches (and probably reported games related problems).
2010-04-12 11:30:16 +02:00
Nikolay Sivov 2854884a42 gdi32: Always create a context for DIB_RGB_COLORS. 2009-10-22 14:39:21 +02:00
Huw Davies 3742389d45 gdi32: CBM_INIT is a flag. 2009-06-22 14:32:28 +02:00
Nikolay Sivov 0f9bc1d3b7 gdi32: Check header pointer in CreateDIBitmap. 2009-05-04 14:57:32 +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 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
Michael Stefaniuc 667a1ed5be gdi32: Remove superfluous pointer casts. 2009-01-26 14:31:13 +01:00
Michael Stefaniuc 2d94915f27 gdi32: Don't cast the void pointer returned by GDI_GetObjPtr(). 2008-10-24 14:24:59 +02:00
Andrew Talbot 44be6c7cbf gdi32: Sign-compare warnings fix. 2008-10-06 13:48:53 +02:00
Lei Zhang ce552d4451 gdi32: CreateDIBitmap should check for SetDIBits failure. 2008-07-21 14:36:55 +02:00
Michael Karcher fd8746b43c gdi32: Fix palette of 1bpp DIB in GetDIBits.
Windows always generates a black/white palette for 1 bit DIBs
generated from DDBs. Copying from the current palette only takes place
for color DDBs (not explicitly mentioned in MSDN), and only if depth
equal (MSDN states it, explicitly).
2008-07-01 14:58:54 +02:00
Michael Karcher 5333923253 gdi32: Respect DIB_PAL_COLORS in every case. 2008-06-09 12:40:48 +02:00
Nikolay Sivov 1441311d36 gdi32: Avoid null pointer dereference in CreateDIBSection. 2008-05-12 13:59:13 +02:00
Huw Davies 515b40c2de gdi32: Rename DIB_BitmapInfoSize to bitmap_info_size and fix to take into account bit field masks. 2008-05-02 16:07:47 +02:00
Alexandre Julliard baceb8d07e gdi32: Return bitmask for 32-bit bitmaps too in GetDIBits. 2008-04-21 12:10:37 +02:00
Alexandre Julliard 99892d6bae gdi32: Fixed initialization of bit masks in GetDIBits for 16-bit bitmaps.
Fix and improve the test cases.
2008-04-18 13:57:15 +02:00
Alexandre Julliard 6e387f34c5 gdi32: Store the return value separately in StretchDIBits instead of overwriting heightSrc. 2008-03-26 23:38:36 +01:00
Alexandre Julliard 5953a86ab1 gdi32: Properly handle SetDIBits failure in StretchDIBits. 2008-03-10 19:12:53 +01:00
James Hawkins 26ad93947b janitorial: Remove links to any microsoft site. 2008-03-01 12:04:09 +01:00
Rob Shearman 582de7ba0d gdi32: Optimise StretchBlt for the case where no stretching is being done and the whole image is being set.
In this case, we can just call SetDIBits which is likely to be a lot faster.
2008-02-22 11:44:58 +01:00
Alexandre Julliard 67a9edbdf4 gdi32: Get rid of a few more uses of DC_GetDCPtr. 2008-02-05 17:35:40 +01:00
Francois Gouget 44b52b128c Assorted spelling fixes. 2008-01-16 12:48:29 +01:00
Andrew Talbot d0d4c74e85 gdi32: Remove unneeded casts. 2008-01-07 12:18:50 +01:00
Alexandre Julliard baa8d22543 gdi32: Replace DC_GetDCUpdate by get_dc_ptr+update_dc in the bitmap functions. 2007-09-18 09:34:08 +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
Jeremy White fa23944695 gdi32: Do not fill in the color table if lpvBits is NULL. 2007-07-16 13:37:59 +02:00
Dmitry Timoshkov 2a81c1ada7 gdi32: Make BITMAPINFOHEADER biSize check match what other parts of code do. 2007-06-13 12:58:39 +02:00
Louis Lenders d711728a7e gdi32: Add check for null pointer in SetDIBitsToDevice. 2007-05-08 12:21:58 +02:00
Dmitry Timoshkov f31b67ae44 gdi32: Add a GetDIBits test. 2007-01-22 13:29:21 +01:00
Alexandre Julliard 75b8f88875 gdi32: Get rid of the gdi.h include. 2006-11-17 14:52:07 +01:00
Alexandre Julliard c60757b7d8 gdi32: Avoid accessing the internal palette object from dib.c. 2006-11-17 14:34:20 +01:00
Alexandre Julliard f7ffbe4581 gdi32: Remove call to CreateCompatibleDC() from GetDIBits() implementation.
Based on a patch by Alex Villacís Lasso.
2006-11-08 19:57:30 +01:00
Alexandre Julliard 7dfc447741 gdi32: Renamed the gdi directory to gdi32. 2006-10-20 12:25:29 +02:00