1 2 #include "DibLib.h" 3 4 extern PFN_DIBFUNCTION gapfnBitBlt_SRCCOPY[7][7]; 5 extern PFN_DIBFUNCTION gapfnBitBlt_SRCINVERT[7][7]; 6 7 VOID 8 FASTCALL Dib_MaskCopy(PBLTDATA pBltData)9Dib_MaskCopy(PBLTDATA pBltData) 10 { 11 pBltData->siSrc = pBltData->siMsk; 12 13 /* Create an XLATEOBJ */ 14 pBltData->pxlo = 0;// FIXME: use 1bpp -> destbpp 15 16 /* 4 possibilities... */ 17 if (pBltData->rop4 == MAKEROP4(BLACKNESS, WHITENESS)) 18 { 19 gapfnBitBlt_SRCCOPY[pBltData->siDst.iFormat][pBltData->siSrc.iFormat](pBltData); 20 } 21 else if (pBltData->rop4 == MAKEROP4(WHITENESS, BLACKNESS)) 22 { 23 gapfnBitBlt_SRCINVERT[pBltData->siDst.iFormat][pBltData->siSrc.iFormat](pBltData); 24 } 25 else if (pBltData->rop4 == MAKEROP4(BLACKNESS, BLACKNESS)) 26 { 27 Dib_BitBlt_BLACKNESS(pBltData); 28 } 29 else // if (pBltData->rop4 == MAKEROP4(WHITENESS, WHITENESS)) 30 { 31 Dib_BitBlt_WHITENESS(pBltData); 32 } 33 } 34 35 36