1 2 #include "DibLib.h" 3 4 #define __USES_SOURCE 1 5 #define __USES_PATTERN 1 6 #define __USES_DEST 0 7 #define __USES_MASK 0 8 9 #define _DibDoRop(pBltData, M, D, S, P) ROP_MERGECOPY(D,S,P) 10 11 #define __FUNCTIONNAME BitBlt_MERGECOPY 12 #include "DibLib_AllSrcBPP.h" 13 14 #undef __FUNCTIONNAME 15 #define __FUNCTIONNAME BitBlt_MERGECOPY_Solid 16 #define __USES_SOLID_BRUSH 1 17 #include "DibLib_AllSrcBPP.h" 18 19 VOID 20 FASTCALL 21 Dib_BitBlt_MERGECOPY(PBLTDATA pBltData) 22 { 23 /* Check for solid brush */ 24 if (pBltData->ulSolidColor != 0xFFFFFFFF) 25 { 26 /* Use the solid version of PATCOPY! */ 27 gapfnBitBlt_MERGECOPY_Solid[pBltData->siDst.iFormat][pBltData->siSrc.iFormat](pBltData); 28 } 29 else 30 { 31 /* Use the pattern version */ 32 gapfnBitBlt_MERGECOPY[pBltData->siDst.iFormat][pBltData->siSrc.iFormat](pBltData); 33 } 34 } 35 36