5 #undef WIN32_LEAN_AND_MEAN
8 #include <win32k/kapi.h>
26 return W32kBitBlt(hDCDest
, XDest
, YDest
, Width
, Height
, hDCSrc
, XSrc
, YSrc
, ROP
);
35 CreateBitmap(INT Width
,
41 return W32kCreateBitmap(Width
, Height
, Planes
, BitsPerPel
, Bits
);
50 CreateBitmapIndirect(CONST BITMAP
*BM
)
52 return W32kCreateBitmapIndirect(BM
);
61 CreateCompatibleBitmap(HDC hDC
,
65 return W32kCreateCompatibleBitmap(hDC
, Width
, Height
);
74 CreateDiscardableBitmap(HDC hDC
,
78 return W32kCreateDiscardableBitmap(hDC
, Width
, Height
);
87 CreateDIBitmap(HDC hDC
,
88 CONST BITMAPINFOHEADER
*bmih
,
91 CONST BITMAPINFO
*bmi
,
94 return W32kCreateDIBitmap(hDC
, bmih
, Init
, bInit
, bmi
, Usage
);
103 GetBitmapBits(HBITMAP hBitmap
,
107 return W32kGetBitmapBits(hBitmap
, Count
, Bits
);
116 GetBitmapDimensionEx(HBITMAP hBitmap
,
119 return W32kGetBitmapDimensionEx(hBitmap
, Dimension
);
136 return W32kGetDIBits(hDC
, hBitmap
, StartScan
, ScanLines
, Bits
, bi
, Usage
);
158 return W32kMaskBlt(hDCDest
, XDest
, YDest
, Width
, Height
, hDCSrc
, XSrc
, YSrc
, hMaskBitmap
, xMask
, yMask
, ROP
);
178 return W32kPlgBlt(hDCDest
, Point
, hDCSrc
, XSrc
, YSrc
, Width
, Height
, hMaskBitmap
, xMask
, yMask
);
187 SetBitmapBits(HBITMAP hBitmap
,
191 return W32kSetBitmapBits(hBitmap
, Bytes
, Bits
);
205 CONST BITMAPINFO
*bmi
,
208 return W32kSetDIBits(hDC
, hBitmap
, StartScan
, ScanLines
, Bits
, bmi
, ColorUse
);
217 SetDIBitsToDevice(HDC hDC
,
227 CONST BITMAPINFO
*bmi
,
230 return W32kSetDIBitsToDevice(hDC
, XDest
, YDest
, Width
, Height
, XSrc
, YSrc
, StartScan
, ScanLines
,
231 Bits
, bmi
, ColorUse
);
241 HDC hdcDest
, // handle to destination DC
242 int nXOriginDest
, // x-coord of destination upper-left corner
243 int nYOriginDest
, // y-coord of destination upper-left corner
244 int nWidthDest
, // width of destination rectangle
245 int nHeightDest
, // height of destination rectangle
246 HDC hdcSrc
, // handle to source DC
247 int nXOriginSrc
, // x-coord of source upper-left corner
248 int nYOriginSrc
, // y-coord of source upper-left corner
249 int nWidthSrc
, // width of source rectangle
250 int nHeightSrc
, // height of source rectangle
251 DWORD dwRop
// raster operation code
254 //SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
255 if ( (nWidthDest
==nWidthSrc
) && (nHeightDest
==nHeightSrc
) )
257 return BitBlt(hdcDest
,
258 nXOriginDest
, // x-coord of destination upper-left corner
259 nYOriginDest
, // y-coord of destination upper-left corner
260 nWidthDest
, // width of destination rectangle
261 nHeightDest
, // height of destination rectangle
262 hdcSrc
, // handle to source DC
263 nXOriginSrc
, // x-coordinate of source upper-left corner
264 nYOriginSrc
, // y-coordinate of source upper-left corner
265 dwRop
// raster operation code
269 DPRINT1("FIXME: StretchBlt can only Blt, not Stretch!\n");
279 StretchDIBits(HDC hDC
,
289 CONST BITMAPINFO
*BitsInfo
,
293 return W32kStretchDIBits(hDC
, XDest
, YDest
, DestWidth
, DestHeight
, XSrc
, YSrc
,
294 SrcWidth
, SrcHeight
, Bits
, BitsInfo
, Usage
, ROP
);
303 CreateDIBSection(HDC hDC
,
304 CONST BITMAPINFO
*bmi
,
310 return W32kCreateDIBSection(hDC
, bmi
, Usage
, Bits
, hSection
, dwOffset
);
324 return W32kSetPixel(hDC
, X
, Y
, Color
);
332 PatBlt(HDC hDC
, INT Top
, INT Left
, INT Width
, INT Height
, ULONG Rop
)
334 return(W32kPatBlt(hDC
, Top
, Left
, Width
, Height
, Rop
));
342 PolyPatBlt(HDC hDC
,DWORD dwRop
,PPATRECT pRects
,int cRects
,ULONG Reserved
)
347 for (i
= 0;i
<cRects
;i
++)
349 hBrOld
= SelectObject(hDC
,r
.hBrush
);
351 PatBlt(hDC
,r
.r
.top
,r
.r
.left
,r
.r
.bottom
-r
.r
.top
,r
.r
.right
-r
.r
.left
,dwRop
);
352 pRects
+=sizeof(PATRECT
);
353 SelectObject(hDC
,hBrOld
);
363 BOOL STDCALL W32kExtFloodFill(HDC hDC, INT XStart, INT YStart, COLORREF Color, UINT FillType)
364 BOOL STDCALL W32kFloodFill(HDC hDC, INT XStart, INT YStart, COLORREF Fill)
365 UINT STDCALL W32kGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors)
366 COLORREF STDCALL W32kGetPixel(HDC hDC,
369 BOOL STDCALL W32kSetBitmapDimensionEx(HBITMAP hBitmap,
373 UINT STDCALL W32kSetDIBColorTable(HDC hDC,
376 CONST RGBQUAD *Colors)
377 BOOL STDCALL W32kSetPixelV(HDC hDC,
381 BOOL STDCALL W32kStretchBlt(HDC hDCDest,
393 INT BITMAPOBJ_GetWidthBytes (INT bmWidth, INT bpp)
394 HBITMAP BITMAPOBJ_CopyBitmap(HBITMAP hBitmap)
395 int DIB_GetDIBWidthBytes(int width, int depth)
396 int DIB_GetDIBImageBytes (int width, int height, int depth)
397 int DIB_BitmapInfoSize (const BITMAPINFO * info, WORD coloruse)