Commit Graph

1280 Commits

Author SHA1 Message Date
Alexandre Julliard b084e52bf6 gdi32: Add support for arbitrary DIB bitfields for 32-bpp conversions. 2011-10-13 20:01:14 +02:00
Alexandre Julliard 8a41d75e29 gdi32: Add a helper function to look up color table entries, and default to 0 for missing entries. 2011-10-12 20:52:46 +02:00
Alexandre Julliard d1d8b4de0b gdi32: Move some common code out of the individual copy_rect functions. 2011-10-12 20:52:46 +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
Huw Davies db6fe9ee9b gdi32: Use the helper to get the bounding rectangle. 2011-10-12 17:10:09 +02:00
Huw Davies 3b9669017b gdi32: Add the liberation fonts to the default fallback lists. 2011-10-12 17:10:03 +02:00
Huw Davies 230b42055c gdi32: Move to a more scalable mechanism for picking the default fonts. 2011-10-12 17:09:58 +02:00
Huw Davies 5bd304bd0e gdi32: The text extents functions fail if passed a negative count. 2011-10-11 19:43:12 +02:00
Huw Davies a7b5d86655 gdi32: Add a helper to retrieve the bounding rectangle. 2011-10-11 15:43:18 +02:00
Alexandre Julliard 6c07876e87 gdi32: Add an AlphaBlend entry point in the DIB driver. 2011-10-11 15:34:50 +02:00
Huw Davies bb47bab3cd gdi32: Now that we require a less ancient freetype, we can assume several other functions are also present. 2011-10-11 13:37:50 +02:00
Huw Davies 6ee2eaeff2 gdi32: Remove no longer needed include file. 2011-10-11 13:37:50 +02:00
Alexandre Julliard 2adcb2b94a gdi32/tests: Add tests for GdiAlphaBlend with source alpha. 2011-10-11 13:37:42 +02:00
Huw Davies 570e68b822 gdi32: Require that we have freetype's FT_Load_Sfnt_Table function and remove the hacky fallback. 2011-10-10 15:42:38 +02:00
Huw Davies 5bd2db4521 gdi32: Move some common default fonts to the head of the font list. 2011-10-06 16:47:22 -05:00
Huw Davies 17e72c816b gdi32: Load the font properties from the cache if it exists. 2011-10-06 16:47:20 -05:00
Huw Davies a155292f98 gdi32: Cache the loaded font list properties. 2011-10-06 16:47:17 -05:00
Huw Davies 63070bdf89 gdi32: Move the font list initialisation to a separate function. 2011-10-06 16:47:14 -05:00
Huw Davies ab1373d847 gdi32: Keep track of the english family name if there's a localised name as well. 2011-10-06 16:47:11 -05:00
Huw Davies 9969b8dec1 gdi32: Display the depth of a bitmap rather than the total number colors. 2011-10-05 11:38:24 -05:00
Thomas Faber 1354d15a05 gdi32/tests: Fix MSVC build in bitmap.c. 2011-10-04 15:30:02 -05:00
Thomas Faber 4125651366 gdi32/tests: Fix MSVC build in icm.c. 2011-10-04 15:28:55 -05:00
Marcus Meissner 9437705c2a dibdrv: Mark get_rop_codes as hidden. 2011-10-03 15:50:54 -05:00
Andrew Talbot ee77f52163 gdi32: Mark a fall-through in a switch statement. 2011-09-30 10:30:29 -05:00
Huw Davies b4430319f1 gdi32: Use a separate variable to indicate the default has been retrieved. 2011-09-28 17:25:10 +02:00
Huw Davies 9b7ea6f417 gdi32: Forward StretchBlt calls from the dib driver to the null driver. 2011-09-27 18:46:16 +02:00
Huw Davies 268b8382cd gdi32: Implement stretch_bitmapinfo. 2011-09-27 18:46:04 +02:00
Huw Davies 15c4754e80 gdi32: stretch_bitmapinfo may need to adjust the dst visrect. 2011-09-27 18:15:23 +02:00
Huw Davies c6e483cbd1 gdi32: Make clip_line external. 2011-09-27 18:15:21 +02:00
Francois Gouget 3de330db54 tests: Remove unneeded assert.h includes. 2011-09-27 10:59:56 +02:00
Francois Gouget 262a77057d gdi32: The GetKerningPairsA() test should pass on all the platforms we care about now. 2011-09-27 10:59:46 +02:00
Francois Gouget a87797fbe2 gdi32/tests: Use if(0) instead of #if 0 to make sure code still compiles. 2011-09-27 10:58:26 +02:00
Alexandre Julliard 922d9f5cf7 winex11: Force the alpha channel to zero for mono->color blits. 2011-09-26 15:25:05 +02:00
André Hentschel 3373e1e587 gdi32: Add traces for the gamma functions. 2011-09-26 12:20:35 +02:00
Alexandre Julliard 7029559ed6 gdi32: Avoid rounding errors with visible rectangles in mirroring blits. 2011-09-23 14:17:05 +02:00
Michael Stefaniuc a68cbe98d4 gdi32/tests: Remove casts to the type of the casted expression. 2011-09-22 19:51:49 +02:00
Huw Davies 4156460d49 gdi32/tests: Add some tests to show the 1 pixel dst sizes are a special case. 2011-09-22 19:51:34 +02:00
Huw Davies abc76c27a7 gdi32/tests: Update the StretchBlt tests to use a 16x16 bitmap. 2011-09-22 17:24:42 +02:00
Alexandre Julliard 0e91f9990e gdi32/tests: Add some tests for overlapping blits. 2011-09-22 13:14:08 +02:00
Alexandre Julliard 7bcd8fa20e gdi32: Copy bits in the correct order for the overlap case in the individual copy_rect functions. 2011-09-22 10:22:56 +02:00
Alexandre Julliard 5fd305c31f gdi32: Add helper functions for copying a DIB line. 2011-09-22 10:18:14 +02:00
Alexandre Julliard 3ace501190 gdi32: Copy DIB rectangles in the correct order when source and destination overlap. 2011-09-22 10:11:27 +02:00
Huw Davies 7a356abeb6 gdi32/tests: Remove legacy support from the StretchBlt tests and fix the expected results in the one case that used it. 2011-09-21 17:13:15 +02:00
Alexandre Julliard b6153354dd gdi32/tests: Add a test for alpha channel handling in StretchBlt. 2011-09-20 20:06:31 +02:00
Alexandre Julliard 514b006df2 gdi32: Force colors to black and white for 1-bpp source in AlphaBlend. 2011-09-20 16:21:40 +02:00
André Hentschel 61034406db gdi32/tests: Add a second test about non-uniform ramps. 2011-09-20 16:21:37 +02:00
André Hentschel 321224d2f6 winex11: Multiply the error tolerance by the table caused error magnification. 2011-09-19 13:20:05 +02:00
André Hentschel 0644fd499f gdi32/tests: Add a test about non-uniform ramps. 2011-09-19 13:19:59 +02:00
Alexandre Julliard c819e4bdea gdi32: Add a null driver fallback for AlphaBlend, using a new BlendImage driver entry point. 2011-09-14 11:57:45 +02:00
Alexandre Julliard 27516babd6 gdi32: Add a couple of helper functions for converting and stretching DIBs. 2011-09-14 11:25:19 +02:00
Alexandre Julliard 7696168dce gdi32: Add a placeholder function for DIB stretching. 2011-09-14 11:17:02 +02:00
Alexandre Julliard 497c3982b6 gdi32: Move coordinate checks into the common part of GdiAlphaBlend. 2011-09-13 17:17:52 +02:00
Josh Juran b27e814de6 gdi32: Simplify logic in WineEngGetFontData(). 2011-09-12 10:07:21 +02:00
Huw Davies fcea548464 gdi32: The offsets should be signed. 2011-09-09 17:33:11 +02:00
Huw Davies 5bd003edaa gdi32: When creating a dib_info from a ddb, always make a copy of the colour map. 2011-09-08 11:10:55 +02:00
Alexandre Julliard 2a5cabc22d gdi32: Move DIB driver definitions to dibdrv.h. 2011-09-08 10:41: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 c331a1a6cd gdi32: Don't allow CreateCompatibleDC on a metafile DC. 2011-09-07 18:13:28 +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 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 3a260497be winex11: Get rid of the SetDIBitsToDevice implementation. 2011-09-06 14:44:11 +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 4266fcb28d gdi32: Fix coordinate mapping in Get/SetBoundsRect, with tests. 2011-09-04 16:47:38 +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
Dmitry Timoshkov dfb4d2e960 gdi32: Add a buch of CreateScalableFontResource() tests. 2011-09-01 18:06:39 +02:00
Alexandre Julliard bcc21c9b79 winex11: Fix SetDIBitsToDevice coordinate mapping for negative values. 2011-09-01 18:06:18 +02:00
Alexandre Julliard e1ca5c38e2 winex11: Fix SetDIBitsToDevice coordinate mapping in RTL mode. 2011-09-01 12:41:00 +02:00
Alexandre Julliard 67b1f29d61 gdi32/tests: Add some SetDIBitsToDevice tests, based on the similar SetDIBits tests. 2011-09-01 12:39:15 +02:00
Alexandre Julliard e7c523b135 gdi32: Use SetDIBits to set the initial bits of a DDB. 2011-08-31 11:36:23 +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 6f066ec18a gdi32: Forward the null driver PutImage to the DIB driver since the bits are in DIB format. 2011-08-31 11:36:05 +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 79ef408cd7 gdi32: Add a helper function to initialize DIB info from a bitmap object. 2011-08-29 19:51:24 +02:00
Alexandre Julliard a13df5ce6c gdi32: Store the initial bitmap bits with DIB alignment. 2011-08-29 19:44:17 +02:00
Alexandre Julliard 987a18a55c gdi32: Remove an unused variable. 2011-08-29 12:08:26 +02:00
Alexandre Julliard afa7817d6e gdi32/tests: Simplify the DIB byte width computation. 2011-08-29 12:08:21 +02:00
Alexandre Julliard 4e3c649b9c gdi32: Add parameter validation in GetDIBits. 2011-08-29 12:08:21 +02:00
Alexandre Julliard 82ef9f960d gdi32/tests: Make sure the bitmap info is initialized in the GetDIBits test. 2011-08-26 11:15:16 +02:00
Francois Gouget c992ca277d Assorted spelling fixes. 2011-08-24 19:07:46 +02:00
André Hentschel 56e804eea4 winex11: Reject too bright gamma ramps. 2011-08-24 14:03:03 +02:00
Hans Leidekker 58cdb6405f gdi32/tests: Accept one more return value from EnumICMProfilesA. 2011-08-24 12:14:47 +02:00
Grazvydas Ignotas bf235df2c6 gdi32/tests: Add additional font to fullnames test. 2011-08-24 12:14:46 +02:00
Grazvydas Ignotas 5c2976eebc gdi32/tests: Check for exact fonts before doing fullname test. 2011-08-24 12:14:46 +02:00
Grazvydas Ignotas 4a463e0650 gdi32: Use correct name for elfFullName. 2011-08-24 12:14:46 +02:00
Huw Davies 75e2e9cf3f gdi32: Add an exception handler to catch bad pointers passed by an application. 2011-08-23 16:53:56 +02:00
Huw Davies 597edc503f gdi32: Remove an unneeded level of indentation. 2011-08-23 16:53:55 +02:00
Huw Davies 1def8d635a gdi32: Add support for all of the ternary rops. 2011-08-23 16:53:55 +02:00
Huw Davies 95f1abc8d8 gdi32: Add a copy_rect helper function. 2011-08-23 16:53:55 +02:00
Huw Davies ff307d573a gdi32: Move the dib driver's GetImage and PutImage to a new source file. 2011-08-23 16:53:55 +02:00
André Hentschel c36b392a72 gdi32: Initial gamma setting tests. 2011-08-23 16:53:49 +02:00
Austin English 4cdd01fc82 gdi32/tests: Remove win9x hacks. 2011-08-22 17:22:07 +02:00
Huw Davies 925fa10865 gdi32: Change the object-level brush function to accept a stand-alone dib and a separate clip region. 2011-08-22 16:19:40 +02:00
Huw Davies c6f6c3f727 gdi32: Implement Polyline and PolyPolyline in the dib driver. 2011-08-22 16:19:24 +02:00
Huw Davies 0f40ad8a3d gdi32: Move to using a multi-line pen object-level function. 2011-08-22 16:19:15 +02:00
Huw Davies 1e83fd0076 gdi32: Use the gdi_image_bits structure to maintain the dib driver's bits. 2011-08-22 16:18:54 +02:00
Huw Davies 2e908e067c gdi32: Simplify dibdrv_PutImage a little. 2011-08-22 16:18:24 +02:00
Huw Davies de213f2c66 gdi32: Avoid directly accessing the bits ptr where possible. 2011-08-22 16:18:13 +02:00
Huw Davies a55ec17b74 gdi32: Use the dib driver GetImage and PutImage implementations in GetBitmapBits and SetBitmapBits when appropriate. 2011-08-22 16:18:08 +02:00
Huw Davies e82f88d5ee gdi32: Add a helper to retrieve the bitmap functions. 2011-08-22 16:18:04 +02:00
Huw Davies cb82c45b3a gdi32: Allow SetBitmapBits to set incomplete scanlines. 2011-08-22 16:16:08 +02:00
Huw Davies bdc3b9c0a9 gdi32: Avoid a possible unnecessary conversion if PutImage is called with zero biClrUsed. 2011-08-22 16:15:45 +02:00
Huw Davies 40742c2f72 gdi32: Fix colour table comparison. 2011-08-22 16:15:13 +02:00
André Hentschel 8134b93516 gdi32/tests: Consistently print out all infos about non-equal rects. 2011-08-22 16:14:33 +02:00
Huw Davies c5f484597f gdi32: Simplify dibdrv_GetImage by merging the stand-alone and selected bitmap cases. 2011-08-05 15:24:58 +02:00
Huw Davies 37423cec7c gdi32: Fix dibdrv_PutImage for the selected bitmap case. 2011-08-05 15:22:48 +02:00
Alexandre Julliard 3a1194edd7 gdi32: Always use BI_BITFIELDS for 16-bpp in GetImage. 2011-08-05 15:22:43 +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
Alexandre Julliard 805f083f34 gdi32: Add a missing release in the error path. 2011-08-05 10:58:16 +02:00
Huw Davies 33532613a8 gdi32: Don't load a font replacement if any face of the real family exists. 2011-08-04 18:42:33 +02:00
Frédéric Delanoy 760faf01a9 tests: Assorted spelling fixes. 2011-08-04 18:27:37 +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
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