9bcfc0ab838147a167171c76d7f078cd9823b975
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_SRCCOPY 0xcc
21 #define R3_OPINDEX_NOOP 0xaa
22 #define R4_NOOP ((R3_OPINDEX_NOOP << 8) | R3_OPINDEX_NOOP)
23 #define R4_MASK ((R3_OPINDEX_NOOP << 8) | R3_OPINDEX_SRCCOPY)
25 #define ROP2_TO_MIX(Rop2) (((Rop2) << 8) | (Rop2))
26 #define ROP3_USES_DEST(Rop3) ((((Rop3) & 0xAA0000) >> 1) != ((Rop3) & 0x550000))
27 #define ROP4_USES_DEST(Rop4) (((((Rop4) & 0xAA) >> 1) != ((Rop4) & 0x55)) || ((((Rop4) & 0xAA00) >> 1) != ((Rop4) & 0x5500)))
28 #define ROP3_USES_SOURCE(Rop3) ((((Rop3) & 0xCC0000) >> 2) != ((Rop3) & 0x330000))
29 #define ROP4_USES_SOURCE(Rop4) (((((Rop4) & 0xCC) >> 2) != ((Rop4) & 0x33)) || ((((Rop4) & 0xCC00) >> 2) != ((Rop4) & 0x3300)))
30 #define ROP3_USES_PATTERN(Rop3) ((((Rop3) & 0xF00000) >> 4) != ((Rop3) & 0x0F0000))
31 #define ROP4_USES_PATTERN(Rop4) (((((Rop4) & 0xF0) >> 4) != ((Rop4) & 0x0F)) || ((((Rop4) & 0xF000) >> 4) != ((Rop4) & 0x0F00)))
32 #define ROP3_TO_ROP4(Rop3) ((((Rop3) >> 8) & 0xff00) | (((Rop3) >> 16) & 0x00ff))
34 /* Definitions of IntEngXxx functions */
37 IntEngLineTo(SURFOBJ
*Surface
,
48 IntEngBitBlt(SURFOBJ
*DestObj
,
52 XLATEOBJ
*ColorTranslation
,
61 IntEngStretchBlt(SURFOBJ
*DestObj
,
65 XLATEOBJ
*ColorTranslation
,
74 IntEngGradientFill(SURFOBJ
*psoDest
,
82 POINTL
*pptlDitherOrg
,
85 VOID
InitXlateImpl(VOID
);
88 IntEngCreateXlate(USHORT DestPalType
,
91 HPALETTE PaletteSource
);
94 IntEngCreateMonoXlate(USHORT SourcePalType
,
96 HPALETTE PaletteSource
,
97 ULONG BackgroundColor
);
100 IntEngCreateSrcMonoXlate(HPALETTE PaletteDest
,
105 IntCreateBrushXlate(BRUSH
*pbrush
, SURFACE
* psurf
, COLORREF crBackgroundClr
);
108 IntEngGetXlatePalette(XLATEOBJ
*XlateObj
,
112 IntEngPolyline(SURFOBJ
*DestSurf
,
120 IntEngCreateClipRegion(ULONG count
,
125 IntEngDeleteClipRegion(CLIPOBJ
*ClipObj
);
128 ClipobjToSpans(PSPAN
*Spans
,
134 IntEngTransparentBlt(SURFOBJ
*Dest
,
137 XLATEOBJ
*ColorTranslation
,
144 IntEngPaint(IN SURFOBJ
*Surface
,
145 IN CLIPOBJ
*ClipRegion
,
147 IN POINTL
*BrushOrigin
,
151 IntEngMovePointer(IN SURFOBJ
*pso
,
157 IntEngSetPointerShape(
160 IN SURFOBJ
*psoColor
,
170 IntEngAlphaBlend(IN SURFOBJ
*Dest
,
172 IN CLIPOBJ
*ClipRegion
,
173 IN XLATEOBJ
*ColorTranslation
,
175 IN PRECTL SourceRect
,
176 IN BLENDOBJ
*BlendObj
);
179 IntEngCopyBits(SURFOBJ
*psoDest
,