1 #ifndef INTUITION_WINDECORCLASS_H
2 #define INTUITION_WINDECORCLASS_H
5 Copyright 1995-2001, The AROS Development Team. All rights reserved.
8 Desc: Headerfile for Intuitions' WINDECORCLASS
12 #ifndef UTILITY_TAGITEM_H
13 # include <utility/tagitem.h>
16 #ifndef INTUITION_IMAGECLASS_H
17 # include <intuition/imageclass.h>
20 #ifndef INTUITION_INTUITION_H
21 # include <intuition/intuition.h>
24 #ifndef INTUITION_SCREENS_H
25 # include <intuition/screens.h>
28 /* Attributes for WINDECORCLASS */
29 #define WDA_Dummy (TAG_USER + 0x22000)
30 #define WDA_DrawInfo (WDA_Dummy + 1) /* I.G */
31 #define WDA_Screen (WDA_Dummy + 2) /* I.G */
32 #define WDA_TrueColorOnly (WDA_Dummy + 3) /* ..G */
33 #define WDA_UserBuffer (WDA_Dummy + 4) /* I.G */
36 /* Methods for WINDECORCLASS */
37 #define WDM_Dummy (WDA_Dummy + 500)
39 #define WDM_SETUP (WDM_Dummy + 1)
40 #define WDM_CLEANUP (WDM_Dummy + 2)
41 #define WDM_GETDEFSIZE_SYSIMAGE (WDM_Dummy + 3)
42 #define WDM_DRAW_SYSIMAGE (WDM_Dummy + 4)
43 #define WDM_DRAW_WINBORDER (WDM_Dummy + 5)
44 #define WDM_LAYOUT_BORDERGADGETS (WDM_Dummy + 6)
45 #define WDM_DRAW_BORDERPROPBACK (WDM_Dummy + 7)
46 #define WDM_DRAW_BORDERPROPKNOB (WDM_Dummy + 8)
47 #define WDM_INITWINDOW (WDM_Dummy + 9)
48 #define WDM_EXITWINDOW (WDM_Dummy + 10)
49 #define WDM_WINDOWSHAPE (WDM_Dummy + 11)
52 struct wdpGetDefSizeSysImage
54 STACKED ULONG MethodID
;
55 STACKED BYTE wdp_TrueColor
;
56 STACKED
struct DrawInfo
*wdp_Dri
;
57 STACKED
struct TextFont
*wdp_ReferenceFont
; /* In: */
58 STACKED ULONG wdp_Which
; /* In: One of CLOSEIMAGE, SIZEIMAGE, ... */
59 STACKED ULONG wdp_SysiSize
; /* In: lowres/medres/highres */
60 STACKED ULONG
*wdp_Width
; /* Out */
61 STACKED ULONG
*wdp_Height
; /* Out */
62 STACKED ULONG wdp_Flags
;
63 STACKED IPTR wdp_UserBuffer
;
67 /* The sdpDrawSysImage struct in scrdecorclass.h must match this one!!! */
69 struct wdpDrawSysImage
71 STACKED ULONG MethodID
;
72 STACKED BYTE wdp_TrueColor
;
73 STACKED
struct DrawInfo
*wdp_Dri
;
74 STACKED
struct RastPort
*wdp_RPort
;
77 STACKED LONG wdp_Width
;
78 STACKED LONG wdp_Height
;
79 STACKED ULONG wdp_Which
;
80 STACKED ULONG wdp_State
;
81 STACKED ULONG wdp_Flags
;
82 STACKED IPTR wdp_UserBuffer
;
85 struct wdpDrawWinBorder
87 STACKED ULONG MethodID
;
88 STACKED BYTE wdp_TrueColor
;
89 STACKED
struct DrawInfo
*wdp_Dri
;
90 STACKED
struct Window
*wdp_Window
;
91 STACKED
struct RastPort
*wdp_RPort
;
92 STACKED ULONG wdp_Flags
;
93 STACKED IPTR wdp_UserBuffer
;
96 struct wdpLayoutBorderGadgets
98 STACKED ULONG MethodID
;
99 STACKED BYTE wdp_TrueColor
;
100 STACKED
struct DrawInfo
*wdp_Dri
;
101 STACKED
struct Window
*wdp_Window
;
102 STACKED
struct Gadget
*wdp_Gadgets
;
103 STACKED ULONG wdp_Flags
;
104 STACKED ULONG wdp_ExtraButtons
;
105 STACKED IPTR wdp_UserBuffer
;
108 struct wdpDrawBorderPropBack
110 STACKED ULONG MethodID
;
111 STACKED BYTE wdp_TrueColor
;
112 STACKED
struct DrawInfo
*wdp_Dri
;
113 STACKED
struct Window
*wdp_Window
;
114 STACKED
struct RastPort
*wdp_RPort
;
115 STACKED
struct Gadget
*wdp_Gadget
;
116 STACKED
struct Rectangle
*wdp_RenderRect
;
117 STACKED
struct Rectangle
*wdp_PropRect
;
118 STACKED
struct Rectangle
*wdp_KnobRect
;
119 STACKED ULONG wdp_Flags
;
120 STACKED IPTR wdp_UserBuffer
;
123 struct wdpDrawBorderPropKnob
125 STACKED ULONG MethodID
;
126 STACKED BYTE wdp_TrueColor
;
127 STACKED
struct DrawInfo
*wdp_Dri
;
128 STACKED
struct Window
*wdp_Window
;
129 STACKED
struct RastPort
*wdp_RPort
;
130 STACKED
struct Gadget
*wdp_Gadget
;
131 STACKED
struct Rectangle
*wdp_RenderRect
;
132 STACKED
struct Rectangle
*wdp_PropRect
;
133 STACKED ULONG wdp_Flags
;
134 STACKED IPTR wdp_UserBuffer
;
139 STACKED ULONG MethodID
;
140 STACKED BYTE wdp_TrueColor
;
141 STACKED IPTR wdp_UserBuffer
;
142 STACKED
struct Screen
*wdp_Screen
;
143 STACKED IPTR wdp_ScreenUserBuffer
;
148 STACKED ULONG MethodID
;
149 STACKED BYTE wdp_TrueColor
;
150 STACKED IPTR wdp_UserBuffer
;
153 struct wdpWindowShape
155 STACKED ULONG MethodID
;
156 STACKED BYTE wdp_TrueColor
;
157 STACKED
struct Window
*wdp_Window
;
158 STACKED LONG wdp_Width
;
159 STACKED LONG wdp_Height
;
160 STACKED IPTR wdp_UserBuffer
;
163 /* WinDecor DrawWindowBorder Flags */
164 #define WDF_DWB_TOP_ONLY 1 /* Draw top border only */
166 /* WinDecor DrawWinTitle Title Align */
167 #define WD_DWTA_LEFT 0
168 #define WD_DWTA_RIGHT 1
169 #define WD_DWTA_CENTER 2
171 /* WinDecor LayourBorderGadgets Flags */
172 #define WDF_LBG_INITIAL 1 /* First time == During OpenWindow */
173 #define WDF_LBG_SYSTEMGADGET 2 /* Is a system gadget (close/depth/zoom) */
174 #define WDF_LBG_INGADLIST 4 /* Gadget is already in window gadget list */
175 #define WDF_LBG_MULTIPLE 8 /* There may be multiple gadgets (linked
176 together through NextGadget. Follow it) */
177 /* WinDecor DrawBorderPropKnob Flags */
178 #define WDF_DBPK_HIT 1 /* Knob is hit / in use by user*/
180 #endif /* INTUITION_WINDECORCLASS_H */