2e183428e007c9118904414f262c75e3a69a8a2b
5 #define ENUM_RECT_LIMIT 50
7 typedef struct _RECT_ENUM
10 RECTL arcl
[ENUM_RECT_LIMIT
];
13 typedef struct tagSPAN
20 #define R3_OPINDEX_NOOP 0xAA
22 #define R3_OPINDEX_BLACKNESS 0x00
23 #define R3_OPINDEX_NOTSRCERASE 0x11
24 #define R3_OPINDEX_NOTSRCCOPY 0x33
25 #define R3_OPINDEX_SRCERASE 0x44
26 #define R3_OPINDEX_DSTINVERT 0x55
27 #define R3_OPINDEX_PATINVERT 0x5A
28 #define R3_OPINDEX_SRCINVERT 0x66
29 #define R3_OPINDEX_SRCAND 0x88
30 #define R3_OPINDEX_MERGEPAINT 0xBB
31 #define R3_OPINDEX_MERGECOPY 0xC0
32 #define R3_OPINDEX_SRCCOPY 0xCC
33 #define R3_OPINDEX_SRCPAINT 0xEE
34 #define R3_OPINDEX_PATCOPY 0xF0
35 #define R3_OPINDEX_PATPAINT 0xFB
36 #define R3_OPINDEX_WHITENESS 0xFF
38 #define ROP2_TO_MIX(Rop2) (((Rop2) << 8) | (Rop2))
40 #define ROP4_FROM_INDEX(index) ((index) | ((index) << 8))
42 #define ROP4_USES_SOURCE(Rop4) (((((Rop4) & 0xCC00) >> 2) != ((Rop4) & 0x3300)) || ((((Rop4) & 0xCC) >> 2) != ((Rop4) & 0x33)))
43 #define ROP4_USES_MASK(Rop4) (((Rop4) & 0xFF00) != (((Rop4) & 0xff) << 8))
44 #define ROP4_USES_DEST(Rop4) (((((Rop4) & 0xAA) >> 1) != ((Rop4) & 0x55)) || ((((Rop4) & 0xAA00) >> 1) != ((Rop4) & 0x5500)))
45 #define ROP4_USES_PATTERN(Rop4) (((((Rop4) & 0xF0) >> 4) != ((Rop4) & 0x0F)) || ((((Rop4) & 0xF000) >> 4) != ((Rop4) & 0x0F00)))
47 #define IS_VALID_ROP4(rop) (((rop) & 0xFFFF0000) == 0)
49 #define ROP4_FGND(Rop4) ((Rop4) & 0x00FF)
50 #define ROP4_BKGND(Rop4) (((Rop4) & 0xFF00) >> 8)
52 #define ROP4_NOOP (R3_OPINDEX_NOOP | (R3_OPINDEX_NOOP << 8))
53 #define ROP4_MASK (R3_OPINDEX_SRCCOPY | (R3_OPINDEX_NOOP << 8))
55 /* Definitions of IntEngXxx functions */
58 IntEngLineTo(SURFOBJ
*Surface
,
69 IntEngBitBlt(SURFOBJ
*DestObj
,
73 XLATEOBJ
*ColorTranslation
,
82 IntEngStretchBlt(SURFOBJ
*DestObj
,
86 XLATEOBJ
*ColorTranslation
,
95 IntEngGradientFill(SURFOBJ
*psoDest
,
103 POINTL
*pptlDitherOrg
,
107 IntEngPolyline(SURFOBJ
*DestSurf
,
115 IntEngCreateClipRegion(ULONG count
,
120 IntEngDeleteClipRegion(CLIPOBJ
*ClipObj
);
124 IntEngTransparentBlt(SURFOBJ
*Dest
,
127 XLATEOBJ
*ColorTranslation
,
134 IntEngPaint(IN SURFOBJ
*Surface
,
135 IN CLIPOBJ
*ClipRegion
,
137 IN POINTL
*BrushOrigin
,
141 IntEngSetPointerShape(
144 IN SURFOBJ
*psoColor
,
154 IntEngAlphaBlend(IN SURFOBJ
*Dest
,
156 IN CLIPOBJ
*ClipRegion
,
157 IN XLATEOBJ
*ColorTranslation
,
159 IN PRECTL SourceRect
,
160 IN BLENDOBJ
*BlendObj
);
163 IntEngCopyBits(SURFOBJ
*psoDest
,