[INTRIN]
[reactos.git] / reactos / win32ss / gdi / diblib / DibLib_interface.h
1
2 #include "RopFunctions.h"
3
4 typedef struct
5 {
6 ULONG iFormat;
7 PBYTE pvScan0;
8 PBYTE pjBase;
9 LONG lDelta;
10 LONG cjAdvanceY;
11 POINTL ptOrig;
12 BYTE jBpp;
13 } SURFINFO;
14
15 typedef struct
16 {
17 SURFINFO siSrc;
18 SURFINFO siDst;
19 SURFINFO siPat;
20 SURFINFO siMsk;
21
22 ULONG ulWidth;
23 ULONG ulHeight;
24 ULONG ulPatWidth;
25 ULONG ulPatHeight;
26 XLATEOBJ *pxlo;
27 PFN_XLATE pfnXlate;
28 ULONG rop4;
29 PFN_DOROP apfnDoRop[2];
30 ULONG ulSolidColor;
31 LONG dy;
32 } BLTDATA, *PBLTDATA;
33
34 typedef
35 VOID
36 (FASTCALL
37 *PFN_DIBFUNCTION)(PBLTDATA pBltData);
38
39 VOID FASTCALL Dib_BitBlt_NOOP(PBLTDATA pBltData);
40 VOID FASTCALL Dib_BitBlt_SOLIDFILL(PBLTDATA pBltData);
41 VOID FASTCALL Dib_BitBlt_BLACKNESS(PBLTDATA pBltData);
42 VOID FASTCALL Dib_BitBlt_WHITENESS(PBLTDATA pBltData);
43 VOID FASTCALL Dib_BitBlt_PATCOPY(PBLTDATA pBltData);
44 VOID FASTCALL Dib_BitBlt_NOTPATCOPY(PBLTDATA pBltData);
45 VOID FASTCALL Dib_BitBlt_DSTINVERT(PBLTDATA pBltData);
46 VOID FASTCALL Dib_BitBlt_SRCCOPY(PBLTDATA pBltData);
47 VOID FASTCALL Dib_BitBlt_NOTSRCCOPY(PBLTDATA pBltData);
48 VOID FASTCALL Dib_BitBlt_SRCERASE(PBLTDATA pBltData);
49 VOID FASTCALL Dib_BitBlt_NOTSRCERASE(PBLTDATA pBltData);
50 VOID FASTCALL Dib_BitBlt_PATINVERT(PBLTDATA pBltData);
51 VOID FASTCALL Dib_BitBlt_SRCINVERT(PBLTDATA pBltData);
52 VOID FASTCALL Dib_BitBlt_SRCAND(PBLTDATA pBltData);
53 VOID FASTCALL Dib_BitBlt_MERGEPAINT(PBLTDATA pBltData);
54 VOID FASTCALL Dib_BitBlt_MERGECOPY(PBLTDATA pBltData);
55 VOID FASTCALL Dib_BitBlt_SRCPAINT(PBLTDATA pBltData);
56 VOID FASTCALL Dib_BitBlt_PATPAINT(PBLTDATA pBltData);
57 VOID FASTCALL Dib_SrcPatBlt(PBLTDATA pBltData);
58 VOID FASTCALL Dib_PatPaint(PBLTDATA pBltData);
59 VOID FASTCALL Dib_SrcPaint(PBLTDATA pBltData);
60 VOID FASTCALL Dib_BitBlt(PBLTDATA pBltData);
61
62 VOID FASTCALL Dib_MaskCopy(PBLTDATA pBltData);
63 VOID FASTCALL Dib_MaskPatBlt(PBLTDATA pBltData);
64 VOID FASTCALL Dib_MaskSrcBlt(PBLTDATA pBltData);
65 VOID FASTCALL Dib_MaskSrcPatBlt(PBLTDATA pBltData);
66 VOID FASTCALL Dib_MaskPaint(PBLTDATA pBltData);
67 VOID FASTCALL Dib_MaskPatPaint(PBLTDATA pBltData);
68 VOID FASTCALL Dib_MaskSrcPaint(PBLTDATA pBltData);
69 VOID FASTCALL Dib_MaskBlt(PBLTDATA pBltData);
70
71 extern const UCHAR gajIndexPerRop[256];
72 extern const PFN_DIBFUNCTION gapfnDibFunction[];
73 extern const PFN_DIBFUNCTION gapfnMaskFunction[8];
74
75