1 #ifndef INTUITION_MENUDECORCLASS_H
2 #define INTUITION_MENUDECORCLASS_H
5 Copyright 1995-2001, The AROS Development Team. All rights reserved.
8 Desc: Headerfile for Intuitions' MENUDECORCLASS
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 MENUDECORCLASS */
29 #define MDA_Dummy (TAG_USER + 0x22000)
30 #define MDA_DrawInfo (WDA_Dummy + 1) /* I.G */
31 #define MDA_Screen (WDA_Dummy + 2) /* I.G */
32 #define MDA_TrueColorOnly (WDA_Dummy + 3) /* ..G */
33 #define MDA_UserBuffer (WDA_Dummy + 4) /* I.G */
36 /* Methods for MENUDECORCLASS */
37 #define MDM_Dummy (MDA_Dummy + 500)
39 #define MDM_GETDEFSIZE_SYSIMAGE (MDM_Dummy + 1)
40 #define MDM_DRAW_SYSIMAGE (MDM_Dummy + 2)
41 #define MDM_GETMENUSPACES (MDM_Dummy + 3)
42 #define MDM_DRAWBACKGROUND (MDM_Dummy + 4)
43 #define MDM_INITMENU (MDM_Dummy + 5)
44 #define MDM_EXITMENU (MDM_Dummy + 6)
46 struct mdpGetDefSizeSysImage
48 STACKED ULONG MethodID
;
49 STACKED BYTE mdp_TrueColor
;
50 STACKED
struct DrawInfo
*mdp_Dri
;
51 STACKED
struct TextFont
*mdp_ReferenceFont
; /* In: */
52 STACKED ULONG mdp_Which
; /* In: One of CLOSEIMAGE, SIZEIMAGE, ... */
53 STACKED ULONG mdp_SysiSize
; /* In: lowres/medres/highres */
54 STACKED ULONG
*mdp_Width
; /* Out */
55 STACKED ULONG
*mdp_Height
; /* Out */
56 STACKED ULONG mdp_Flags
;
59 struct mdpDrawSysImage
61 STACKED ULONG MethodID
;
62 STACKED BYTE mdp_TrueColor
;
63 STACKED
struct DrawInfo
*mdp_Dri
;
64 STACKED
struct RastPort
*mdp_RPort
;
67 STACKED LONG mdp_Width
;
68 STACKED LONG mdp_Height
;
69 STACKED ULONG mdp_Which
;
70 STACKED ULONG mdp_State
;
71 STACKED ULONG mdp_Flags
;
72 STACKED IPTR mdp_UserBuffer
;
75 struct mdpGetMenuSpaces
77 STACKED LONG MethodID
;
78 STACKED BYTE mdp_TrueColor
;
79 STACKED LONG mdp_InnerLeft
; /* Out */
80 STACKED LONG mdp_InnerTop
; /* Out */
81 STACKED LONG mdp_InnerRight
;
82 STACKED LONG mdp_InnerBottom
;
83 STACKED LONG mdp_ItemInnerLeft
;
84 STACKED LONG mdp_ItemInnerTop
;
85 STACKED LONG mdp_ItemInnerRight
;
86 STACKED LONG mdp_ItemInnerBottom
;
87 STACKED LONG mdp_MinWidth
;
88 STACKED LONG mdp_MinHeight
;
91 /* The sdpDrawSysImage struct in scrdecorclass.h must match this one!!! */
93 struct mdpDrawBackground
95 STACKED ULONG MethodID
;
96 STACKED BYTE mdp_TrueColor
;
97 STACKED
struct RastPort
*mdp_RPort
;
100 STACKED LONG mdp_Width
;
101 STACKED LONG mdp_Height
;
102 STACKED LONG mdp_ItemLeft
;
103 STACKED LONG mdp_ItemTop
;
104 STACKED LONG mdp_ItemWidth
;
105 STACKED LONG mdp_ItemHeight
;
106 STACKED UWORD mdp_Flags
;
107 STACKED IPTR mdp_UserBuffer
;
112 STACKED LONG MethodID
;
113 STACKED BYTE mdp_TrueColor
;
114 STACKED
struct RastPort
*mdp_RPort
;
115 STACKED
struct Screen
*mdp_Screen
;
116 STACKED ULONG mdp_Left
;
117 STACKED ULONG mdp_Top
;
118 STACKED ULONG mdp_Width
;
119 STACKED LONG mdp_Height
;
120 STACKED IPTR mdp_UserBuffer
;
121 STACKED IPTR mdp_ScreenUserBuffer
;
126 STACKED LONG MethodID
;
127 STACKED BYTE mdp_TrueColor
;
128 STACKED IPTR mdp_UserBuffer
;
133 #define MDP_STATE_NORMAL 0
134 #define MDP_STATE_SELECTED 1
135 #define MDP_STATE_DISABLED 2
137 #endif /* INTUITION_MENUDECORCLASS_H */