Commit Graph

1501 Commits

Author SHA1 Message Date
Alexandre Julliard 364e216462 gdi32: Add a helper function to start a new path stroke. 2011-10-26 20:02:10 +02:00
Alexandre Julliard fc5e29486d gdi32: Implement the LineTo entry point in the path driver. 2011-10-26 19:58:51 +02:00
Alexandre Julliard 2c1ec7fc3b gdi32: Implement the MoveTo entry point in the path driver. 2011-10-26 19:57:28 +02: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 97a261d573 gdi32: Avoid directly modifying the cursor position in the DC structure in PolyDraw. 2011-10-26 19:47:27 +02:00
Alexandre Julliard ba2ea23574 gdi32: Always use a polygon to draw text strike-outs and underlines. 2011-10-26 14:14:36 +02:00
Alexandre Julliard ef34c47c4b gdi32: Move internal path functions to the top of the file to avoid forward declarations. 2011-10-26 14:14:32 +02:00
Alexandre Julliard f44c1e6533 gdi32/tests: Add tests for path open/closed states. 2011-10-26 12:41:56 +02:00
Henri Verbeet aa7bbe1376 gdi32: Update the DC in ExtEscape().
Specifically, X11DRV_FLUSH_GL_DRAWABLE needs correct clip rects.
2011-10-26 12:41:33 +02:00
Alexandre Julliard 7fbb16d4ba gdi32: Implement GdiRealizationInfo as a standard driver entry point. 2011-10-26 12:41:32 +02:00
Alexandre Julliard 8796831a9f gdi32: Implement FontIsLinked as a standard driver entry point. 2011-10-26 12:41:32 +02:00
Alexandre Julliard e31c51b65e gdi32: Implement GetFontData as a standard driver entry point. 2011-10-26 12:41:31 +02:00
Alexandre Julliard 441d6cfcd4 gdi32: Implement GetTextFace as a standard driver entry point. 2011-10-26 12:41:31 +02:00
Alexandre Julliard a2de6a8766 gdi32: Implement GetTextExtentExPointI as a standard driver entry point. 2011-10-26 12:41:30 +02:00
Alexandre Julliard 1740f34ffb gdi32: Implement GetTextCharsetInfo as a standard driver entry point. 2011-10-26 12:41:30 +02:00
Alexandre Julliard ce8d7b4601 gdi32: Implement GetOutlineTextMetrics as a standard driver entry point. 2011-10-26 12:41:29 +02:00
Alexandre Julliard 0c96820104 gdi32: Implement GetKerningPairs as a standard driver entry point. 2011-10-26 12:41:29 +02:00
Alexandre Julliard 6376b4cf6f gdi32: Implement GetGlyphOutline as a standard driver entry point. 2011-10-25 16:57:28 +02:00
Alexandre Julliard ff96c4dd4e gdi32: Implement GetGlyphIndices as a standard driver entry point. 2011-10-25 16:57:27 +02:00
Alexandre Julliard 90ecea9739 gdi32: Implement GetFontUnicodeRanges as a standard driver entry point. 2011-10-25 16:57:27 +02:00
Alexandre Julliard 23c7c0469c gdi32: Reimplement GetCharABCWidthsFloat using the integer version. 2011-10-25 16:57:27 +02:00
Alexandre Julliard 27208a0ec5 gdi32: Implement GetCharABCWidthsI as a standard driver entry point. 2011-10-25 16:57:27 +02:00
Alexandre Julliard e5a0fa7089 gdi32: Implement GetCharABCWidths as a standard driver entry point. 2011-10-25 16:57:26 +02:00
Alexandre Julliard a8444d7fd1 gdi32: Add driver entry points for a number of font functions. 2011-10-24 23:45:37 +02:00
Alexandre Julliard 2b1b11d681 gdi32: Rename the EnumDeviceFonts entry point to EnumFonts since it's not limited to device fonts. 2011-10-24 23:34:33 +02:00
Alexandre Julliard cbd81d391c gdi32: Implement EnumDeviceFonts as a standard driver entry point. 2011-10-24 23:34:28 +02:00
Alexandre Julliard 873bf81d3b gdi32: Don't return outline metrics for bitmap fonts. 2011-10-24 23:34:05 +02:00
Alexandre Julliard 20070d0838 gdi32: Implement GetTextMetrics as a standard driver entry point. 2011-10-24 20:03:53 +02:00
Alexandre Julliard ca4177997c gdi32: Add a few helper functions for computing font metrics. 2011-10-24 20:03:09 +02:00
Thomas Faber 0a44501a4e gdi32/tests: Test GetTextExtentExPoint behavior with zero and negative max extent values. 2011-10-24 19:37:07 +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
Alexandre Julliard 5c1c7a6576 gdi32: Implement GetCharWidthW as a standard driver entry point. 2011-10-20 17:05:11 +02:00
Alexandre Julliard 6ad9eb805c gdi32: Implement GetTextExtentExPointW as a standard driver entry point. 2011-10-20 17:04:35 +02:00
Alexandre Julliard 328328bb2c gdi32: Add an intermediate variable to avoid array bounds warnings. 2011-10-20 12:46:21 +02:00
Alexandre Julliard 86b4fe7b0e gdi32/tests: Add intermediate pointers to color tables to simplify the code and avoid array bounds warnings. 2011-10-20 12:34:58 +02:00
Alexandre Julliard ef0fe44327 gdi32: Implement SelectFont as a standard driver entry point. 2011-10-19 18:22:05 +02:00
Alexandre Julliard 885a4a5c08 gdi32: Add an initial Freetype font driver. 2011-10-19 18:22:01 +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
Huw Davies 595dbe2eba gdi32: Fix character code metrics for bitmap fonts. 2011-10-19 17:38:33 +02:00
Huw Davies 6aece157a0 gdi32/tests: Remove the no longer used todo functionality of the test_color macro. 2011-10-19 16:59:32 +02:00
Huw Davies 2e72434340 gdi32/tests: Add tests for GetPixel. 2011-10-19 16:59:29 +02:00
Huw Davies f6c7e96a61 gdi32: Implement GetPixel. 2011-10-19 16:59:25 +02:00
Huw Davies 70be58c17d gdi32: Add get_pixel primitives. 2011-10-19 16:59:21 +02:00
Huw Davies 07e652b330 gdi32/tests: Add tests for SetPixel. 2011-10-19 16:59:04 +02:00
Huw Davies 2ac6a1bbf6 gdi32: Implement SetPixel. 2011-10-19 16:58:57 +02:00
Huw Davies ddbaa9491a gdi32: Add pixel_to_colorref primitives. 2011-10-19 16:58:51 +02:00
Huw Davies b700660075 gdi32/tests: Add tests for non-rgb colorrefs. 2011-10-19 16:58:46 +02:00
Huw Davies a3b5f270a8 gdi32: Add support for non-rgb colorrefs. 2011-10-19 16:58:40 +02:00
Huw Davies 0967de74db gdi32: Introduce a unified function to perform COLORREF to pixel color mapping. 2011-10-19 16:58:31 +02:00
Marcus Meissner 06935e9323 gdi32: Remove a incorrect sizeof from pointer arithmetic (Coverity). 2011-10-18 15:17:07 +02:00
Huw Davies ffe5e20b78 gdi32/tests: Remove unused legacy values. 2011-10-18 15:13:04 +02:00
Alexandre Julliard 013f5a9b23 gdi32: Return the correct error code when selecting objects in a metafile. 2011-10-18 15:03:29 +02:00
Alexandre Julliard 5267c1316b gdi32: Get rid of the DC_FUNCTIONS typedef. 2011-10-17 20:39:54 +02:00
Huw Davies 4dbc0690ef gdi32/tests: Add some StretchDIBits tests. 2011-10-17 17:45:09 +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 a01844b013 gdi32: Make the convert_bits and stretch_bits helpers external. 2011-10-17 17:45:08 +02:00
Huw Davies 64f6e9bc58 gdi32: Move the intersection of vis rects into a separate 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 bfdac3e885 gdi32: Add a fall back implementation of BlendImage using client-side blending. 2011-10-17 17:45:05 +02:00
Alexandre Julliard 78d50cafb2 gdi32/tests: Add test cases for DIB blending. 2011-10-17 17:44:25 +02:00
Alexandre Julliard a3a574fae0 gdi32: Implement a BlendImage entry point in the DIB driver. 2011-10-14 21:32:40 +02:00
Daniel Santos 7a4349bb99 gdi32: Remove PS_USERSTYLE FIXME and workarounds. 2011-10-14 20:26:44 +02:00
Alexandre Julliard b7a15ae7fa gdi32: Overlapping rectangles are not allowed in GdiAlphaBlend. 2011-10-14 20:26:43 +02:00
Alexandre Julliard deb195869c gdi32/tests: Add more tests for various palette formats as destination. 2011-10-14 13:12:27 +02:00
Alexandre Julliard 5500e97d19 gdi32/tests: Add more tests for arbitrary 32-bpp bitfields as destination. 2011-10-14 13:12:27 +02:00
Alexandre Julliard 1af12ff9b5 gdi32/tests: Add tests for DIB conversions from various source formats. 2011-10-14 13:12:21 +02:00
Alexandre Julliard a9be526a9c gdi32: Use a reduced precision for RGB to palette mapping in DIB conversions. 2011-10-14 00:47:05 +02:00
Alexandre Julliard e79033e6fa gdi32: Add a helper for RGB to color index mapping to avoid redundant shifts. 2011-10-13 20:03:07 +02:00
Alexandre Julliard 34310d4479 gdi32: Add a check for null bitfields in SetDIBits. 2011-10-13 20:02:01 +02:00
Alexandre Julliard a413916802 gdi32: Get rid of the return value in DIB conversion functions, they never fail now. 2011-10-13 20:01:50 +02:00
Alexandre Julliard 587f492fdf gdi32: Add support for arbitrary DIB bitfields for 16-bpp conversions. 2011-10-13 20:01:34 +02:00
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
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
Huw Davies c5f41f89f3 gdi32: Update pixel colours when the colour table changes. 2011-06-02 16:24:25 +02:00
Huw Davies ea361367ed gdi32: Fix an error in the blue channel of the 32 -> 16 bpp conversion and update the tests to catch this. 2011-06-01 15:17:42 +02:00
Huw Davies cc4c252962 gdi32/tests: Add tests for 24 bpp brushes. 2011-06-01 15:17:35 +02:00
Huw Davies 146ad997ba gdi32: Add support for 24 bpp brushes. 2011-06-01 15:17:30 +02:00
Huw Davies ce2c593d64 gdi32/tests: Add tests for 24 bpp dibs. 2011-06-01 15:17:24 +02:00
Huw Davies dc7ff3a45a gdi32: Add support for 24 bpp dibs. 2011-06-01 15:17:15 +02:00
Huw Davies 4fc0d3c317 gdi32/tests: Add tests for 4 bpp brushes. 2011-05-31 18:32:58 +02:00
Huw Davies 79e8eaeaf6 gdi32: Add support for 4 bpp brushes. 2011-05-31 18:32:58 +02:00
Huw Davies 850730dab5 gdi32/tests: Add tests for 4 bpp dibs. 2011-05-31 18:32:57 +02:00
Huw Davies e11eeb0122 gdi32: Add support for 4 bpp dibs. 2011-05-31 18:32:57 +02:00
Huw Davies 73a4178ad1 gdi32/tests: Add tests for 8bpp brushes. 2011-05-27 17:53:39 +02:00
Huw Davies c4576b4a94 gdi32: Add support for 8 bpp brushes. 2011-05-27 17:53:39 +02:00
Huw Davies 64a34a33b1 gdi32/tests: Add tests for 8 bpp dibs. 2011-05-27 17:53:39 +02:00