:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[reactos.git] / include / win32k / brush.h
1 #ifndef __WIN32K_BRUSH_H
2 #define __WIN32K_BRUSH_H
3
4 #include <win32k/gdiobj.h>
5
6 /*  Internal interface  */
7
8 #define NB_HATCH_STYLES  6
9
10 #define  BRUSHOBJ_AllocBrush()  \
11   ((HBRUSH) GDIOBJ_AllocObj (sizeof (BRUSHOBJ), GO_BRUSH_MAGIC))
12 #define  BRUSHOBJ_FreeBrush(hBrush)  GDIOBJ_FreeObj((HGDIOBJ)hBrush, GO_BRUSH_MAGIC, GDIOBJFLAG_DEFAULT)
13 /*#define  BRUSHOBJ_HandleToPtr(hBrush)  \
14   ((PBRUSHOBJ) GDIOBJ_HandleToPtr ((HGDIOBJ) hBrush, GO_BRUSH_MAGIC))
15 #define  BRUSHOBJ_PtrToHandle(pBrushObj)  \
16   ((HBRUSH) GDIOBJ_PtrToHandle ((PGDIOBJ) pBrushObj, GO_BRUSH_MAGIC))
17 */
18 #define  BRUSHOBJ_LockBrush(hBrush) ((PBRUSHOBJ)GDIOBJ_LockObj((HGDIOBJ)hBrush, GO_BRUSH_MAGIC))
19 #define  BRUSHOBJ_UnlockBrush(hBrush) GDIOBJ_UnlockObj((HGDIOBJ)hBrush, GO_BRUSH_MAGIC)
20
21 HBRUSH
22 STDCALL
23 W32kCreateBrushIndirect (
24         CONST LOGBRUSH  * lb
25         );
26 HBRUSH
27 STDCALL
28 W32kCreateDIBPatternBrush (
29         HGLOBAL hDIBPacked,
30         UINT    ColorSpec
31         );
32 HBRUSH
33 STDCALL
34 W32kCreateDIBPatternBrushPt (
35         CONST VOID      * PackedDIB,
36         UINT            Usage
37         );
38 HBRUSH
39 STDCALL
40 W32kCreateHatchBrush (
41         INT             Style,
42         COLORREF        Color
43         );
44 HBRUSH
45 STDCALL
46 W32kCreatePatternBrush (
47         HBITMAP hBitmap
48         );
49 HBRUSH
50 STDCALL
51 W32kCreateSolidBrush (
52         COLORREF        Color
53         );
54 BOOL
55 STDCALL
56 W32kFixBrushOrgEx (
57         VOID
58         );
59 BOOL
60 STDCALL
61 W32kPatBlt (
62         HDC     hDC,
63         INT     XLeft,
64         INT     YLeft,
65         INT     Width,
66         INT     Height,
67         DWORD   ROP
68         );
69 BOOL
70 STDCALL
71 W32kSetBrushOrgEx (
72         HDC     hDC,
73         INT     XOrg,
74         INT     YOrg,
75         LPPOINT Point
76         );
77 #endif
78