Commit Graph

1359 Commits

Author SHA1 Message Date
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
Ken Thomases 14efc6eb24 gdi32: Allow ~-based paths in HKCU\Software\Wine\Fonts:Path. 2011-10-27 12:24:52 +02:00
Alexandre Julliard c441d57452 gdi32: Implement the ExtTextOut entry point in the path driver. 2011-10-26 23:16:52 +02:00
Alexandre Julliard 613972efe5 gdi32: Implement the polyline entry points in the path driver. 2011-10-26 23:16:51 +02:00
Alexandre Julliard d4889bef47 gdi32: Implement the polygon entry points in the path driver. 2011-10-26 23:16:51 +02:00
Alexandre Julliard ac00dfc984 gdi32: Implement the Bezier entry points in the path driver. 2011-10-26 23:16:19 +02:00
Alexandre Julliard 4d9cc24128 gdi32: Implement the arc entry points in the path driver. 2011-10-26 20:10:00 +02:00
Alexandre Julliard f8040958f5 gdi32: Implement the Rectangle and RoundRect entry points in the path driver. 2011-10-26 20:05:24 +02:00
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