Author: gschneider
Date: Wed Dec 30 13:42:48 2009
New Revision: 44809
URL:
http://svn.reactos.org/svn/reactos?rev=44809&view=rev
Log:
[win32k] Add support for mask offsets in IntEngStretchBlt
Modified:
trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c
Modified: trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/en…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c [iso-8859-1] Wed Dec 30
13:42:48 2009
@@ -389,7 +389,7 @@
{
BOOLEAN ret;
COLORADJUSTMENT ca;
- POINT MaskOrigin;
+ POINTL MaskOrigin = {0, 0};
SURFACE *psurfDest;
SURFACE *psurfSource = NULL;
RECTL InputClippedRect;
@@ -456,7 +456,8 @@
if (pMaskOrigin != NULL)
{
- MaskOrigin.x = pMaskOrigin->x; MaskOrigin.y = pMaskOrigin->y;
+ MaskOrigin.x = pMaskOrigin->x;
+ MaskOrigin.y = pMaskOrigin->y;
}
/* No success yet */
@@ -482,16 +483,35 @@
if (psurfDest->flHooks & HOOK_STRETCHBLTROP)
{
/* Drv->StretchBltROP (look at
http://www.osronline.com/ddkx/graphics/ddifncs_0z3b.htm ) */
- // FIXME: MaskOrigin is always NULL !
- ret = GDIDEVFUNCS(psoDest).StretchBltROP(psoDest, (UsesSource) ? psoSource :
NULL, MaskSurf, ClipRegion, ColorTranslation,
- &ca, BrushOrigin, &OutputRect, &InputRect, NULL,
COLORONCOLOR, pbo, ROP);
+ ret = GDIDEVFUNCS(psoDest).StretchBltROP(psoDest,
+ (UsesSource) ? psoSource : NULL,
+ MaskSurf,
+ ClipRegion,
+ ColorTranslation,
+ &ca, BrushOrigin,
+ &OutputRect,
+ &InputRect,
+ &MaskOrigin,
+ COLORONCOLOR,
+ pbo,
+ ROP);
}
if (! ret)
{
- // FIXME: see previous fixme
- ret = EngStretchBltROP(psoDest, (UsesSource) ? psoSource : NULL, MaskSurf,
ClipRegion, ColorTranslation,
- &ca, BrushOrigin, &OutputRect, &InputRect, NULL,
COLORONCOLOR, pbo, ROP);
+ ret = EngStretchBltROP(psoDest,
+ (UsesSource) ? psoSource : NULL,
+ MaskSurf,
+ ClipRegion,
+ ColorTranslation,
+ &ca,
+ BrushOrigin,
+ &OutputRect,
+ &InputRect,
+ &MaskOrigin,
+ COLORONCOLOR,
+ pbo,
+ ROP);
}
if (UsesSource)