Commit Graph

1494 Commits

Author SHA1 Message Date
Alexandre Julliard 8b1bab524b gdi32: Skip empty segments at the beginning and end of a line to make sure the caps are correct. 2012-01-04 15:10:10 +01:00
Alexandre Julliard 5f2371c229 gdi32: Only create the round cap region once per call. 2012-01-04 15:02:05 +01:00
Alexandre Julliard 618425ac4c gdi32: Fix skipping of zero-length dashes. 2012-01-04 14:57:52 +01:00
Marcus Meissner 15162ddf3c gdi32: Check return value of REGION_UnionRectWithRegion (Coverity). 2012-01-03 12:37:57 +01:00
Alexandre Julliard 5721cbf0e8 gdi32: Add stubs for the OpenGL entry points in the DIB driver. 2012-01-03 12:37:16 +01:00
Alexandre Julliard ccfbcfaf53 gdi32: Calculate the image size in GradientFill only once we have the correct bit count. 2012-01-02 21:46:46 +01:00
Alexandre Julliard 2c9c9f78fb gdi32: Don't bother computing interior regions when the brush is null. 2011-12-30 12:53:35 +01:00
Alexandre Julliard 488bf107a9 gdi32: Implement brushed pens. 2011-12-30 11:04:35 +01:00
Alexandre Julliard 4e03247427 gdi32: Define a structure to make the brush state independent from the physdev. 2011-12-30 11:04:33 +01:00
Alexandre Julliard cc9836bda0 gdi32: Pass a brush_pattern structure to the SelectPen entry point for brushed pens. 2011-12-30 11:04:29 +01:00
Alexandre Julliard f85bb35280 gdi32: Pass a brush_pattern structure to the SelectBrush entry point. 2011-12-30 11:04:26 +01:00
Alexandre Julliard a1fdd5856f gdi32: Store the pattern brush information for geometric pens. 2011-12-30 11:04:23 +01:00
Alexandre Julliard ee89ce2982 gdi32: Add sanity checks for brush hatch styles. 2011-12-30 11:04:16 +01:00
Alexandre Julliard 8bf48557ef gdi32: Add a structure to store all the extra information needed for a pattern brush. 2011-12-29 19:20:55 +01:00
Alexandre Julliard 5a67227078 gdi32/tests: Get rid of Win9x compatibility in the pen tests. 2011-12-29 19:20:50 +01:00
Alexandre Julliard 63a9217539 gdi32: Add checks for invalid color usage values. 2011-12-29 16:18:39 +01:00
Alexandre Julliard c1c8c92875 gdi32: Add helpers to paint a region with the brush or pen. 2011-12-29 10:10:45 +01:00
Alexandre Julliard 579afe5cc6 gdi32: Implement PolyPolygon in the DIB driver. 2011-12-29 09:57:58 +01:00
Alexandre Julliard f5549ae1d0 gdi32: Use a region to render geometric and wide pens in LineTo. 2011-12-29 09:57:41 +01:00
Alexandre Julliard da8ae11300 gdi32: Use a region to render geometric and wide pens in Rectangle. 2011-12-29 09:53:25 +01:00
Alexandre Julliard 64ed56366c gdi32: Use a region to render geometric and wide pens in PolyPolyline. 2011-12-29 00:02:24 +01:00
Alexandre Julliard 9ee690c984 gdi32: Implement returning a region for 1-pixel wide dashed pen lines. 2011-12-28 23:03:03 +01:00
Alexandre Julliard 3188c30229 gdi32: Implement returning a region for 1-pixel wide solid pen lines. 2011-12-28 23:02:42 +01:00
Alexandre Julliard 0429d9181f gdi32: Add support for updating a region from the pen backend functions instead of painting directly. 2011-12-28 23:02:10 +01:00
Alexandre Julliard f155db574f gdi32: Add support for 1-pixel wide PS_USERSTYLE pens. 2011-12-28 17:42:32 +01:00
Alexandre Julliard 305be80e2f gdi32: Add support for PS_ALTERNATE pens. 2011-12-28 17:42:27 +01:00
Alexandre Julliard e364809a90 gdi32: Add support for 1-pixel wide geometric dashed pens. 2011-12-28 17:42:14 +01:00
Alexandre Julliard bbd7f4e0e3 gdi32: Fix handling of invalid pen styles. 2011-12-28 16:33:35 +01:00
Alexandre Julliard 881f635ce9 gdi32: Extended pens are always transparent. 2011-12-28 16:33:31 +01:00
Alexandre Julliard 5f03c6c81b gdi32: Wide cosmetic pens don't support dashes. 2011-12-28 13:53:15 +01:00
Alexandre Julliard ab63eb5c40 gdi32: Fix the scaling of the width of cosmetic pens. 2011-12-28 13:53:12 +01:00
Alexandre Julliard 9b8d920cb7 gdi32: Pass the clip region to the brush_rect helper and add a similar helper for pens. 2011-12-28 11:28:21 +01:00
Alexandre Julliard 18c20964e1 gdi32: Add support for PS_INSIDEFRAME pens when drawing rectangles. 2011-12-28 11:17:41 +01:00
Alexandre Julliard c861284a02 gdi32: Add a helper function to add a rectangle to a region. 2011-12-28 11:04:30 +01:00
Alexandre Julliard 0c840f66ed gdi32: Compute the correct rectangle interior when using wide pens. 2011-12-27 20:53:35 +01:00
Akihiro Sagawa 70c2222180 gdi32: Avoid making a DBCS character in range. 2011-12-27 16:55:09 +01:00
Alexandre Julliard a80eafe8d7 gdi32: Re-create the brush bits only when the ROP has really changed. 2011-12-27 16:55:02 +01:00
Alexandre Julliard 8b3271c3b0 gdi32: Avoid making a copy of the device clipping region in the DIB driver. 2011-12-27 15:48:29 +01:00
Alexandre Julliard 56373bc491 gdi32: Use the get_clipped_rects helper in the blitting functions. 2011-12-27 15:41:21 +01:00
Alexandre Julliard d0f110e2a9 gdi32: Use the get_clipped_rects helper in the pen functions. 2011-12-27 15:00:00 +01:00
Alexandre Julliard 63ebfc591e gdi32: Use the get_clipped_rects helper in the text functions. 2011-12-27 14:58:52 +01:00
Alexandre Julliard b761d0e1c6 gdi32: Add a helper function to compute the list of rectangles to paint after clipping. 2011-12-27 14:57:23 +01:00
Alexandre Julliard 4333b7d370 gdi32/tests: Add tests for PALETTEINDEX colors. 2011-12-23 13:43:49 +01:00
Alexandre Julliard 73b9c86384 gdi32: Always use proper RGB colors for monochrome DDB pattern brushes. 2011-12-22 21:18:38 +01:00
Alexandre Julliard 8f929ae04d gdi32: Add a common helper for computing pen and brush masks. 2011-12-22 20:10:31 +01:00
Alexandre Julliard 56532d0cf7 gdi32: Recompute the foreground masks on every use to support PALETTEINDEX colors. 2011-12-22 19:50:29 +01:00
Alexandre Julliard e166ec0bb0 gdi32: Recompute the background masks on every use to support PALETTEINDEX colors. 2011-12-22 19:50:07 +01:00
Alexandre Julliard 9237638c0e gdi32: Recompute the pen masks on every use to support PALETTEINDEX colors. 2011-12-22 19:49:23 +01:00
Alexandre Julliard 43373c29ef gdi32: Recompute the brush masks on every use to support PALETTEINDEX colors. 2011-12-22 19:47:40 +01:00
Huw Davies 8caa0a05bd gdi32/tests: Add tests for geometric solid pens. 2011-12-22 17:19:19 +01:00
Huw Davies 7c2351566a gdi32: Add support for geometric solid pens. 2011-12-22 17:19:19 +01:00
Alexandre Julliard 7f3a7ae585 gdi32: Fix handling of COLORREFs with illegal values for the high byte. 2011-12-22 17:19:13 +01:00
Kusanagi Kouichi 53385314d0 gdi32: Substitute glyph for vertical font only. 2011-12-20 20:06:33 +01:00
Kusanagi Kouichi 69a26387b3 gdi32: Add vertical fonts to font list. 2011-12-20 20:06:32 +01:00
Kusanagi Kouichi 65f809248f gdi32: Split AddFontToList into two functions. 2011-12-20 20:06:32 +01:00
Kusanagi Kouichi 4dfe084bba gdi32: Merge two ifs. 2011-12-20 20:06:31 +01:00
Kusanagi Kouichi 6c268cf1c5 gdi32: Use find_family_from_name and LIST_FOR_EACH instead of open-coding them. 2011-12-20 20:06:31 +01:00
Kusanagi Kouichi 5bdbf6c681 gdi32: Add a helper function to convert a string from A to W. 2011-12-20 20:06:30 +01:00
Alexandre Julliard a585659e31 gdi32: Remove support for deferring brush calls to X11, all brush types are supported now. 2011-12-19 20:15:42 +01:00
Francois Gouget 2ae10acb61 gdi32: Avoid hardcoding the Unicode string literal lengths. 2011-12-16 17:40:41 +01:00
Alexandre Julliard 19fe3f0c77 gdi32/tests: Add tests for device capabilities on memory DCs. 2011-12-16 12:09:02 +01:00
Alexandre Julliard 6752d3478f gdi32/tests: Add some tests for behavior of 32-bit DDBs. 2011-12-14 17:54:45 +01:00
Kusanagi Kouichi b5446ddb45 gdi32: Don't remove leading '@' from face name. 2011-12-13 18:59:12 +01:00
Kusanagi Kouichi bf8a100639 gdi32: Don't use preferred family name. 2011-12-13 18:59:11 +01:00
Kusanagi Kouichi ad58ca235c gdi32/tests: Add tests for vertical font. 2011-12-13 18:59:10 +01:00
Alexandre Julliard 38766d4d19 gdi32/tests: Fix some test failures on old Windows versions. 2011-12-13 14:00:20 +01:00
Alexandre Julliard 9f410413a6 gdi32: Implement GetPixel in the null driver using GetImage. 2011-12-13 14:00:05 +01:00
Alexandre Julliard 0c194895a2 gdi32: Remove some color table size checks, we use full-size color tables now. 2011-12-12 20:52:59 +01:00
Alexandre Julliard 49ae736022 gdi32: Implement GetNearestColor in the DIB driver. 2011-12-12 20:20:06 +01:00
Alexandre Julliard cae4ef81e6 gdi32: init_dib_info() can no longer fail, and no longer requires freeing. 2011-12-12 20:02:22 +01:00
Alexandre Julliard d357392b8b gdi32: Remove support for private color maps. 2011-12-12 20:02:17 +01:00
Alexandre Julliard 70d8341a67 gdi32: Pass the correct depth to PutImage for SetBitmapBits on a DIB. 2011-12-12 15:50:38 +01:00
Alexandre Julliard f85a28faf6 gdi32/tests: Add tests for 1-bpp DDB pattern brushes. 2011-12-12 15:50:38 +01:00
Alexandre Julliard 65a2c885f1 gdi32: Don't create a default color table for pattern brushes, use the DC colors instead. 2011-12-12 15:50:37 +01:00
Alexandre Julliard d5fe87e2e8 gdi32: Select the pattern brush only when first used. 2011-12-12 15:50:37 +01:00
Alexandre Julliard d353c95d47 gdi32: Add a flag to request a default color table from init_dib_info. 2011-12-12 15:50:33 +01:00
Alexandre Julliard c5895ead6a gdi32: Use the default DIB color table to create system and halftone palettes. 2011-12-12 11:30:50 +01:00
Alexandre Julliard 3a9cabb8c4 gdi32: Store the default color tables as static data. 2011-12-12 11:21:52 +01:00
Alexandre Julliard 27eb63b082 gdi32: GetCharABCWidthsFloatW must succeed with non-TrueType fonts. 2011-12-12 11:14:25 +01:00
Alexandre Julliard 2e42ab1527 gdi32/tests: Fix some test failures on Windows. 2011-12-10 18:08:35 +01:00
Alexandre Julliard 8db263d2eb gdi32: Simplify computation of the DIB header size for internal BITMAPINFO structures. 2011-12-10 13:35:59 +01:00
Alexandre Julliard 82e1a4616c gdi32: Make sure that biSizeImage always contains the correct size in internal BITMAPINFO structures. 2011-12-10 13:35:59 +01:00
Alexandre Julliard 25e2fae2a8 gdi32: Always use biClrUsed for the number of colors of internal BITMAPINFO structures. 2011-12-10 13:35:42 +01:00
Huw Davies ac7e9f6dcc gdi32/tests: Add some tests for wide pens. 2011-12-09 21:15:31 +01:00
Huw Davies e155a8054b gdi32: Add support for wide cosmetic pens. 2011-12-09 21:15:30 +01:00
Alexandre Julliard 98670510f4 gdi32/tests: Add tests for DIB_PAL_COLORS and DIB palettes with missing entries. 2011-12-09 21:15:23 +01:00
Alexandre Julliard 494bfa866a gdi32: Remove the nb_colors fields in the bitmap object, we always allocate a full size color table. 2011-12-09 21:15:22 +01:00
Alexandre Julliard c441ebc21d gdi32: Fix handling of DIB_PAL_COLORS in the various DIB functions. 2011-12-09 21:15:22 +01:00
Alexandre Julliard 647a4d5844 gdi32: Always allocate a full-size color table when creating a DIB section. 2011-12-09 21:15:16 +01:00
Alexandre Julliard 91d19b4b17 gdi32: Add a helper to build a color table from the DIB_PAL_COLORS bitmap info. 2011-12-08 21:31:59 +01:00
Alexandre Julliard 71199eab77 gdi32: Don't make a copy of the DIB color table when selecting it into a DC. 2011-12-08 20:00:55 +01:00
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