Commit Graph

1603 Commits

Author SHA1 Message Date
Alexandre Julliard 910fb48291 gdi32: Use PutImage directly to set the initial bitmap bits. 2011-12-08 19:58:47 +01:00
Alexandre Julliard df9e0ccf5c gdi32: Use the convert_bits helper function in SetDIBits and SetDIBitsToDevice. 2011-12-08 19:53:44 +01:00
Alexandre Julliard 72fae39ce0 gdi32: Add missing check for empty visible rects in the non-stretching case. 2011-12-08 18:00:00 +01:00
Alexandre Julliard 5b17ba887b gdi32: Rename the CLIPPING_UpdateGCRegion function.
We haven't used a GC here for a long time now.
2011-12-07 17:49:54 +01:00
Alexandre Julliard b9f09abdcc gdi32: Don't store the metaclip region, recompute it as needed. 2011-12-07 17:49:47 +01:00
Alexandre Julliard fb37752f53 gdi32: Only store a total visible region when it's a combination of other regions. 2011-12-07 17:48:29 +01:00
Alexandre Julliard ddfe35867d gdi32: Only create the DC visible region when necessary.
Most DCs can simply use the visible rectangle instead.
2011-12-07 16:50:57 +01:00
Alexandre Julliard 1f15ffa1e6 gdi32: Make sure DCs are fully zero-initialized. 2011-12-07 15:53:54 +01:00
Francois Gouget 22cb047ed4 gdi32: Make init_dib_info() static. 2011-12-06 17:53:15 +01:00
Alexandre Julliard 7534d47b1b gdi32: Pass the total visible region in the SetDeviceClipping driver entry point. 2011-12-06 15:51:00 +01:00
Alexandre Julliard 5a1a6e935a gdi32: Maintain a region inside gdi32 to keep track of the total visible region. 2011-12-06 15:50:59 +01:00
Alexandre Julliard 1e2dd7cad8 gdi32: Add a helper function to clip a rectangle to the DC visible rect. 2011-12-06 15:50:59 +01:00
Alexandre Julliard 25e300dcad gdi32: Add a null driver implementation for Polyline and Polygon. 2011-12-05 22:29:16 +01:00
Alexandre Julliard 360d4bc548 gdi32: Use the DIB engine and PutImage for the null driver triangular gradient implementation. 2011-12-05 17:19:32 +01:00
Alexandre Julliard 8e8cdc78e6 gdi32: Add more parameter checks in GdiGradientFill. 2011-12-05 16:36:08 +01:00
Alexandre Julliard 7ea59c107f gdi32: Use dithering also for 1-bpp gradients. 2011-12-05 16:36:08 +01:00
Alexandre Julliard 59f347b75c gdi32/tests: Add more gradient tests. 2011-12-05 16:36:07 +01:00
Alexandre Julliard 743b37df3d gdi32: Implement triangular gradients in the DIB engine. 2011-12-05 16:36:03 +01:00
Huw Davies 4ce3af3fad gdi32: Add support for checking the font's gasp flags. 2011-12-02 17:25:54 +01:00
Alexandre Julliard c5bddce3aa gdi32: Add some parameter checks in GdiGradientFill. 2011-12-02 14:00:18 +01:00
Alexandre Julliard 4c6807199e gdi32: Use the DIB engine and PutImage for the null driver rectangular gradient implementation. 2011-11-30 12:59:11 +01:00
Alexandre Julliard f2ec760a80 gdi32/tests: Add tests for rectangular gradients in DIBs. 2011-11-29 15:12:31 +01:00
Alexandre Julliard a135e47167 gdi32: Don't set gradient alpha channel for 8888 bitmaps created with bitfields. 2011-11-29 15:12:28 +01:00
Alexandre Julliard a869fc47bd gdi32: Implement 8-bpp and 4-bpp gradient dithering. 2011-11-29 15:12:26 +01:00
Alexandre Julliard ce2f542267 gdi32: Implement 16-bpp gradient dithering. 2011-11-29 15:12:23 +01:00
Alexandre Julliard e19a362407 gdi32: Implement rectangular gradients in the DIB engine. 2011-11-29 15:12:20 +01:00
Huw Davies 0ab46cd5e9 gdi32: Avoid reading past the end of the indices array.
Spotted by Marcus Meissner.
2011-11-24 17:17:07 +01:00
Huw Davies 224e51fcf5 gdi32: Add an option to allow pen_lines to draw a closed figure. 2011-11-24 17:17:04 +01:00
Alexandre Julliard 79691e7afa gdi32: Specify an initial allocation size for paths to avoid some reallocations. 2011-11-23 14:00:22 +01:00
Alexandre Julliard c2491ccc2d gdi32: Get rid of the Hungarian line noise in the gdi_path structure. 2011-11-23 13:37:14 +01:00
Alexandre Julliard aefb608752 gdi32: Get rid of the GdiPath typedef. 2011-11-23 13:32:22 +01:00
Alexandre Julliard ccc3b9caae gdi32: Get rid of the no longer needed path states. 2011-11-23 13:25:31 +01:00
Alexandre Julliard 2201d08834 gdi32: Only store the path in the DC when it's closed.
Open paths are stored only in the path physdev.
2011-11-23 13:24:12 +01:00
Alexandre Julliard a214a3c3da gdi32: Store a pointer to the path in the DC and make the path structure opaque. 2011-11-22 12:07:24 +01:00
Alexandre Julliard ddc9860a42 gdi32: Return a new path from PATH_WidenPath instead of replacing the DC path. 2011-11-22 12:07:18 +01:00
Alexandre Julliard f388827c8d gdi32: Return a new path from PATH_FlattenPath instead of replacing the DC path. 2011-11-22 12:05:35 +01:00
Alexandre Julliard ac1643caec gdi32: Return the region directly from PATH_PathToRegion. 2011-11-22 11:31:27 +01:00
Alexandre Julliard 7698b636e7 gdi32: Add helper functions for allocating and freeing paths. 2011-11-22 11:25:21 +01:00
Alexandre Julliard 26b1bfa52b gdi32: Use reallocs when growing a path instead of doing it by hand. 2011-11-22 11:23:53 +01:00
Alexandre Julliard 670f25cc8f gdi32: Add support for anti-aliasing in the null driver text output fallback. 2011-11-21 12:15:53 +01:00
Alexandre Julliard 1b63d5a610 gdi32: Add a helper function to determine anti-aliasing flags. 2011-11-21 11:52:30 +01:00
Alexandre Julliard 5282ffadad gdi32: Add a null driver fallback implementation for non-antialiased text output. 2011-11-21 11:52:26 +01:00
Huw Davies 04396063c8 gdi32: Add solid_line primitives. 2011-11-21 11:51:47 +01:00
Huw Davies f168f838f1 gdi32: Simplify the Bresenham line drawing. 2011-11-21 11:51:23 +01:00
Alexandre Julliard ffaf0c4966 gdi32: Don't mark a local variable static. 2011-11-17 17:34:14 +01:00
Huw Davies 666f83bc0f gdi32: Add a helper to retrieve the octant bias. 2011-11-16 17:00:23 +01:00
Huw Davies 48b1e66309 gdi32: Use an array of masks to simplify the bitmap conversion. 2011-11-16 17:00:19 +01:00
Huw Davies 6c9c9107d4 gdi32: Return valid anti-alias format bitmaps if the glyph is a monochrome bitmap. 2011-11-16 17:00:15 +01:00
Huw Davies f3fab96393 gdi32: Add a helper to return the maximum level to use for a given anti-aliasing format. 2011-11-16 17:00:10 +01:00
Huw Davies d43d17e248 gdi32/tests: Add tests for text rendering. 2011-11-14 15:25:28 +01:00
Huw Davies e9612c1af0 gdi32: Add support for drawing text in the dib driver. 2011-11-14 15:25:28 +01:00
Huw Davies 5c6f630b98 gdi32: Add draw_glyph primitives. 2011-11-14 15:25:28 +01:00
Huw Davies 18520f2e63 gdi32: Calculate the min/max color component intensities for 17 glyph levels. 2011-11-14 15:25:27 +01:00
Huw Davies f284f5970a gdi32: Move the ETO_OPAQUE rectangle drawing to the dib driver. 2011-11-14 15:25:27 +01:00
Huw Davies 5990091bbf gdi32: Expose a solid_rects function. 2011-11-14 15:25:27 +01:00
Huw Davies 15fabcdefe gdi32: Keep track of the text pixel color. 2011-11-14 15:25:27 +01:00
Marcus Meissner 4222ccf1cf gdi32: Fixed loop end setting (Coverity). 2011-11-14 15:25:19 +01:00
Dmitry Timoshkov 6acf226fa1 gdi32: Remove a duplicated line of code. 2011-11-09 11:39:02 +01:00
Alexandre Julliard 5e1599d8c0 gdi32: Don't set the bitmap owner when selecting a pattern brush. 2011-11-08 20:13:18 +01:00
Alexandre Julliard 0c5d619bd3 gdi32: Use the CopyBitmap entry point to copy the bitmap of a pattern brush. 2011-11-08 19:26:30 +01:00
Alexandre Julliard 26f5e2c6e7 gdi32: Implement the CopyBitmap entry point in the null driver. 2011-11-08 19:25:37 +01:00
Alexandre Julliard 9391c6a757 gdi32: Add a CopyBitmap driver entry point. 2011-11-08 19:25:05 +01:00
Alexandre Julliard cc673f44c7 gdi32: Grab the bits directly for DIB pattern brushes instead of duplicating the bitmap. 2011-11-08 19:24:17 +01:00
Alexandre Julliard c88f4d452f gdi32: Get rid of the get_bitmap_image helper. 2011-11-08 19:24:13 +01:00
Alexandre Julliard 03496d6fba gdi32: Avoid copying the brush pattern if the format matches the DC. 2011-11-08 13:32:36 +01:00
Alexandre Julliard bb162ba4b4 gdi32: Reselect the pattern brush on every use if it's mapped with DIB_PAL_COLORS. 2011-11-08 13:18:01 +01:00
Alexandre Julliard b47debddf5 gdi32: Return the original brush data in GetObject. 2011-11-07 21:06:21 +01:00
Akihiro Sagawa 35a928a0f8 gdi32: Use the translated string as a charset name. 2011-11-07 19:34:47 +01:00
Akihiro Sagawa b5db70f1ca gdi32: Add a string table resource for the translation. 2011-11-07 17:28:00 +01:00
Alexandre Julliard 03e0d96b9e gdi32: Retrieve the brush pattern bits from the cache for enhanced metafiles. 2011-11-07 13:43:30 +01:00
Alexandre Julliard 7d0b65c4d1 gdi32: Retrieve the brush pattern bits from the cache for metafiles. 2011-11-07 13:42:57 +01:00
Alexandre Julliard 199409a27b gdi32: Fix positioning of font underlines and strikeouts. 2011-11-07 13:41:18 +01:00
Alexandre Julliard 6098a0457b gdi32/tests: Avoid some array bounds warnings. 2011-11-07 11:43:46 +01:00
Alexandre Julliard bfb41db3a2 gdi32: Set the mono color map in BitBlt also for the initial PutImage attempt. 2011-11-04 13:24:03 +01:00
Alexandre Julliard 278899d1e8 gdi32: Return failure when GetPixel is not supported. 2011-11-04 11:00:57 +01:00
Alexandre Julliard 37b56554a6 gdi32: Add support for pattern brushes in the DIB driver. 2011-11-03 12:50:13 +01:00
Alexandre Julliard 457c9650de gdi32: Retrieve the bits of a pattern brush when it's selected into a different type of DC. 2011-11-03 12:50:13 +01:00
Alexandre Julliard 8277ac3f7c gdi32: Don't free bitmap bits when changing the owner, we may still have pointers to them. 2011-11-03 12:50:10 +01:00
Alexandre Julliard 24ac8c66bb gdi32: Pass the full brush contents in the SelectBrush driver entry point. 2011-11-02 21:41:15 +01:00
Alexandre Julliard 20ecd97bee gdi32: Store internal brush data in separate fields in the brush object. 2011-11-02 21:04:53 +01:00
Alexandre Julliard 7f7dd82c7b gdi32: Sanitize the DIB information for DIB pattern brushes. 2011-11-02 12:22:44 +01:00
Alexandre Julliard 6bf6575c5c gdi32: Store a pointer instead of a global handle for DIB pattern brushes. 2011-11-02 12:02:27 +01:00
Alexandre Julliard 8afcff3c79 gdi32/tests: Add some tests for palette-relative pattern brushes. 2011-11-02 11:47:43 +01:00
Alexandre Julliard 4ec87b3e8d gdi32: Add some brush tests. 2011-11-01 14:12:16 +01:00
Alexandre Julliard 95cba0c0f4 gdi32: Add a DC driver entry point for GdiGradientFill. 2011-10-31 23:51:38 +01:00
Alexandre Julliard afd962121b gdi32/tests: Add some tests for the behavior of a printer DC. 2011-10-31 20:23:20 +01:00
Alexandre Julliard f1f5f33468 gdi32: Emulate DDB support using the DIB driver when the graphics driver doesn't support bitmaps. 2011-10-31 20:21:15 +01:00
Alexandre Julliard c9bdcbafab gdi32: Allocate the bits for a DDB the first time it's used in any DIB driver call. 2011-10-31 20:06:37 +01:00
Huw Davies 1c1fff557d gdi32: Pass a NULL user-style array to ExtCreatePen if the user-style count is zero. 2011-10-28 17:26:44 +02:00
Alexandre Julliard 418424d362 gdi32: Add path entry points for functions that behave differently with an open path. 2011-10-28 13:18:42 +02:00
Alexandre Julliard e5db8969ac gdi32: Always start a new stroke when the path ends with a closed figure. 2011-10-28 13:18:23 +02:00
Alexandre Julliard e5ff45992e gdi32: Add a helper function to add multiple points at once to a path. 2011-10-28 13:18:10 +02:00
Alexandre Julliard fbafa45e84 gdi32: Pass a HDC instead of a DC pointer to internal path functions. 2011-10-28 13:07:52 +02:00
Alexandre Julliard 26aaaa1269 gdi32: Fix a misplaced release_dc_ptr call. 2011-10-28 11:29:34 +02: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
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
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