ReactOS 0.4.15-dev-7889-g76290a6
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
20typedef struct _BLTINFO
21{
32
42
43typedef struct
44{
56
58
68
77
86
95
105
115
125
129
130extern unsigned char notmask[2];
131extern unsigned char altnotmask[2];
132#define MASK1BPP(x) (1<<(7-((x)&7)))
133
134ULONG 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)
unsigned char BOOLEAN
#define VOID
Definition: acefi.h:82
unsigned int UINT
Definition: ndis.h:50
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3169
#define BOOLEAN
Definition: pedump.c:73
long LONG
Definition: pedump.c:60
PFN_DIB_BitBlt DIB_BitBltSrcCopy
Definition: dib.h:50
PFN_DIB_PutPixel DIB_PutPixel
Definition: dib.h:45
PFN_DIB_HLine DIB_HLine
Definition: dib.h:47
PFN_DIB_BitBlt DIB_BitBlt
Definition: dib.h:49
PFN_DIB_TransparentBlt DIB_TransparentBlt
Definition: dib.h:52
PFN_DIB_VLine DIB_VLine
Definition: dib.h:48
PFN_DIB_GetPixel DIB_GetPixel
Definition: dib.h:46
PFN_DIB_AlphaBlend DIB_AlphaBlend
Definition: dib.h:54
PFN_DIB_ColorFill DIB_ColorFill
Definition: dib.h:53
PFN_DIB_StretchBlt DIB_StretchBlt
Definition: dib.h:51
Definition: dib.h:21
RECTL DestRect
Definition: dib.h:26
POINTL BrushOrigin
Definition: dib.h:29
SURFOBJ * SourceSurface
Definition: dib.h:23
SURFOBJ * DestSurface
Definition: dib.h:22
ROP4 Rop4
Definition: dib.h:30
SURFOBJ * PatternSurface
Definition: dib.h:24
BRUSHOBJ * Brush
Definition: dib.h:28
POINTL SourcePoint
Definition: dib.h:27
XLATEOBJ * XlateSourceToDest
Definition: dib.h:25
uint32_t ULONG
Definition: typedefs.h:59
struct _BLTINFO * PBLTINFO
VOID DIB_8BPP_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib8bpp.c:43
BOOLEAN DIB_8BPP_BitBlt(PBLTINFO)
VOID DIB_4BPP_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib4bpp.c:19
VOID(* PFN_DIB_VLine)(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib.h:36
BOOLEAN DIB_24BPP_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib24bpp.c:660
BOOLEAN DIB_24BPP_AlphaBlend(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, CLIPOBJ *, XLATEOBJ *, BLENDOBJ *)
Definition: dib24bpp.c:725
BOOLEAN DIB_4BPP_BitBltSrcCopy(PBLTINFO)
Definition: dib4bpp.c:63
ULONG DIB_8BPP_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib8bpp.c:29
BOOLEAN DIB_32BPP_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib32bppc.c:31
BOOLEAN DIB_16BPP_BitBltSrcCopy(PBLTINFO)
Definition: dib16bpp.c:144
BOOLEAN Dummy_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib.c:230
BOOLEAN DIB_32BPP_BitBltSrcCopy(PBLTINFO)
Definition: dib32bpp.c:54
BOOLEAN DIB_32BPP_AlphaBlend(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, CLIPOBJ *, XLATEOBJ *, BLENDOBJ *)
Definition: dib32bpp.c:763
BOOLEAN(* PFN_DIB_TransparentBlt)(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib.h:39
BOOLEAN DIB_8BPP_BitBltSrcCopy(PBLTINFO)
Definition: dib8bpp.c:59
BOOLEAN DIB_24BPP_BitBlt(PBLTINFO)
Definition: dib24bpp.c:485
BOOLEAN DIB_8BPP_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib8bpp.c:543
VOID DIB_32BPP_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib32bpp.c:39
unsigned char notmask[2]
Definition: dib.c:17
BOOLEAN DIB_XXBPP_FloodFillSolid(SURFOBJ *, BRUSHOBJ *, RECTL *, POINTL *, ULONG, UINT)
Definition: floodfill.c:86
BOOLEAN Dummy_BitBlt(PBLTINFO)
Definition: dib.c:214
VOID DIB_24BPP_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib24bpp.c:38
ULONG Dummy_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib.c:199
VOID DIB_8BPP_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib8bpp.c:21
BOOLEAN DIB_16BPP_BitBlt(PBLTINFO)
VOID DIB_1BPP_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib1bpp.c:38
ULONG DIB_24BPP_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib24bpp.c:29
VOID DIB_16BPP_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib16bpp.c:94
VOID DIB_32BPP_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib32bppc.c:16
BOOLEAN DIB_1BPP_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib1bpp.c:508
BOOLEAN Dummy_StretchBlt(SURFOBJ *, SURFOBJ *, SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, POINTL *, BRUSHOBJ *, POINTL *, XLATEOBJ *, ROP4)
Definition: dib.c:219
BOOLEAN DIB_32BPP_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib32bpp.c:701
struct _BLTINFO BLTINFO
ULONG DIB_DoRop(ULONG Rop, ULONG Dest, ULONG Source, ULONG Pattern)
Definition: dib.c:92
BOOLEAN Dummy_AlphaBlend(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, CLIPOBJ *, XLATEOBJ *, BLENDOBJ *)
Definition: dib.c:244
VOID DIB_16BPP_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib16bpp.c:21
VOID DIB_24BPP_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib24bppc.c:16
BOOLEAN DIB_16BPP_AlphaBlend(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, CLIPOBJ *, XLATEOBJ *, BLENDOBJ *)
Definition: dib16bpp.c:851
BOOLEAN DIB_4BPP_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib4bpp.c:524
ULONG DIB_1BPP_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib1bpp.c:30
BOOLEAN DIB_1BPP_BitBltSrcCopy(PBLTINFO)
Definition: dib1bpp.c:159
VOID Dummy_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib.c:194
unsigned char altnotmask[2]
Definition: dib.c:18
ULONG DIB_4BPP_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib4bpp.c:26
ULONG DIB_16BPP_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib16bpp.c:30
VOID Dummy_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib.c:209
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:33
DIB_FUNCTIONS DibFunctionsForBitmapFormat[]
Definition: dib.c:20
BOOLEAN(* PFN_DIB_AlphaBlend)(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, CLIPOBJ *, XLATEOBJ *, BLENDOBJ *)
Definition: dib.h:41
VOID DIB_4BPP_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib4bpp.c:48
BOOLEAN DIB_1BPP_BitBlt(PBLTINFO)
Definition: dib1bpp.c:367
VOID DIB_24BPP_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib24bpp.c:21
BOOLEAN(* PFN_DIB_BitBlt)(PBLTINFO)
Definition: dib.h:37
VOID DIB_16BPP_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib16bpp.c:38
ULONG DIB_32BPP_GetPixel(SURFOBJ *, LONG, LONG)
Definition: dib32bpp.c:30
BOOLEAN DIB_XXBPP_StretchBlt(SURFOBJ *, SURFOBJ *, SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, POINTL *, BRUSHOBJ *, POINTL *, XLATEOBJ *, ROP4)
Definition: stretchblt.c:17
BOOLEAN DIB_XXBPP_AlphaBlend(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, CLIPOBJ *, XLATEOBJ *, BLENDOBJ *)
Definition: alphablend.c:33
BOOLEAN(* PFN_DIB_ColorFill)(SURFOBJ *, RECTL *, ULONG)
Definition: dib.h:40
BOOLEAN DIB_8BPP_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib8bpp.c:527
VOID DIB_1BPP_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib1bpp.c:19
ULONG(* PFN_DIB_GetPixel)(SURFOBJ *, LONG, LONG)
Definition: dib.h:34
BOOLEAN Dummy_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib.c:237
VOID DIB_1BPP_VLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib1bpp.c:48
VOID Dummy_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib.c:204
VOID DIB_8BPP_HLine(SURFOBJ *, LONG, LONG, LONG, ULONG)
Definition: dib8bpp.c:37
BOOLEAN(* PFN_DIB_StretchBlt)(SURFOBJ *, SURFOBJ *, SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, POINTL *, BRUSHOBJ *, POINTL *, XLATEOBJ *, ROP4)
Definition: dib.h:38
BOOLEAN DIB_32BPP_BitBlt(PBLTINFO)
BOOLEAN DIB_24BPP_BitBltSrcCopy(PBLTINFO)
Definition: dib24bpp.c:54
VOID DIB_32BPP_PutPixel(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib32bpp.c:21
BOOLEAN DIB_4BPP_BitBlt(PBLTINFO)
Definition: dib4bpp.c:368
BOOLEAN DIB_16BPP_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib16bpp.c:673
VOID(* PFN_DIB_PutPixel)(SURFOBJ *, LONG, LONG, ULONG)
Definition: dib.h:33
BOOLEAN DIB_1BPP_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib1bpp.c:524
BOOLEAN DIB_24BPP_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib24bpp.c:558
BOOLEAN DIB_16BPP_TransparentBlt(SURFOBJ *, SURFOBJ *, RECTL *, RECTL *, XLATEOBJ *, ULONG)
Definition: dib16bpp.c:723
BOOLEAN DIB_4BPP_ColorFill(SURFOBJ *, RECTL *, ULONG)
Definition: dib4bpp.c:508
ULONG ROP4
Definition: winddi.h:128