[SHELL-EXPERIMENTS]
[reactos.git] / win32ss / gdi / dib / dib_new.c
1 /*
2 * PROJECT: Win32 subsystem
3 * LICENSE: See COPYING in the top level directory
4 * FILE: subsystems/win32/win32k/dib/dib.c
5 * PURPOSE: ROP handling, function pointer arrays, misc
6 * PROGRAMMERS: Ge van Geldorp
7 */
8
9
10 #include <win32k.h>
11 #include "..\diblib\DibLib_interface.h"
12
13 /* Static data */
14
15 unsigned char notmask[2] = { 0x0f, 0xf0 };
16 unsigned char altnotmask[2] = { 0xf0, 0x0f };
17
18 ULONG
19 DIB_DoRop(ULONG Rop, ULONG Dest, ULONG Source, ULONG Pattern)
20 {
21 return gapfnRop[Rop & 0xFF](Dest, Source, Pattern);
22 }
23
24 DIB_FUNCTIONS DibFunctionsForBitmapFormat[] =
25 {
26 /* 0 */
27 {
28 Dummy_PutPixel, Dummy_GetPixel, Dummy_HLine, Dummy_VLine,
29 0, 0, Dummy_StretchBlt, Dummy_TransparentBlt,
30 0, Dummy_AlphaBlend
31 },
32 /* BMF_1BPP */
33 {
34 DIB_1BPP_PutPixel, DIB_1BPP_GetPixel, DIB_1BPP_HLine, DIB_1BPP_VLine,
35 0, 0, DIB_XXBPP_StretchBlt,
36 DIB_1BPP_TransparentBlt, 0, DIB_XXBPP_AlphaBlend
37 },
38 /* BMF_4BPP */
39 {
40 DIB_4BPP_PutPixel, DIB_4BPP_GetPixel, DIB_4BPP_HLine, DIB_4BPP_VLine,
41 0, 0, DIB_XXBPP_StretchBlt,
42 DIB_4BPP_TransparentBlt, 0, DIB_XXBPP_AlphaBlend
43 },
44 /* BMF_8BPP */
45 {
46 DIB_8BPP_PutPixel, DIB_8BPP_GetPixel, DIB_8BPP_HLine, DIB_8BPP_VLine,
47 0, 0, DIB_XXBPP_StretchBlt,
48 DIB_8BPP_TransparentBlt, 0, DIB_XXBPP_AlphaBlend
49 },
50 /* BMF_16BPP */
51 {
52 DIB_16BPP_PutPixel, DIB_16BPP_GetPixel, DIB_16BPP_HLine, DIB_16BPP_VLine,
53 0, 0, DIB_XXBPP_StretchBlt,
54 DIB_16BPP_TransparentBlt, 0, DIB_XXBPP_AlphaBlend
55 },
56 /* BMF_24BPP */
57 {
58 DIB_24BPP_PutPixel, DIB_24BPP_GetPixel, DIB_24BPP_HLine, DIB_24BPP_VLine,
59 0, 0, DIB_XXBPP_StretchBlt,
60 DIB_24BPP_TransparentBlt, 0, DIB_24BPP_AlphaBlend
61 },
62 /* BMF_32BPP */
63 {
64 DIB_32BPP_PutPixel, DIB_32BPP_GetPixel, DIB_32BPP_HLine, DIB_32BPP_VLine,
65 0, 0, DIB_XXBPP_StretchBlt,
66 DIB_32BPP_TransparentBlt, 0, DIB_32BPP_AlphaBlend
67 },
68 /* BMF_4RLE */
69 {
70 Dummy_PutPixel, Dummy_GetPixel, Dummy_HLine, Dummy_VLine,
71 0, 0, Dummy_StretchBlt, Dummy_TransparentBlt,
72 0, Dummy_AlphaBlend
73 },
74 /* BMF_8RLE */
75 {
76 Dummy_PutPixel, Dummy_GetPixel, Dummy_HLine, Dummy_VLine,
77 0, 0, Dummy_StretchBlt, Dummy_TransparentBlt,
78 0, Dummy_AlphaBlend
79 },
80 /* BMF_JPEG */
81 {
82 Dummy_PutPixel, Dummy_GetPixel, Dummy_HLine, Dummy_VLine,
83 0, 0, Dummy_StretchBlt, Dummy_TransparentBlt,
84 0, Dummy_AlphaBlend
85 },
86 /* BMF_PNG */
87 {
88 Dummy_PutPixel, Dummy_GetPixel, Dummy_HLine, Dummy_VLine,
89 0, 0, Dummy_StretchBlt, Dummy_TransparentBlt,
90 0, Dummy_AlphaBlend
91 }
92 };
93
94
95 VOID Dummy_PutPixel(SURFOBJ* SurfObj, LONG x, LONG y, ULONG c)
96 {
97 return;
98 }
99
100 ULONG Dummy_GetPixel(SURFOBJ* SurfObj, LONG x, LONG y)
101 {
102 return 0;
103 }
104
105 VOID Dummy_HLine(SURFOBJ* SurfObj, LONG x1, LONG x2, LONG y, ULONG c)
106 {
107 return;
108 }
109
110 VOID Dummy_VLine(SURFOBJ* SurfObj, LONG x, LONG y1, LONG y2, ULONG c)
111 {
112 return;
113 }
114
115 BOOLEAN Dummy_BitBlt(PBLTINFO BltInfo)
116 {
117 return FALSE;
118 }
119
120 BOOLEAN Dummy_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
121 SURFOBJ *PatternSurface, SURFOBJ *MaskSurf,
122 RECTL* DestRect, RECTL *SourceRect,
123 POINTL* MaskOrigin, BRUSHOBJ* Brush,
124 POINTL* BrushOrign,
125 XLATEOBJ *ColorTranslation,
126 ROP4 Rop)
127 {
128 return FALSE;
129 }
130
131 BOOLEAN Dummy_TransparentBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
132 RECTL* DestRect, RECTL *SourceRect,
133 XLATEOBJ *ColorTranslation, ULONG iTransColor)
134 {
135 return FALSE;
136 }
137
138 BOOLEAN Dummy_ColorFill(SURFOBJ* Dest, RECTL* DestRect, ULONG Color)
139 {
140 return FALSE;
141 }
142
143
144 BOOLEAN
145 Dummy_AlphaBlend(SURFOBJ* Dest, SURFOBJ* Source, RECTL* DestRect,
146 RECTL* SourceRect, CLIPOBJ* ClipRegion,
147 XLATEOBJ* ColorTranslation, BLENDOBJ* BlendObj)
148 {
149 return FALSE;
150 }
151
152 /* EOF */