Commit Graph

289 Commits

Author SHA1 Message Date
Alexandre Julliard 35eef16ba7 gdi32: Support OpenGL in bitmaps through libOSMesa. 2012-07-27 17:05:16 +02:00
Alexandre Julliard 7c4c233d12 gdi32: Add a helper function that implements PutImage on a bitmap. 2012-05-29 18:20:12 +02:00
Alexandre Julliard cf85fb14ab gdi32: Add a helper function that implements GetImage on a bitmap. 2012-05-29 18:20:11 +02:00
Alexandre Julliard b6f25e5250 gdi32: Remove the null driver Get/PutImage fallbacks for bitmaps. 2012-05-29 18:20:11 +02:00
Alexandre Julliard 592bfd52c9 gdi32: Always use the DIB engine for DDB rendering. 2012-05-29 18:20:10 +02:00
Alexandre Julliard fdc4682e31 gdi32: Remove the CopyBitmap driver entry point. 2012-05-24 22:09:19 +02:00
Alexandre Julliard a196ad8fc1 gdi32: Always store a copy of the bitmap bits for pattern brushes. 2012-05-24 19:53:23 +02:00
Alexandre Julliard e94d3b4e08 gdi32: Add a priority mechanism for pushing drivers on the stack in a defined order. 2012-05-08 12:16:50 +02:00
Alexandre Julliard 41e5bc06d8 gdi32: Add support for clipping source coordinates to the DC device rectangle. 2012-04-30 22:47:35 +02:00
Alexandre Julliard b1ccff1a9c gdi32: Add helper functions for manipulating bounds rectangles. 2012-04-16 13:41:29 +02:00
Alexandre Julliard 2776a97931 gdi32: Add explicit fields for the DC flags. 2012-04-10 16:21:23 +02:00
Huw Davies 105caa28bf gdi32: Implement CreateScalableFontResource.
Based on patches by Jeremy White and Dmitry Timoshkov.
2012-03-29 18:16:06 +02:00
Alexandre Julliard 71ea68b657 gdi32: Use the bitmap part of the DIBSECTION structure for the DDB object information. 2012-01-10 16:13:29 +01:00
Alexandre Julliard e896af4065 gdi32: Always store a DIBSECTION structure in the bitmap object. 2012-01-10 16:13:29 +01:00
Alexandre Julliard 8a9be0a30b gdi32: Get rid of the get_bitmap_funcs function.
DIBs no longer use the display driver functions.
2012-01-10 16:13:28 +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 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 c861284a02 gdi32: Add a helper function to add a rectangle to a region. 2011-12-28 11:04:30 +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 9f410413a6 gdi32: Implement GetPixel in the null driver using GetImage. 2011-12-13 14:00:05 +01:00
Alexandre Julliard 3a9cabb8c4 gdi32: Store the default color tables as static data. 2011-12-12 11:21:52 +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 25e2fae2a8 gdi32: Always use biClrUsed for the number of colors of internal BITMAPINFO structures. 2011-12-10 13:35:42 +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 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 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 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 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 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 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 7698b636e7 gdi32: Add helper functions for allocating and freeing paths. 2011-11-22 11:25:21 +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
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 c88f4d452f gdi32: Get rid of the get_bitmap_image helper. 2011-11-08 19:24:13 +01:00
Akihiro Sagawa 35a928a0f8 gdi32: Use the translated string as a charset name. 2011-11-07 19:34:47 +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 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 7f7dd82c7b gdi32: Sanitize the DIB information for DIB pattern brushes. 2011-11-02 12:22:44 +01:00
Alexandre Julliard 95cba0c0f4 gdi32: Add a DC driver entry point for GdiGradientFill. 2011-10-31 23:51:38 +01: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
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 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 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 cbd81d391c gdi32: Implement EnumDeviceFonts as a standard driver entry point. 2011-10-24 23:34:28 +02:00
Alexandre Julliard 20070d0838 gdi32: Implement GetTextMetrics as a standard driver entry point. 2011-10-24 20:03:53 +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 ef0fe44327 gdi32: Implement SelectFont as a standard driver entry point. 2011-10-19 18:22:05 +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 2ac6a1bbf6 gdi32: Implement SetPixel. 2011-10-19 16:58:57 +02:00
Alexandre Julliard 5267c1316b gdi32: Get rid of the DC_FUNCTIONS typedef. 2011-10-17 20:39:54 +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
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 8f4d50ea4b gdi32: Add an all-one alpha channel when converting a DIB for blending. 2011-10-12 20:52:46 +02:00
Huw Davies a7b5d86655 gdi32: Add a helper to retrieve the bounding rectangle. 2011-10-11 15:43:18 +02:00
Huw Davies 15c4754e80 gdi32: stretch_bitmapinfo may need to adjust the dst visrect. 2011-09-27 18:15:23 +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 7696168dce gdi32: Add a placeholder function for DIB stretching. 2011-09-14 11:17:02 +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 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 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
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
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 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