Commit Graph

132 Commits

Author SHA1 Message Date
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
Maarten Lankhorst 131d0a79a1 gdi32/winex11.drv: Change all gdi/opengl operations to use CDECL calling convention. 2008-12-23 13:02:33 +01:00
ByeongSik Jeon 028617b90b gdi32, winex11: Add support for subpixel font rendering. 2008-12-22 16:33:03 +01:00
Vincent Povirk 75b5322242 winex11.drv: Fix string format warning. 2008-12-05 12:30:02 +01:00
James Hawkins 30b6954c3d winex11: Reduce console spam for AlphaBlend deficiencies. 2008-08-05 14:09:34 +02:00
Andrew Talbot 9b5d26ed8b winex11.drv: Remove unneeded address-of operators from array names. 2008-07-14 11:50:37 +02:00
Andrew Talbot 5d038523e9 winex11.drv: Assign to structs instead of using memcpy. 2008-03-24 11:33:22 +01:00
Michael Karcher 5e463acef7 winex11: Fix alpha for client-side-rendered text. 2008-03-18 12:53:57 +01:00
Austin English 0e4adae973 Spelling fixes. 2008-01-07 13:41:01 +01:00
Francois Gouget 860cf251f6 winex11.drv: The 'lossy' parameter is always false so remove it. 2007-10-15 12:04:54 +02:00
Gerald Pfeifer fe534ddde1 winex11.drv: Move X11DRV_XRender_Installed under #ifdef SONAME_LIBXRENDER. 2007-10-02 11:45:25 +02:00
Alexandre Julliard 809af590a1 winex11.drv: Don't call GDI functions while holding the X11 lock. 2007-09-27 18:02:26 +02:00
Alexandre Julliard d08fbfc3b0 winex11.drv: Don't call GDI functions while holding the xrender lock. 2007-09-21 10:47:45 +02:00
Mikolaj Zalewski ee747f3d70 winex11.drv: Support GdiAlphaBlend with blendfn.AlphaFormat == 0. 2007-08-31 12:08:58 +02:00
Mikolaj Zalewski 9a72a865a2 winex11.drv: Test for out-of-bound src coordinates in GdiAlphaBlend. 2007-08-29 12:03:08 +02:00
Alexandre Julliard a851854a36 configure: Merge the libX11 and libXext existence check with the soname check. 2007-07-09 22:43:45 +02:00
Alexandre Julliard 629639ee60 configure: Merge the libXrender existence check with the soname check. 2007-07-04 12:47:57 +02:00
Huw Davies bd2fe1a2fa winex11.drv: Use global Pictures for the tiles. 2007-07-03 20:39:31 +02:00
Huw Davies 030ef1ef05 winex11.drv: Move the PictFormats into an array. 2007-07-03 20:39:31 +02:00
Huw Davies ee40cb4b9f winex11.drv: Pass root_window to XCreatePixmap to avoid BadDrawable errors. 2007-07-03 20:39:30 +02:00
Alexandre Julliard 5a95cfbd9c configure: Export the shared library extension instead of hardcoding .so. 2007-07-02 14:35:05 +02:00
Alexandre Julliard 1d9874a09e winex11.drv: Glyph width is rounded to 32 bits, make sure to provide enough null data. 2007-06-12 16:51:31 +02:00
Huw Davies c9fd5a265f winex11.drv: XRenderCompositeText has a problem with 0x0 glyphs, so we'll pretend they're 1x1. 2007-06-06 20:34:06 +02:00
Andrew Talbot 080635bdeb winex11.drv: Exclude unused headers. 2007-05-29 12:10:21 +02:00
Huw Davies e0150c357d winex11.drv: Use XRenderCompositeText instead of XRenderCompositeString. 2007-05-25 20:21:06 +02:00
Huw Davies 4edc46cbdb winex11.drv: Merge some common code. 2007-05-25 20:21:02 +02:00
Huw Davies 13c0c0d047 winex11.drv: Delete the tile pixmap whenever the drawable is changed. 2007-03-29 21:02:00 +02:00
Huw Davies 232c16fadb winex11.drv: Rename a local variable to avoid confusion with a global. 2007-03-29 21:01:48 +02:00
Dmitry Timoshkov 520aa9f548 winex11.drv: In the case requested glyphs do not present in the font fail gracefully instead of asserting. 2007-03-19 12:16:57 +01:00
Alexandre Julliard d302db41aa winex11.drv: Make sure the drawable rect is always updated and use it where appropriate. 2006-12-12 13:46:15 +01:00
Ulrich Czekalla 4bdf4345b8 winex11.drv: Store window and drawable rects in X11DRV_PDEVICE. 2006-12-12 13:45:10 +01:00
Alexandre Julliard 75b8f88875 gdi32: Get rid of the gdi.h include. 2006-11-17 14:52:07 +01:00
Vitaliy Margolen 6069d0d596 winex11drv: Win64 printf format warning fixes. 2006-10-09 15:23:33 +02:00
Huw Davies 0bd611cead winex11.drv: Fix rendering of fonts that don't support anti-aliasing. 2006-08-21 12:37:34 +02:00
Alexandre Julliard bdb4fab7a7 x11drv: Renamed the x11drv directory to winex11.drv. 2006-06-16 09:57:50 +02:00