Commit Graph

84 Commits

Author SHA1 Message Date
Alexandre Julliard 11c7a67ac3 winex11: Use a format with 8 bits of alpha for the AlphaBlend mask. 2010-04-22 20:48:30 +02:00
Alexandre Julliard 5cafb7c917 winex11: Add support for big-endian 32-bpp Xrender formats. 2010-04-15 16:22:34 +02:00
Alexandre Julliard a53a3f50ad winex11: Rewrite AlphaBlend to do everything on the server side, and support all types of source bitmaps. 2010-04-15 15:44:46 +02:00
Alexandre Julliard 246e3732c0 winex11: Use the BITBLT_GetVisRectangles helper function for AlphaBlend too. 2010-04-15 14:39:37 +02:00
Alexandre Julliard 39493b0660 winex11: Define a structure to hold coordinates information for BitBlt operations. 2010-04-15 14:39:33 +02:00
Alexandre Julliard 5842971b15 winex11: Use repeating instead of scaling when stretching a 1x1 source bitmap. 2010-04-15 14:26:41 +02:00
Alexandre Julliard e9173e1e65 winex11: Add a separate helper function for Xrender mono->color blits. 2010-04-15 14:25:32 +02:00
Alexandre Julliard 13f203a5f6 winex11: The source offset for mirrored Xrender blits must be scaled too. 2010-04-15 14:24:20 +02:00
Roderick Colenbrander c29cf05919 winex11: Add support for 32-bit DDBs. 2010-04-13 13:06:32 +02:00
Henri Verbeet 724026dc5f winex11.drv: GetObject() already returns a DIB's absolute height. 2010-03-01 14:03:34 +01:00
Henri Verbeet ba38340cdb winex11.drv: Use the bitmap's "topdown" field in X11DRV_AlphaBlend(). 2010-03-01 14:03:33 +01:00
Roderick Colenbrander d11b99b3aa winex11: Also take into account source offsets when a mask is around. 2010-02-22 12:01:49 +01:00
Roderick Colenbrander c6a290fa94 winex11: When a mask picture is active, the source offsets should be relative to mask_pict instead of src_pict. 2010-02-22 12:01:39 +01:00
Roderick Colenbrander a19abd9fd5 winex11: Use PictOpOver instead of PictOpSrc in 1-bit -> color blits. 2010-02-17 16:49:53 +01:00
Roderick Colenbrander 5b29189da4 winex11: Fix xrender mono->mono blit.
Use plain xrender_blit for mono -> mono copies, masking in combination
with PictOpOver doesn't make sense and doesn't work.
2010-02-17 16:33:05 +01:00
Roderick Colenbrander 48db6abae1 winex11: Fix a null pointer crash when XRender isn't around. 2009-12-22 13:48:24 +01:00
Michael Stefaniuc 32d0ef3911 winex11: Fix missing unlock & free on an error path (Smatch). 2009-12-15 11:44:49 +01:00
Peter Urbanec ab081aa845 winex11: Implement AlphaBlend mode for the case where SourceConstantAlpha is combined with source alpha. 2009-11-11 15:13:38 +01:00
Roderick Colenbrander f8786eacb7 winex11: Check format in XRender_GetSrcAreaStretch instead of depth. 2009-10-30 15:08:38 +01:00
Roderick Colenbrander 00bbab491b winex11: Make sure the formats are the same instead of the depths since the bit ordering can be different. 2009-10-30 15:08:31 +01:00
Ge van Geldorp e77bef234a winex11.drv: Fix build on systems without libXrender. 2009-10-19 11:43:01 +02:00
Roderick Colenbrander a9cafb8f2e winex11: Use get_xrender_picture in X11DRV_AlphaBlend. 2009-10-16 13:43:19 +02:00
Alexandre Julliard af683e711c winex11: The xrender tile picture must be used only inside the critical section. 2009-10-14 14:24:17 +02:00
Roderick Colenbrander a705257393 winex11: Use get_xrender_picture in X11DRV_XRender_GetSrcAreaStretch. 2009-10-14 14:23:19 +02:00
Roderick Colenbrander 14e21d955a winex11: Add X11DRV_XRender_SetDeviceClipping for syncing the clipping region with XRender pictures. 2009-10-14 14:01:34 +02:00
Alexandre Julliard 2fda19ca98 winex11: Store the device format in the Xrender info structure. 2009-10-13 12:21:53 +02:00
Alexandre Julliard 6193d7def4 winex11: Make all render format pointers const. 2009-10-13 12:06:38 +02:00
Roderick Colenbrander 34116289a5 winex11: Introduce get_xrender_picture for retrieving a Picture from a physDev and allocating a Picture when needed. 2009-10-13 12:03:58 +02:00
Alexandre Julliard 344cf57f1b winex11: Rename the XRENDERINFO type to make it clear it's a pointer. 2009-10-08 12:10:59 +02:00
Roderick Colenbrander 3e5e0ee807 winex11: Move XRENDERINFO allocation in a separate function. 2009-10-08 12:08:38 +02:00
Roderick Colenbrander 6b8753185f winex11: Add support for 16-bit/32-bit DIB sections. 2009-10-01 13:47:53 +02:00
Vincent Povirk 2151272e45 winex11: Re-add the optimization for blending 1x1 pixel bitmaps. 2009-09-23 12:33:15 +02:00
Roderick Colenbrander efa37f56ec winex11: Add helper function for copying brushes. 2009-09-10 12:13:45 +02:00
Roderick Colenbrander 88b990b2c1 winex11: Add helper function get_xrender_format_from_color_shifts. 2009-09-10 12:13:45 +02:00
Roderick Colenbrander bb457f7ffd winex11: Use ColorShifts in get_xrender_format_from_pdevice. 2009-09-09 16:25:23 +02:00
Roderick Colenbrander 083aaca98f winex11: Fix XRender_GetSrcAreaStretch compile bug for when XRender isn't around. 2009-08-03 15:00:29 +02:00
Roderick Colenbrander 6a1aa9b166 winex11: XRenderComposite can be inaccurate when scaled x / y source coordinates are passed to it.
Moving this translation to the transformation matrix fixes the problem.
2009-07-24 13:10:12 +02:00
Roderick Colenbrander eeeb349eee winex11: Use set_xrender_transformation in AlphaBlend. 2009-07-14 10:45:36 +02:00
Roderick Colenbrander 004eabfbd3 winex11: Add an XRender based GetSrcAreaStretch. 2009-07-13 11:58:26 +02:00
Roderick Colenbrander ea700f5d54 winex11: Add a helper function for converting a random color to a XRenderColor. 2009-07-13 11:08:55 +02:00
Roderick Colenbrander e13865285e winex11: Move glyph code over to get_xrender_format. 2009-07-06 15:25:16 +02:00
Roderick Colenbrander bf86daa0b6 winex11: Move AlphaBlend over to get_xrender_format. 2009-07-06 15:25:10 +02:00
Roderick Colenbrander 8262e0a800 winex11: Get rid of the static Xrender picture format table. 2009-07-06 15:24:57 +02:00
Vincent Povirk 9eaf6a29fe winex11.drv: Optimize AlphaBlend of 1x1 source bitmaps. 2009-05-21 16:17:51 +02:00
Vincent Povirk 603675d0d4 winex11.drv: Use the proper enum value for repeat. 2009-05-21 16:17:51 +02:00
Austin English 2b03dd373d winex11.drv: Remove an outdated comment. 2009-05-06 16:09:43 +02:00
Dmitry Timoshkov 0abee3d23c winex11.drv: Take into account current world transform when caching glyphs.
This patch basically duplicates the logic for caching fonts from gdi32,
and fixes the problem with a test application which rotates a text string.
2009-03-02 12:11:28 +01:00
Dmitry Timoshkov f623053022 winex11.drv: The MAT2 parameter of GetGlyphOutline is mandatory. 2009-02-03 12:40:19 +01:00
Michael Stefaniuc a2187cad1f winex11.drv: Remove superfluous pointer casts. 2009-01-19 13:36:25 +01:00
Byeongsik Jeon 3807ca733d winex11.drv: Add the basic antialias type decision code. 2008-12-31 14:07:18 +01:00