Hint added.
[AROS.git] / workbench / c / Decoration / config.h
blob71b8f0f6e4aa61a0f716f5b6ba14f3724cd20451
1 /*
2 Copyright 2011-2012, The AROS Development Team.
3 $Id$
4 */
6 #ifndef CONFIG_H
7 #define CONFIG_H
9 #include <exec/types.h>
11 struct DecorConfig
13 STRPTR ThemePath;
15 /* Screen Section */
16 LONG LeftBorder;
17 LONG RightBorder;
18 LONG BottomBorder;
19 LONG SLogoOffset;
20 LONG STitleOffset;
21 LONG SBarHeight;
22 LONG SBarChildPre_o;
23 LONG SBarChildPre_s;
24 LONG SBarChildFill_o;
25 LONG SBarChildFill_s;
26 LONG SBarChildPost_o;
27 LONG SBarChildPost_s;
28 LONG SBarGadPre_o;
29 LONG SBarGadPre_s;
30 LONG SBarGadFill_o;
31 LONG SBarGadFill_s;
32 LONG SBarGadPost_o;
33 LONG SBarGadPost_s;
34 BOOL STitleOutline;
35 BOOL STitleShadow;
36 LONG LUTBaseColors_a;
37 LONG LUTBaseColors_d;
38 LONG STitleColorText;
39 LONG STitleColorShadow;
41 /* Window Section */
42 LONG WinFrameStyle;
43 BOOL BarRounded;
44 BOOL BarVertical;
45 LONG BarHeight;
46 LONG BarJoinTB_o;
47 LONG BarJoinTB_s;
48 LONG BarPreGadget_o;
49 LONG BarPreGadget_s;
50 LONG BarPre_o;
51 LONG BarPre_s;
52 LONG BarLGadgetFill_o;
53 LONG BarLGadgetFill_s;
54 LONG BarJoinGB_o;
55 LONG BarJoinGB_s;
56 LONG BarLFill_o;
57 LONG BarLFill_s;
58 LONG BarJoinBT_o;
59 LONG BarJoinBT_s;
60 LONG BarTitleFill_o;
61 LONG BarTitleFill_s;
62 LONG BarRFill_o;
63 LONG BarRFill_s;
64 LONG BarJoinBG_o;
65 LONG BarJoinBG_s;
66 LONG BarRGadgetFill_o;
67 LONG BarRGadgetFill_s;
68 LONG BarPostGadget_o;
69 LONG BarPostGadget_s;
70 LONG BarPost_o;
71 LONG BarPost_s;
72 LONG ContainerTop_o;
73 LONG ContainerTop_s;
74 LONG ContainerVertTile_o;
75 LONG ContainerVertTile_s;
76 LONG ContainerBottom_o;
77 LONG ContainerBottom_s;
78 LONG KnobTop_o;
79 LONG KnobTop_s;
80 LONG KnobTileTop_o;
81 LONG KnobTileTop_s;
82 LONG KnobVertGripper_o;
83 LONG KnobVertGripper_s;
84 LONG KnobTileBottom_o;
85 LONG KnobTileBottom_s;
86 LONG KnobBottom_o;
87 LONG KnobBottom_s;
88 LONG ContainerLeft_o;
89 LONG ContainerLeft_s;
90 LONG ContainerHorTile_o;
91 LONG ContainerHorTile_s;
92 LONG ContainerRight_o;
93 LONG ContainerRight_s;
94 LONG KnobLeft_o;
95 LONG KnobLeft_s;
96 LONG KnobTileLeft_o;
97 LONG KnobTileLeft_s;
98 LONG KnobHorGripper_o;
99 LONG KnobHorGripper_s;
100 LONG KnobTileRight_o;
101 LONG KnobTileRight_s;
102 LONG KnobRight_o;
103 LONG KnobRight_s;
104 BOOL GadgetsThreeState;
105 BOOL TitleOutline;
106 BOOL TitleShadow;
107 BOOL FillTitleBar;
108 LONG TitleColorText;
109 LONG TitleColorShadow;
110 BOOL BarMasking;
111 BOOL CloseGadgetOnRight;
112 BOOL UseGradients;
113 LONG BottomBorderGadgets; /* size with gadgets */
114 LONG RightBorderGadgets; /* size with gadgets */
115 LONG UpDownAddY;
116 LONG LeftRightAddX;
117 LONG ActivatedGradientColor_s;
118 LONG ActivatedGradientColor_e;
119 LONG ActivatedGradientColor_a;
120 LONG DeactivatedGradientColor_s;
121 LONG DeactivatedGradientColor_e;
122 LONG DeactivatedGradientColor_a;
123 LONG ShadeValues_l; /* light */
124 LONG ShadeValues_m; /* middle */
125 LONG ShadeValues_d; /* dark */
126 LONG BaseColors_a;
127 LONG BaseColors_d;
129 /* Window Section - not used */
130 LONG SizeAddX;
131 LONG SizeAddY;
132 LONG UpDownAddX;
133 LONG LeftRightAddY;
134 LONG BottomBorderNoGadgets; /* size without gadgets */
135 LONG RightBorderNoGadgets; /* size without gadgets */
136 LONG HorizScrollerHeight;
137 LONG ScrollerInnerSpacing;
139 /* Menu Section */
140 BOOL MenuIsTiled;
141 LONG MenuTileLeft;
142 LONG MenuTileTop;
143 LONG MenuTileRight;
144 LONG MenuTileBottom;
145 ULONG MenuHighlightTint;
147 /* Menu Section - not used */
148 LONG MenuInnerLeft;
149 LONG MenuInnerTop;
150 LONG MenuInnerRight;
151 LONG MenuInnerBottom;
154 struct DecorConfig * LoadConfig(STRPTR path);
155 void FreeConfig(struct DecorConfig * dc);
157 /* Holds all images used for screen, window and menu decoration */
158 struct DecorImages
160 struct NewImage *img_sdepth;
161 struct NewImage *img_sbarlogo;
162 struct NewImage *img_stitlebar;
164 struct NewImage *img_size;
165 struct NewImage *img_close;
166 struct NewImage *img_depth;
167 struct NewImage *img_zoom;
168 struct NewImage *img_up;
169 struct NewImage *img_down;
170 struct NewImage *img_left;
171 struct NewImage *img_right;
172 struct NewImage *img_mui;
173 struct NewImage *img_popup;
174 struct NewImage *img_snapshot;
175 struct NewImage *img_iconify;
176 struct NewImage *img_lock;
177 struct NewImage *img_winbar_normal;
178 struct NewImage *img_border_normal;
179 struct NewImage *img_border_deactivated;
180 struct NewImage *img_verticalcontainer;
181 struct NewImage *img_verticalknob;
182 struct NewImage *img_horizontalcontainer;
183 struct NewImage *img_horizontalknob;
185 struct NewImage *img_menu;
186 struct NewImage *img_amigakey;
187 struct NewImage *img_menucheck;
188 struct NewImage *img_submenu;
191 struct DecorImages * NewImages();
192 struct DecorImages * LoadImages(struct DecorConfig * dc);
193 void FreeImages(struct DecorImages * dc);
194 #endif