mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 22:15:45 +00:00
[win32k] Add support for mask offsets in IntEngStretchBlt
svn path=/trunk/; revision=44809
This commit is contained in:
parent
9ba0500088
commit
cf30e24abd
1 changed files with 28 additions and 8 deletions
|
@ -389,7 +389,7 @@ IntEngStretchBlt(SURFOBJ *psoDest,
|
||||||
{
|
{
|
||||||
BOOLEAN ret;
|
BOOLEAN ret;
|
||||||
COLORADJUSTMENT ca;
|
COLORADJUSTMENT ca;
|
||||||
POINT MaskOrigin;
|
POINTL MaskOrigin = {0, 0};
|
||||||
SURFACE *psurfDest;
|
SURFACE *psurfDest;
|
||||||
SURFACE *psurfSource = NULL;
|
SURFACE *psurfSource = NULL;
|
||||||
RECTL InputClippedRect;
|
RECTL InputClippedRect;
|
||||||
|
@ -456,7 +456,8 @@ IntEngStretchBlt(SURFOBJ *psoDest,
|
||||||
|
|
||||||
if (pMaskOrigin != NULL)
|
if (pMaskOrigin != NULL)
|
||||||
{
|
{
|
||||||
MaskOrigin.x = pMaskOrigin->x; MaskOrigin.y = pMaskOrigin->y;
|
MaskOrigin.x = pMaskOrigin->x;
|
||||||
|
MaskOrigin.y = pMaskOrigin->y;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* No success yet */
|
/* No success yet */
|
||||||
|
@ -482,16 +483,35 @@ IntEngStretchBlt(SURFOBJ *psoDest,
|
||||||
if (psurfDest->flHooks & HOOK_STRETCHBLTROP)
|
if (psurfDest->flHooks & HOOK_STRETCHBLTROP)
|
||||||
{
|
{
|
||||||
/* Drv->StretchBltROP (look at http://www.osronline.com/ddkx/graphics/ddifncs_0z3b.htm ) */
|
/* Drv->StretchBltROP (look at http://www.osronline.com/ddkx/graphics/ddifncs_0z3b.htm ) */
|
||||||
// FIXME: MaskOrigin is always NULL !
|
ret = GDIDEVFUNCS(psoDest).StretchBltROP(psoDest,
|
||||||
ret = GDIDEVFUNCS(psoDest).StretchBltROP(psoDest, (UsesSource) ? psoSource : NULL, MaskSurf, ClipRegion, ColorTranslation,
|
(UsesSource) ? psoSource : NULL,
|
||||||
&ca, BrushOrigin, &OutputRect, &InputRect, NULL, COLORONCOLOR, pbo, ROP);
|
MaskSurf,
|
||||||
|
ClipRegion,
|
||||||
|
ColorTranslation,
|
||||||
|
&ca, BrushOrigin,
|
||||||
|
&OutputRect,
|
||||||
|
&InputRect,
|
||||||
|
&MaskOrigin,
|
||||||
|
COLORONCOLOR,
|
||||||
|
pbo,
|
||||||
|
ROP);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! ret)
|
if (! ret)
|
||||||
{
|
{
|
||||||
// FIXME: see previous fixme
|
ret = EngStretchBltROP(psoDest,
|
||||||
ret = EngStretchBltROP(psoDest, (UsesSource) ? psoSource : NULL, MaskSurf, ClipRegion, ColorTranslation,
|
(UsesSource) ? psoSource : NULL,
|
||||||
&ca, BrushOrigin, &OutputRect, &InputRect, NULL, COLORONCOLOR, pbo, ROP);
|
MaskSurf,
|
||||||
|
ClipRegion,
|
||||||
|
ColorTranslation,
|
||||||
|
&ca,
|
||||||
|
BrushOrigin,
|
||||||
|
&OutputRect,
|
||||||
|
&InputRect,
|
||||||
|
&MaskOrigin,
|
||||||
|
COLORONCOLOR,
|
||||||
|
pbo,
|
||||||
|
ROP);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UsesSource)
|
if (UsesSource)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue