Check for SYS/GL during library init. Reason is that
[AROS.git] / workbench / libs / popupmenu / prefs.h
blobe49a47df1496da3e0fd855083ea1a7eb9e6ea31a
1 //
2 // Menu Prefs
3 //
5 #ifndef PM_PREFS_H
6 #define PM_PREFS_H
8 /// Pens
9 #define PM_TEXTPEN 0x0002
10 #define PM_SHINEPEN 0x0003
11 #define PM_SHADOWPEN 0x0004
12 #define PM_FILLPEN 0x0005
13 #define PM_FILLTEXTPEN 0x0006
14 #define PM_BACKGROUNDPEN 0x0007
15 #define PM_HIGHLIGHTTEXTPEN 0x0008 // MENU TITLE
16 #define PM_MENUTEXT 0x0009 // OUTLINE/SHADOW
17 #define PM_MENUFILL 0x000A
18 #define PM_MENUTRIM 0x000B
19 #define PM_HALFSHINE 0x000C
20 #define PM_HALFSHADOW 0x000D
22 #define MAX_PENS 0x000E
23 ///
25 typedef struct VPTR { union { ULONG pos; STRPTR ptr }; } VPTR;
27 /// PM_RGB
28 struct PM_RGB {
29 ULONG Red;
30 ULONG Green;
31 ULONG Blue;
33 ///
35 /// MenuPrefs
36 struct MenuPrefs {
37 ULONG ID;
38 UWORD Version;
39 UWORD Revision;
41 BOOL OBSOLETE1;
43 ULONG Subtime; // Delay for submenus
44 BOOL SameHeight; // All items same height
45 BOOL OldStyle; // Old Look
46 UBYTE RecSel; // >1 = Recess Selected, 0 = no selborder, 1 = raised
47 BOOL WideSelBar; // Wide Select Bar
48 BOOL Compact; // Smallest possible
49 BOOL WideMenu; // Make the menu wider
51 BOOL UseDriPens; // Use DrawInfo pens
52 struct PM_RGB Colors[MAX_PENS];
54 /* Version 2.00 */
56 BOOL OpenOnDown; // Open menu when the mouse button is pressed
58 /* Version 3.00 */
60 ULONG SubMenuImg; //
61 ULONG CheckImg; //
62 ULONG ExcludeImg; //
64 /* Version 4.00 */
66 BOOL Shadows; // Menu shadows
68 /* Version 5.00 */
70 BOOL UseWindows; // Use windows instead of blitter
72 /* Version 6.00 */
74 ULONG ColorPrecision;
76 /* Version 7.00 */
78 UWORD MenuBorder; // Menu Border
80 /* Version 8.00 */
82 ULONG AmigaImg; // AmigaKey Image
84 /* Version 10.00 */
86 UBYTE ImgName[48]; // Name of ImgTable
88 LONG ImgTable[150]; // Seek pos to images - struct size
90 /* Version 11.00 */
92 BOOL Sticky;
94 /* Version 12.00 */
96 UWORD TitlePatch; // Title text style
97 BOOL RealShadows; // Enable/Disable hi-/truecolor shadows
99 UBYTE SelBarX; // Spacing between selbar (pm->left/top)
100 UBYTE SelBarY; // and text/image
102 UBYTE XSpacing; // Spacing between borders and items
103 UBYTE YSpacing; //
105 UWORD TextPatch; // Item text style
107 BOOL WinBar; // Pulldown at window bar
108 BYTE Popup; // Pop up pulldowns
110 BOOL BlitImg; // Blit images
112 /* Version 13.00 */
114 UBYTE Intermediate; // Spacing between items
115 BYTE TextDisplace; // Text displacement
116 BYTE ShadeR; //
117 BYTE ShadeG; // Shadow intensity
118 BYTE ShadeB; //
120 UBYTE Reserved[16];
124 /// PrefsImage
125 struct PrefsImage {
126 WORD LeftEdge; // 0
127 WORD TopEdge; // 2
128 WORD Width; // 4
129 WORD Height; // 6
131 VPTR Pattern; // 8
132 VPTR Tag; // C
133 VPTR UserData; // 10
135 UBYTE Type; // 14
136 UBYTE Flags; // 15
137 UWORD Res; // 16
139 union {
140 struct PMPI_Chunky {
141 VPTR SelData;
142 VPTR UnSelData;
143 } Chunky;
144 struct PMPI_TrueColour {
145 VPTR SelData;
146 VPTR UnSelData;
147 ULONG ChromaKey;
148 } TrueColor;
153 /// Images
154 #define CHECKMARK_IMG 0
155 #define RIGHTARROW_IMG 1
156 #define MXIMAGE_IMG 2
157 #define CHECKIMAGE_IMG 3
158 #define AMIGAKEY_IMG 4
159 #define BULLET_A_IMG 5
160 #define BULLET_B_IMG 6
161 #define ARROW_A_IMG 7
162 #define ARROW_B_IMG 8
163 #define ARROW_C_IMG 9
164 #define MMCHECK_IMG 10
165 #define MMAMIGA_IMG 11
166 #define MMSUB_IMG 12
167 #define MMEXCLUDE_IMG 13
169 #define PREFSIMAGE_IMG 100 // Add to actual img number
172 /// Frames
173 #define BUTTON_FRAME 0
174 #define MAGIC_FRAME 1
175 #define THICK_BUTTON_FRAME 2
176 #define DOUBLE_FRAME 3
177 #define DROPBOX_FRAME 4
178 #define INTUI_FRAME 5
181 /// TextPatch
182 #define TP_CENTER 0x0001
183 #define TP_UNDERLINE 0x0002
184 #define TP_BOLD 0x0004
185 #define TP_SHINE 0x0008
186 #define TP_SHADOW 0x0010
187 #define TP_TEXT 0x0020
188 #define TP_HILITE 0x0040
189 #define TP_SHADOWED 0x0080
190 #define TP_LEFT 0x0100
191 #define TP_RIGHT 0x0200
192 #define TP_EMBOSS 0x0400
193 #define TP_KILLBAR 0x0800
194 #define TP_OUTLINE 0x1000
195 #define TP_ACTIVATE 0x8000
198 /// File name/ID
199 #define PMP_ID (0x504d4e55)
200 #define PMP_PATH "ENV:PopupMenu.cfg"
201 #define PMP_S_PATH "ENVARC:PopupMenu.cfg"
204 #endif