IN POINTL *MaskOrigin,
IN ULONG Mode,
IN BRUSHOBJ *pbo,
- IN DWORD ROP4)
+ IN ROP4 Rop4)
{
RECTL InputRect;
RECTL OutputRect;
PSTRETCHRECTFUNC BltRectFunc;
BOOLEAN Ret = TRUE;
POINTL AdjustedBrushOrigin;
- BOOL UsesSource = ROP4_USES_SOURCE(ROP4);
+ BOOL UsesSource = ROP4_USES_SOURCE(Rop4);
BYTE clippingType;
RECTL ClipRect;
LONG SrcHeight;
LONG SrcWidth;
+ if (Rop4 == ROP4_NOOP)
+ {
+ /* Copy destination onto itself: nop */
+ return TRUE;
+ }
+
+
/* Determine clipping type */
if (ClipRegion == (CLIPOBJ *) NULL)
{
clippingType = ClipRegion->iDComplexity;
}
- if (ROP4 == R4_NOOP)
- {
- /* Copy destination onto itself: nop */
- return TRUE;
- }
-
OutputRect = *prclDest;
if (OutputRect.right < OutputRect.left)
{
case DC_TRIVIAL:
Ret = (*BltRectFunc)(psoOutput, psoInput, Mask,
ColorTranslation, &OutputRect, &InputRect, MaskOrigin,
- pbo, &AdjustedBrushOrigin, ROP4);
+ pbo, &AdjustedBrushOrigin, Rop4);
break;
case DC_RECT:
// Clip the blt to the clip rectangle
MaskOrigin,
pbo,
&AdjustedBrushOrigin,
- ROP4);
+ Rop4);
}
break;
case DC_COMPLEX:
MaskOrigin,
pbo,
&AdjustedBrushOrigin,
- ROP4);
+ Rop4);
}
}
}
MaskOrigin,
Mode,
NULL,
- ROP3_TO_ROP4(SRCCOPY));
+ ROP4_FROM_INDEX(R3_OPINDEX_SRCCOPY));
}
BOOL APIENTRY
POINTL *pMaskOrigin,
BRUSHOBJ *pbo,
POINTL *BrushOrigin,
- ROP4 ROP)
+ DWORD Rop4)
{
BOOLEAN ret;
COLORADJUSTMENT ca;
RECTL InputClippedRect;
RECTL InputRect;
RECTL OutputRect;
- BOOL UsesSource = ROP4_USES_SOURCE(ROP);
+ BOOL UsesSource = ROP4_USES_SOURCE(Rop4);
LONG InputClWidth, InputClHeight, InputWidth, InputHeight;
ASSERT(psoDest);
ASSERT(psurfDest);
ASSERT(DestRect);
+ /* Sanity check */
+ ASSERT(IS_VALID_ROP4(Rop4));
+
InputClippedRect = *DestRect;
if (InputClippedRect.right < InputClippedRect.left)
{
&MaskOrigin,
COLORONCOLOR,
pbo,
- ROP);
+ Rop4);
}
if (! ret)
&MaskOrigin,
COLORONCOLOR,
pbo,
- ROP);
+ Rop4);
}
return ret;