ReactOS  0.4.13-dev-66-gc714b7f
dib.h
Go to the documentation of this file.
1 #pragma once
2 
3 #define ROP4_BLACKNESS ((((0x00000042) >> 8) & 0xff00) | (((0x00000042) >> 16) & 0x00ff))
4 #define ROP4_NOTSRCERASE ((((0x001100A6) >> 8) & 0xff00) | (((0x001100A6) >> 16) & 0x00ff))
5 #define ROP4_NOTSRCCOPY ((((0x00330008) >> 8) & 0xff00) | (((0x00330008) >> 16) & 0x00ff))
6 #define ROP4_SRCERASE ((((0x00440328) >> 8) & 0xff00) | (((0x00440328) >> 16) & 0x00ff))
7 #define ROP4_DSTINVERT ((((0x00550009) >> 8) & 0xff00) | (((0x00550009) >> 16) & 0x00ff))
8 #define ROP4_PATINVERT ((((0x005A0049) >> 8) & 0xff00) | (((0x005A0049) >> 16) & 0x00ff))
9 #define ROP4_SRCINVERT ((((0x00660046) >> 8) & 0xff00) | (((0x00660046) >> 16) & 0x00ff))
10 #define ROP4_SRCAND ((((0x008800C6) >> 8) & 0xff00) | (((0x008800C6) >> 16) & 0x00ff))
11 #define ROP4_MERGEPAINT ((((0x00BB0226) >> 8) & 0xff00) | (((0x00BB0226) >> 16) & 0x00ff))
12 #define ROP4_MERGECOPY ((((0x00C000CA) >> 8) & 0xff00) | (((0x00C000CA) >> 16) & 0x00ff))
13 #define ROP4_SRCCOPY ((((0x00CC0020) >> 8) & 0xff00) | (((0x00CC0020) >> 16) & 0x00ff))
14 #define ROP4_SRCPAINT ((((0x00EE0086) >> 8) & 0xff00) | (((0x00EE0086) >> 16) & 0x00ff))
15 #define ROP4_PATCOPY ((((0x00F00021) >> 8) & 0xff00) | (((0x00F00021) >> 16) & 0x00ff))
16 #define ROP4_PATPAINT ((((0x00FB0A09) >> 8) & 0xff00) | (((0x00FB0A09) >> 16) & 0x00ff))
17 #define ROP4_WHITENESS ((((0x00FF0062) >> 8) & 0xff00) | (((0x00FF0062) >> 16) & 0x00ff))
18 
19 
20 typedef struct _BLTINFO
21 {
31 } BLTINFO, *PBLTINFO;
32 
42 
43 typedef struct
44 {
56 
58 
68 
77 
86 
95 
105 
115 
125 
129 
130 extern unsigned char notmask[2];
131 extern unsigned char altnotmask[2];
132 #define MASK1BPP(x) (1<<(7-((x)&7)))
133 
134 ULONG DIB_DoRop(ULONG Rop, ULONG Dest, ULONG Source, ULONG Pattern);
135 
136 #define DIB_GetSource(SourceSurf,sx,sy,ColorTranslation) \
137  XLATEOBJ_iXlate(ColorTranslation, \
138  DibFunctionsForBitmapFormat[SourceSurf->iBitmapFormat]. \
139  DIB_GetPixel(SourceSurf, sx, sy))
140 
141 #define DIB_GetSourceIndex(SourceSurf,sx,sy) \
142  DibFunctionsForBitmapFormat[SourceSurf->iBitmapFormat]. \
143  DIB_GetPixel(SourceSurf, sx, sy)
POINTL BrushOrigin
Definition: dib.h:29
ROP4 Rop4
Definition: dib.h:30
BOOLEAN DIB_16BPP_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib16bpp.c:401
ULONG(* PFN_DIB_GetPixel)(SURFOBJ *, LONG, LONG)
Definition: dib.h:34
VOID DIB_16BPP_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib16bpp.c:34
BOOLEAN DIB_8BPP_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib8bpp.c:262
VOID DIB_8BPP_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib8bpp.c:17
BOOLEAN DIB_8BPP_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib8bpp.c:250
XLATEOBJ * XlateSourceToDest
Definition: dib.h:25
VOID DIB_24BPP_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib24bppc.c:16
VOID DIB_32BPP_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib32bppc.c:16
VOID DIB_32BPP_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib32bpp.c:17
ULONG DIB_16BPP_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib16bpp.c:26
PFN_DIB_TransparentBlt DIB_TransparentBlt
Definition: dib.h:52
DIB_FUNCTIONS DibFunctionsForBitmapFormat[]
Definition: dib.c:20
BOOLEAN DIB_1BPP_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib1bpp.c:459
ULONG DIB_24BPP_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib24bpp.c:25
VOID Dummy_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib.c:204
ULONG DIB_32BPP_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib32bpp.c:26
ULONG ROP4
Definition: winddi.h:128
BOOLEAN DIB_32BPP_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib32bppc.c:31
unsigned char altnotmask[2]
Definition: dib.c:18
BOOLEAN DIB_24BPP_AlphaBlend(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, CLIPOBJ *, XLATEOBJ *, BLENDOBJ *)
Definition: dib24bpp.c:464
SURFOBJ * PatternSurface
Definition: dib.h:24
ULONG DIB_4BPP_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib4bpp.c:23
BOOLEAN(* PFN_DIB_AlphaBlend)(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, CLIPOBJ *, XLATEOBJ *, BLENDOBJ *)
Definition: dib.h:41
struct _BLTINFO BLTINFO
PFN_DIB_AlphaBlend DIB_AlphaBlend
Definition: dib.h:54
BOOLEAN(* PFN_DIB_BitBlt)(PBLTINFO)
Definition: dib.h:37
BOOLEAN DIB_32BPP_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib32bpp.c:283
BOOLEAN DIB_24BPP_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib24bpp.c:300
BOOLEAN DIB_16BPP_BitBlt(PBLTINFO)
BOOLEAN DIB_4BPP_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib4bpp.c:373
long LONG
Definition: pedump.c:60
VOID DIB_1BPP_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib1bpp.c:15
BOOLEAN DIB_1BPP_BitBltSrcCopy(PBLTINFO)
Definition: dib1bpp.c:227
PFN_DIB_PutPixel DIB_PutPixel
Definition: dib.h:45
BOOLEAN DIB_4BPP_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib4bpp.c:360
unsigned char BOOLEAN
BOOLEAN DIB_16BPP_AlphaBlend(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, CLIPOBJ *, XLATEOBJ *, BLENDOBJ *)
Definition: dib16bpp.c:576
BOOLEAN Dummy_StretchBlt(SURFOBJ *, SURFOBJ *, SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, POINTL *, BRUSHOBJ *, POINTL *, XLATEOBJ *, ROP4)
Definition: dib.c:219
VOID DIB_8BPP_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib8bpp.c:33
BOOLEAN Dummy_AlphaBlend(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, CLIPOBJ *, XLATEOBJ *, BLENDOBJ *)
Definition: dib.c:244
SURFOBJ * SourceSurface
Definition: dib.h:23
ULONG DIB_8BPP_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib8bpp.c:25
RECTL DestRect
Definition: dib.h:26
ULONG DIB_DoRop(ULONG Rop, ULONG Dest, ULONG Source, ULONG Pattern)
Definition: dib.c:92
SURFOBJ * DestSurface
Definition: dib.h:22
BOOLEAN DIB_4BPP_BitBlt(PBLTINFO)
Definition: dib4bpp.c:222
BOOLEAN DIB_XXBPP_AlphaBlend(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, CLIPOBJ *, XLATEOBJ *, BLENDOBJ *)
Definition: alphablend.c:33
VOID DIB_1BPP_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib1bpp.c:44
BOOLEAN DIB_1BPP_BitBlt(PBLTINFO)
Definition: dib1bpp.c:318
unsigned char notmask[2]
Definition: dib.c:17
struct _BLTINFO * PBLTINFO
PFN_DIB_GetPixel DIB_GetPixel
Definition: dib.h:46
BOOLEAN DIB_24BPP_BitBltSrcCopy(PBLTINFO)
Definition: dib24bpp.c:50
BOOLEAN(* PFN_DIB_StretchBlt)(SURFOBJ *, SURFOBJ *, SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, POINTL *, BRUSHOBJ *, POINTL *, XLATEOBJ *, ROP4)
Definition: dib.h:38
BRUSHOBJ * Brush
Definition: dib.h:28
#define VOID
Definition: acefi.h:82
PFN_DIB_VLine DIB_VLine
Definition: dib.h:48
ULONG DIB_1BPP_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib1bpp.c:26
PFN_DIB_ColorFill DIB_ColorFill
Definition: dib.h:53
VOID(* PFN_DIB_HLine)(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib.h:35
VOID DIB_4BPP_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib4bpp.c:30
BOOLEAN DIB_32BPP_BitBltSrcCopy(PBLTINFO)
Definition: dib32bpp.c:50
PFN_DIB_HLine DIB_HLine
Definition: dib.h:47
VOID DIB_4BPP_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib4bpp.c:16
BOOLEAN DIB_16BPP_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib16bpp.c:448
ULONG Dummy_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib.c:199
VOID DIB_1BPP_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib1bpp.c:34
VOID(* PFN_DIB_VLine)(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib.h:36
BOOLEAN DIB_4BPP_BitBltSrcCopy(PBLTINFO)
Definition: dib4bpp.c:60
BOOLEAN DIB_32BPP_BitBlt(PBLTINFO)
BOOLEAN DIB_16BPP_BitBltSrcCopy(PBLTINFO)
Definition: dib16bpp.c:140
BOOLEAN DIB_8BPP_BitBlt(PBLTINFO)
unsigned int UINT
Definition: ndis.h:50
VOID Dummy_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib.c:209
VOID DIB_32BPP_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib32bpp.c:35
BOOLEAN(* PFN_DIB_ColorFill)(SURFOBJ *, RECTL *, ULONG)
Definition: dib.h:40
PFN_DIB_StretchBlt DIB_StretchBlt
Definition: dib.h:51
VOID DIB_24BPP_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib24bpp.c:17
PFN_DIB_BitBlt DIB_BitBlt
Definition: dib.h:49
BOOLEAN DIB_8BPP_BitBltSrcCopy(PBLTINFO)
Definition: dib8bpp.c:55
VOID Dummy_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib.c:194
POINTL SourcePoint
Definition: dib.h:27
BOOLEAN DIB_24BPP_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib24bpp.c:399
#define BOOLEAN
Definition: pedump.c:73
BOOLEAN DIB_XXBPP_StretchBlt(SURFOBJ *, SURFOBJ *, SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, POINTL *, BRUSHOBJ *, POINTL *, XLATEOBJ *, ROP4)
Definition: stretchblt.c:16
unsigned int ULONG
Definition: retypes.h:1
VOID DIB_4BPP_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib4bpp.c:45
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3149
BOOLEAN DIB_XXBPP_FloodFillSolid(SURFOBJ *, BRUSHOBJ *, RECTL *, POINTL *, ULONG, UINT)
Definition: floodfill.c:86
VOID DIB_16BPP_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib16bpp.c:17
BOOLEAN DIB_32BPP_AlphaBlend(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, CLIPOBJ *, XLATEOBJ *, BLENDOBJ *)
Definition: dib32bpp.c:345
VOID DIB_24BPP_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib24bpp.c:34
BOOLEAN Dummy_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib.c:237
Definition: dib.h:20
BOOLEAN Dummy_BitBlt(PBLTINFO)
Definition: dib.c:214
BOOLEAN DIB_24BPP_BitBlt(PBLTINFO)
Definition: dib24bpp.c:229
BOOLEAN(* PFN_DIB_TransparentBlt)(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib.h:39
BOOLEAN Dummy_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib.c:230
PFN_DIB_BitBlt DIB_BitBltSrcCopy
Definition: dib.h:50
VOID DIB_8BPP_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib8bpp.c:39
BOOLEAN DIB_1BPP_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib1bpp.c:472
VOID(* PFN_DIB_PutPixel)(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib.h:33
VOID DIB_16BPP_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib16bpp.c:90