Commit Graph

1114 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
Huw Davies d88151704e gdi32/tests: Add some GetDIBits tests with zero lines and bits parameters. 2011-08-04 18:27:36 +02:00
Huw Davies 3a2d8b74cf gdi32/tests: Simplify some of the tests. 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
Alexandre Julliard 2ba1a43703 gdi32: Use the visrect coordinates in dibdrv_PutImage. 2011-08-03 19:59:46 +02:00
Alexandre Julliard 1aa35bea9a gdi32: Use GetImage to retrieve the brush bits in enhanced metafiles. 2011-08-03 14:15:48 +02:00
Alexandre Julliard 91976a5b74 gdi32: Use GetImage to retrieve the brush bits in metafiles. 2011-08-03 14:15:47 +02:00
Alexandre Julliard 6d00196aea gdi32: Get rid of the SetBitmapBits driver entry point. 2011-08-03 14:15:47 +02:00
Alexandre Julliard 09eb59d3c6 gdi32: Set the initial bits of a bitmap from the gdi side. 2011-08-03 14:15:47 +02:00
Alexandre Julliard 107849916f gdi32: Reimplement SetBitmapBits using the PutImage driver entry point. 2011-08-03 14:15:28 +02:00
Alexandre Julliard 76b5c1dcac gdi32: Partial implementation of PutImage in the null driver for DDBs. 2011-08-03 12:31:52 +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 d4076d438c gdi32: Add a PutImage implementation to the dib driver. 2011-08-02 20:47:52 +02:00
Huw Davies 1da138ced0 gdi32: Move the colour setting to a separate function. 2011-08-02 20:47:52 +02:00
Huw Davies 2521bf3cc2 gdi32: Add a copy_rect primitive. 2011-08-02 20:47:52 +02:00
Huw Davies 76b0626ff2 gdi32: Add a function to retrieve the rop codes. 2011-08-02 20:47:51 +02:00
Huw Davies 4b50743f87 gdi32: Simplify the calculation of the rop masks. 2011-08-02 20:47:51 +02:00
Frédéric Delanoy b5a33dab88 dlls: Assorted spelling fixes. 2011-08-02 20:47:51 +02:00
Alexandre Julliard 2116493653 gdi32: Fix the blend function handling for the AlphaBlend enhanced metafile record. 2011-07-29 20:08:53 +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 3f62946272 gdi32/tests: Add tests for GetDIBits using non-trivial source and destination areas. 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
Austin English c30c441ea7 gdi32/tests: Remove win9x hacks. 2011-07-27 12:25:30 +02:00
Alexandre Julliard 366174b213 gdi32: Get rid of the GetBitmapBits driver entry point. 2011-07-25 20:32:41 +02:00
Alexandre Julliard 1724c73534 gdi32: Reimplement GetBitmapBits using the GetImage driver function. 2011-07-25 19:56:52 +02:00
Alexandre Julliard d33e0d2c86 gdi32: Add an inline helper to retrieve a DDB byte width. 2011-07-25 19:56:43 +02:00
Alexandre Julliard dcfe0c48ea gdi32: Implement GetImage in the DIB driver. 2011-07-25 19:51:55 +02:00
Alexandre Julliard bb3a1bdcac gdi32: Implement GetImage in the null driver. 2011-07-25 19:50:19 +02:00
Alexandre Julliard 8a906250eb gdi32: Get rid of the SetDIBits driver entry point. 2011-07-25 19:47:03 +02:00
Huw Davies 046ec2d132 gdi32/tests: Add some SetDIBits tests. 2011-07-25 13:40:56 +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 0d9dde7953 gdi32: Add an optional clip region to the PutImage entry point. 2011-07-21 18:49:47 +02:00
Alexandre Julliard faa1f7371e gdi32: Get rid of the StretchDIBits-based fallback for StretchBlt. 2011-07-21 15:43:53 +02:00
Alexandre Julliard 7dc8f48ef8 gdi32: Get rid of the offset in the gdi_image_bits structure now that we are passing the full rectangles. 2011-07-21 15:36:34 +02:00
Alexandre Julliard 97c30bdd6c gdi32: Allow the PutImage entry point to optionally support stretching. 2011-07-21 15:35:48 +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 01e12ec9f9 gdi32: Move the checks for empty visible rects in PatBlt/StretchBlt back to gdi32. 2011-07-20 19:23:04 +02:00
Alexandre Julliard 414fe85c8a gdi32: Set the color maps to the destination DC colors for 1-bpp images. 2011-07-20 19:22:44 +02:00
Alexandre Julliard 07528a24b9 gdi32: Add a special case for converting dibs to 1-bpp using the background color. 2011-07-20 11:44:58 +02:00
Alexandre Julliard cc8c831c4d gdi32: Add format conversion to the null driver StretchBlt implementation. 2011-07-19 14:54:14 +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 1f8a0eb40e gdi32: Move GET_DC_PHYSDEV back to gdi_private.h, it can't be used from external drivers. 2011-07-19 14:54:09 +02:00
Alexandre Julliard b01eb19511 gdi32: Remove the GetDIBits entry point from the graphics driver. 2011-07-18 17:07:51 +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 09a1418449 gdi32: Export a bitmap conversion function. 2011-07-18 16:35:20 +02:00
Alexandre Julliard a64a549b4c gdi32: Use the original StretchBlt rectangle if a DC doesn't have a visible region. 2011-07-18 11:00:55 +02:00
Huw Davies ff17abc695 gdi32: Move the query info code to a separate function. 2011-07-15 16:36:03 +02:00
Huw Davies 9b56cec9c5 gdi32: Zero-pad the end of the scanlines. 2011-07-15 16:36:00 +02:00
Alexandre Julliard 7bc4c60782 gdi32/tests: Fix some test failures on Windows. 2011-07-15 09:59:13 +02:00
Alexandre Julliard 79d3f29061 gdi32: Add a null driver StretchBlt fallback using GetImage/PutImage. 2011-07-14 12:19:13 +02:00
Alexandre Julliard cf05fca878 gdi32: Add driver entry points for GetImage and PutImage. 2011-07-14 11:30:58 +02:00
Huw Davies ba33f5e667 gdi32: Add conversion routines for source dibs with an arbitrary order of red and blue 5-bit and green 5 or 6-bit channels. 2011-07-13 15:00:17 +02:00
Huw Davies 4c3cec75f2 gdi32: Add conversion routines for source dibs with an arbitrary order of 8-bit channels. 2011-07-13 15:00:16 +02:00
Huw Davies dddc079d4f gdi32: Implement the conversion between two identical bitfield dibs. 2011-07-13 15:00:14 +02:00
Alexandre Julliard c7a8ff26d3 gdi32: Graphics driver functions no longer need to be CDECL. 2011-07-13 14:56:12 +02:00
Alexandre Julliard 715d810073 gdi32: Sort the OpenGL driver functions alphabetically. 2011-07-13 14:23:22 +02:00
Alexandre Julliard 4c2f8bc35d gdi32: Ask the graphics driver for the function table instead of loading functions one by one. 2011-07-13 14:18:26 +02:00
Alexandre Julliard a31e94d27a gdi32: Make the DC function structure public. 2011-07-13 14:04:31 +02:00
Huw Davies e844bddc36 gdi32: Allow dib_info structures to share colour tables. 2011-07-12 18:24:08 +02:00
Huw Davies 00a386ebf9 gdi32: Simplify the optional free'ing of bits pointer. 2011-07-12 18:24:06 +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
Alexandre Julliard bfc12c0c94 gdi32: Pass the source/dest visible rectangles to the AlphaBlend driver entry point. 2011-07-11 17:12:49 +02:00
Alexandre Julliard 1ac1d7c69b gdi32: Pass the dest visible rectangle to the PatBlt driver entry point. 2011-07-11 17:12:49 +02:00
Alexandre Julliard 8bd130b923 gdi32: Pass the source/dest visible rectangles to the StretchBlt driver entry point. 2011-07-11 17:12:49 +02:00
Alexandre Julliard 1805f123b0 gdi32: Compute StretchBlt rectangles in gdi32. 2011-07-11 17:12:33 +02:00
Alexandre Julliard 2ff31091ed gdi32: Export a function to compute the DC clip box. 2011-07-11 13:40:45 +02:00
Alexandre Julliard 4e2a28bd03 gdi32: Export the gdi_physdev structure for the external drivers. 2011-07-07 14:46:14 +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 e2f1bd4f8f gdi32/tests: Show that Get/SetDIBits ignore the layout mode. 2011-06-24 08:51:20 -05:00
Huw Davies 404b820289 gdi32/tests: Skip the tests if the pen type is not supported. 2011-06-21 11:29:08 +02:00
Huw Davies b5ad5d3510 gdi32: Add more broken behaviour on nt4 sp3. 2011-06-21 11:29:03 +02:00
Huw Davies 92b467cdf8 gdi32/tests: Add broken behaviour for nt4 sp3. 2011-06-20 19:32:03 +02:00
Huw Davies 6e673e1ef0 gdi32/tests: Add some broken behaviours for winxp sp1 and win2003. 2011-06-20 19:32:03 +02:00
Huw Davies d73af0d954 gdi32/tests: Add broken behaviour on nt4 sp1 and 2. 2011-06-17 19:30:35 +02:00
Huw Davies b9c06ad341 gdi32/tests: Add broken behaviour on nt4 sp1-5. 2011-06-17 16:20:40 +02:00
Huw Davies cf5dae18ac gdi32/tests: Call ReleaseDC not DeleteDC. 2011-06-17 16:20:33 +02:00
Huw Davies cd3281a0de gdi32/tests: Add tests for hatched brushes. 2011-06-17 15:37:50 +02:00
Huw Davies 66399f6f72 gdi32: Add support for hatched brushes. 2011-06-17 15:37:47 +02:00
Huw Davies b1ec7c9d71 gdi32/tests: Add tests for 1bpp brushes. 2011-06-15 20:04:40 +02:00
Huw Davies 0aacdc0d85 gdi32: Add support for 1 bpp brushes. 2011-06-15 20:04:40 +02:00
Huw Davies f2e9545b86 gdi32/tests: Add tests for 1 bpp dibs. 2011-06-15 20:04:40 +02:00
Huw Davies b0f59c3b11 gdi32: Add support for 1 bpp dibs. 2011-06-15 20:04:40 +02:00
Huw Davies 3582d3dfb4 gdi32: Add helpers to retrieve foreground and background colours. 2011-06-15 20:04:40 +02:00
Aric Stewart 0a29308e87 gdi32: Fall back on uniscribe for complex scripts. 2011-06-06 21:49:18 +02:00