1 /// Define the A vector polynomial bits 2 // Each bit corresponds to one of the terms in the polynomial 3 // 4 // Rop(D,S,P) = a + a D + a S + a P + a DS + a DP + a SP + a DSP 5 // 0 d s p ds dp sp dsp 6 7 #define AVEC_NOT 0x01 8 #define AVEC_D 0x02 9 #define AVEC_S 0x04 10 #define AVEC_P 0x08 11 #define AVEC_DS 0x10 12 #define AVEC_DP 0x20 13 #define AVEC_SP 0x40 14 #define AVEC_DSP 0x80 15 16 #define AVEC_NEED_SOURCE (AVEC_S | AVEC_DS | AVEC_SP | AVEC_DSP) 17 #define AVEC_NEED_PATTERN (AVEC_P | AVEC_DP | AVEC_SP | AVEC_DSP) 18 19 #define BB_TARGET_SCREEN 0x0001 20 #define BB_TARGET_ONLY 0x0002 21 #define BB_SOURCE_COPY 0x0004 22 #define BB_PATTERN_COPY 0x0008 23 24 #define GET_OPINDEX_FROM_ROP3(Rop3) (((Rop3) >> 16) & 0xff) 25 #define GET_OPINDEX_FROM_ROP4(Rop4) ((Rop4) & 0xff) 26 #define ROP3_TO_ROP4(Rop3) ((((Rop3) >> 8) & 0xff00) | (((Rop3) >> 16) & 0x00ff)) 27 #define R3_OPINDEX_SRCCOPY 0xcc 28 #define R3_OPINDEX_NOOP 0xaa 29 #define R4_MASK ((R3_OPINDEX_NOOP << 8) | R3_OPINDEX_SRCCOPY) 30