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/eng... ============================================================================== --- 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)