Commit Graph

1449 Commits

Author SHA1 Message Date
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
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