reactos/win32ss/gdi/diblib/MaskCopy.c

36 lines
887 B
C
Raw Normal View History

#include "DibLib.h"
extern PFN_DIBFUNCTION gapfnBitBlt_SRCCOPY[7][7];
extern PFN_DIBFUNCTION gapfnBitBlt_SRCINVERT[7][7];
VOID
FASTCALL
Dib_MaskCopy(PBLTDATA pBltData)
{
pBltData->siSrc = pBltData->siMsk;
/* Create an XLATEOBJ */
pBltData->pxlo = 0;// FIXME: use 1bpp -> destbpp
/* 4 possibilities... */
if (pBltData->rop4 == MAKEROP4(BLACKNESS, WHITENESS))
{
gapfnBitBlt_SRCCOPY[pBltData->siDst.iFormat][pBltData->siSrc.iFormat](pBltData);
}
else if (pBltData->rop4 == MAKEROP4(WHITENESS, BLACKNESS))
{
gapfnBitBlt_SRCINVERT[pBltData->siDst.iFormat][pBltData->siSrc.iFormat](pBltData);
}
else if (pBltData->rop4 == MAKEROP4(BLACKNESS, BLACKNESS))
{
Dib_BitBlt_BLACKNESS(pBltData);
}
else // if (pBltData->rop4 == MAKEROP4(WHITENESS, WHITENESS))
{
Dib_BitBlt_WHITENESS(pBltData);
}
}