:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[reactos.git] / include / win32k / pen.h
1
2 #ifndef __WIN32K_PEN_H
3 #define __WIN32K_PEN_H
4
5 #include <win32k/gdiobj.h>
6
7 /* GDI logical pen object */
8 typedef struct
9 {
10    LOGPEN    logpen;
11 } PENOBJ, *PPENOBJ;
12
13 /*  Internal interface  */
14
15 #define  PENOBJ_AllocPen()  \
16   ((HPEN) GDIOBJ_AllocObj (sizeof (PENOBJ), GO_PEN_MAGIC))
17 #define  PENOBJ_FreePen(hBMObj)  GDIOBJ_FreeObj((HGDIOBJ) hBMObj, GO_PEN_MAGIC, GDIOBJFLAG_DEFAULT)
18 /*
19 #define  PENOBJ_HandleToPtr(hBMObj)  \
20   ((PPENOBJ) GDIOBJ_HandleToPtr ((HGDIOBJ) hBMObj, GO_PEN_MAGIC))
21 #define  PENOBJ_PtrToHandle(hBMObj)  \
22   ((HPEN) GDIOBJ_PtrToHandle ((PGDIOBJ) hBMObj, GO_PEN_MAGIC))
23 */
24 #define  PENOBJ_LockPen(hBMObj) ((PPENOBJ)GDIOBJ_LockObj ((HGDIOBJ) hBMObj, GO_PEN_MAGIC))
25 #define  PENOBJ_UnlockPen(hBMObj) GDIOBJ_UnlockObj ((HGDIOBJ) hBMObj, GO_PEN_MAGIC)
26
27 HPEN STDCALL W32kCreatePen(INT  PenStyle,
28                     INT  Width,
29                     COLORREF  Color);
30
31 HPEN STDCALL W32kCreatePenIndirect(CONST PLOGPEN  lgpn);
32
33 HPEN STDCALL W32kExtCreatePen(DWORD  PenStyle,
34                        DWORD  Width,
35                        CONST PLOGBRUSH  lb,
36                        DWORD  StyleCount,
37                        CONST PDWORD  Style);
38
39 #endif
40