:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[reactos.git] / 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 */