Don't reinitialize the VGA on an enable surface if it is already initialized
[reactos.git] / reactos / lib / gdi32 / objects / bitblt.c
1 #ifdef UNICODE
2 #undef UNICODE
3 #endif
4
5 #undef WIN32_LEAN_AND_MEAN
6 #include <windows.h>
7 #include <ddk/ntddk.h>
8 #include <win32k/kapi.h>
9
10 BOOL
11 STDCALL
12 BitBlt(HDC hDCDest,
13 INT XDest,
14 INT YDest,
15 INT Width,
16 INT Height,
17 HDC hDCSrc,
18 INT XSrc,
19 INT YSrc,
20 DWORD ROP)
21 {
22 return W32kBitBlt(hDCDest, XDest, YDest, Width, Height, hDCSrc, XSrc, YSrc, ROP);
23 }
24
25 HBITMAP
26 STDCALL
27 CreateBitmap(INT Width,
28 INT Height,
29 UINT Planes,
30 UINT BitsPerPel,
31 CONST VOID *Bits)
32 {
33 return W32kCreateBitmap(Width, Height, Planes, BitsPerPel, Bits);
34 }
35
36 HBITMAP
37 STDCALL
38 CreateBitmapIndirect(CONST BITMAP *BM)
39 {
40 return W32kCreateBitmapIndirect(BM);
41 }
42
43 HBITMAP
44 STDCALL
45 CreateCompatibleBitmap(HDC hDC,
46 INT Width,
47 INT Height)
48 {
49 return W32kCreateCompatibleBitmap(hDC, Width, Height);
50 }
51
52 HBITMAP
53 STDCALL
54 CreateDiscardableBitmap(HDC hDC,
55 INT Width,
56 INT Height)
57 {
58 return W32kCreateDiscardableBitmap(hDC, Width, Height);
59 }
60
61 HBITMAP
62 STDCALL
63 CreateDIBitmap(HDC hDC,
64 CONST BITMAPINFOHEADER *bmih,
65 DWORD Init,
66 CONST VOID *bInit,
67 CONST BITMAPINFO *bmi,
68 UINT Usage)
69 {
70 return W32kCreateDIBitmap(hDC, bmih, Init, bInit, bmi, Usage);
71 }
72
73 LONG
74 STDCALL
75 GetBitmapBits(HBITMAP hBitmap,
76 LONG Count,
77 LPVOID Bits)
78 {
79 return W32kGetBitmapBits(hBitmap, Count, Bits);
80 }
81
82 BOOL
83 STDCALL
84 GetBitmapDimensionEx(HBITMAP hBitmap,
85 LPSIZE Dimension)
86 {
87 return W32kGetBitmapDimensionEx(hBitmap, Dimension);
88 }
89
90 int
91 STDCALL
92 GetDIBits(HDC hDC,
93 HBITMAP hBitmap,
94 UINT StartScan,
95 UINT ScanLines,
96 LPVOID Bits,
97 LPBITMAPINFO bi,
98 UINT Usage)
99 {
100 return W32kGetDIBits(hDC, hBitmap, StartScan, ScanLines, Bits, bi, Usage);
101 }
102
103 BOOL
104 STDCALL
105 MaskBlt(HDC hDCDest,
106 INT XDest,
107 INT YDest,
108 INT Width,
109 INT Height,
110 HDC hDCSrc,
111 INT XSrc,
112 INT YSrc,
113 HBITMAP hMaskBitmap,
114 INT xMask,
115 INT yMask,
116 DWORD ROP)
117 {
118 return W32kMaskBlt(hDCDest, XDest, YDest, Width, Height, hDCSrc, XSrc, YSrc, hMaskBitmap, xMask, yMask, ROP);
119 }
120
121 BOOL
122 STDCALL
123 PlgBlt(HDC hDCDest,
124 CONST POINT *Point,
125 HDC hDCSrc,
126 INT XSrc,
127 INT YSrc,
128 INT Width,
129 INT Height,
130 HBITMAP hMaskBitmap,
131 INT xMask,
132 INT yMask)
133 {
134 return W32kPlgBlt(hDCDest, Point, hDCSrc, XSrc, YSrc, Width, Height, hMaskBitmap, xMask, yMask);
135 }
136
137 LONG
138 STDCALL
139 SetBitmapBits(HBITMAP hBitmap,
140 DWORD Bytes,
141 CONST VOID *Bits)
142 {
143 return W32kSetBitmapBits(hBitmap, Bytes, Bits);
144 }
145
146 int
147 STDCALL
148 SetDIBits(HDC hDC,
149 HBITMAP hBitmap,
150 UINT StartScan,
151 UINT ScanLines,
152 CONST VOID *Bits,
153 CONST BITMAPINFO *bmi,
154 UINT ColorUse)
155 {
156 return W32kSetDIBits(hDC, hBitmap, StartScan, ScanLines, Bits, bmi, ColorUse);
157 }
158
159 int
160 STDCALL
161 SetDIBitsToDevice(HDC hDC,
162 INT XDest,
163 INT YDest,
164 DWORD Width,
165 DWORD Height,
166 INT XSrc,
167 INT YSrc,
168 UINT StartScan,
169 UINT ScanLines,
170 CONST VOID *Bits,
171 CONST BITMAPINFO *bmi,
172 UINT ColorUse)
173 {
174 return W32kSetDIBitsToDevice(hDC, XDest, YDest, Width, Height, XSrc, YSrc, StartScan, ScanLines,
175 Bits, bmi, ColorUse);
176 }
177
178 int
179 STDCALL
180 StretchDIBits(HDC hDC,
181 INT XDest,
182 INT YDest,
183 INT DestWidth,
184 INT DestHeight,
185 INT XSrc,
186 INT YSrc,
187 INT SrcWidth,
188 INT SrcHeight,
189 CONST VOID *Bits,
190 CONST BITMAPINFO *BitsInfo,
191 UINT Usage,
192 DWORD ROP)
193 {
194 return W32kStretchDIBits(hDC, XDest, YDest, DestWidth, DestHeight, XSrc, YSrc,
195 SrcWidth, SrcHeight, Bits, BitsInfo, Usage, ROP);
196 }
197
198 HBITMAP
199 STDCALL
200 CreateDIBSection(HDC hDC,
201 CONST BITMAPINFO *bmi,
202 UINT Usage,
203 VOID *Bits,
204 HANDLE hSection,
205 DWORD dwOffset)
206 {
207 return W32kCreateDIBSection(hDC, bmi, Usage, Bits, hSection, dwOffset);
208 }
209
210 COLORREF
211 STDCALL
212 SetPixel(HDC hDC,
213 INT X,
214 INT Y,
215 COLORREF Color)
216 {
217 return W32kSetPixel(hDC, X, Y, Color);
218 }
219
220 BOOL STDCALL
221 PatBlt(HDC hDC, INT Top, INT Left, INT Width, INT Height, ULONG Rop)
222 {
223 return(W32kPatBlt(hDC, Top, Left, Width, Height, Rop));
224 }
225
226
227
228
229 /*
230
231 BOOL STDCALL W32kExtFloodFill(HDC hDC, INT XStart, INT YStart, COLORREF Color, UINT FillType)
232 BOOL STDCALL W32kFloodFill(HDC hDC, INT XStart, INT YStart, COLORREF Fill)
233 UINT STDCALL W32kGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors)
234 COLORREF STDCALL W32kGetPixel(HDC hDC,
235 INT XPos,
236 INT YPos)
237 BOOL STDCALL W32kSetBitmapDimensionEx(HBITMAP hBitmap,
238 INT Width,
239 INT Height,
240 LPSIZE Size)
241 UINT STDCALL W32kSetDIBColorTable(HDC hDC,
242 UINT StartIndex,
243 UINT Entries,
244 CONST RGBQUAD *Colors)
245 BOOL STDCALL W32kSetPixelV(HDC hDC,
246 INT X,
247 INT Y,
248 COLORREF Color)
249 BOOL STDCALL W32kStretchBlt(HDC hDCDest,
250 INT XOriginDest,
251 INT YOriginDest,
252 INT WidthDest,
253 INT HeightDest,
254 HDC hDCSrc,
255 INT XOriginSrc,
256 INT YOriginSrc,
257 INT WidthSrc,
258 INT HeightSrc,
259 DWORD ROP)
260
261 INT BITMAPOBJ_GetWidthBytes (INT bmWidth, INT bpp)
262 HBITMAP BITMAPOBJ_CopyBitmap(HBITMAP hBitmap)
263 int DIB_GetDIBWidthBytes(int width, int depth)
264 int DIB_GetDIBImageBytes (int width, int height, int depth)
265 int DIB_BitmapInfoSize (const BITMAPINFO * info, WORD coloruse)
266
267 */