Alexandre Julliard
7f7dd82c7b
gdi32: Sanitize the DIB information for DIB pattern brushes.
2011-11-02 12:22:44 +01:00
Alexandre Julliard
bb21ac85b3
gdi32: Add a helper function to copy BITMAPINFO structures to avoid copying uninitialized data.
2011-10-27 14:19:44 +02:00
Huw Davies
f53d73a017
gdi32: Add a fake 1-entry color table for 1-bpp ddbs.
2011-10-21 16:46:19 +02:00
Huw Davies
c9a7bb715d
gdi32: Implement nulldrv_StretchDIBits using the PutImage gdi driver function.
2011-10-17 17:45:08 +02:00
Huw Davies
2127e9444d
gdi32: Allow a caller to build_rle_bitmap to not request the clip region.
2011-10-17 17:45:08 +02:00
Alexandre Julliard
34310d4479
gdi32: Add a check for null bitfields in SetDIBits.
2011-10-13 20:02:01 +02:00
Alexandre Julliard
8f4d50ea4b
gdi32: Add an all-one alpha channel when converting a DIB for blending.
2011-10-12 20:52:46 +02:00
Alexandre Julliard
f4e9bdb904
gdi32: Always set biClrUsed in internal BITMAPINFO structures.
2011-09-07 12:07:15 +02:00
Alexandre Julliard
6ae21b9345
gdi32: Add RLE support in SetDIBitsToDevice.
2011-09-06 14:44:47 +02:00
Alexandre Julliard
6f275874f3
gdi32: Add a SetDIBitsToDevice implementation in the null driver using PutImage.
2011-09-06 14:38:25 +02:00
Alexandre Julliard
a0f1b20464
gdi32: Make the BITMAPINFO parameters non-const in driver entry points since we are always passing a copy.
2011-09-02 15:56:01 +02:00
Alexandre Julliard
5f35075c8b
gdi32: Only use the hdc parameter in SetDIBits when needed.
2011-08-31 11:36:23 +02:00
Alexandre Julliard
edb48a06ee
gdi32: Allow SetDIBits to use the null driver.
2011-08-31 11:36:23 +02:00
Alexandre Julliard
bff79eb2b9
gdi32: Forward the null driver GetImage to the DIB driver since the bits are in DIB format.
2011-08-30 20:13:52 +02:00
Alexandre Julliard
4e3c649b9c
gdi32: Add parameter validation in GetDIBits.
2011-08-29 12:08:21 +02:00
Huw Davies
597edc503f
gdi32: Remove an unneeded level of indentation.
2011-08-23 16:53:55 +02:00
Huw Davies
e82f88d5ee
gdi32: Add a helper to retrieve the bitmap functions.
2011-08-22 16:18:04 +02:00
Alexandre Julliard
c668354cc0
gdi32: Always set compression to BI_BITFIELDS for 16-bpp DIB sections.
2011-08-05 13:41:18 +02:00
Alexandre Julliard
cf4c565fd2
gdi32: Validate the DIB parameters in functions that take a BITMAPINFO.
2011-08-05 13:39:14 +02:00
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