mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
35 lines
887 B
C
35 lines
887 B
C
|
|
#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);
|
|
}
|
|
}
|
|
|
|
|