- further work on theme colors:
[blender.git] / source / blender / makesdna / DNA_userdef_types.h
1 /**
2  * blenkernel/DNA_userdef_types.h (mar-2001 nzc)
3  *
4  *      $Id$
5  *
6  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version. The Blender
12  * Foundation also sells licenses for use in proprietary software under
13  * the Blender License.  See http://www.blender.org/BL/ for information
14  * about this.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software Foundation,
23  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
24  *
25  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
26  * All rights reserved.
27  *
28  * The Original Code is: all of this file.
29  *
30  * Contributor(s): none yet.
31  *
32  * ***** END GPL/BL DUAL LICENSE BLOCK *****
33 */
34
35 #ifndef DNA_USERDEF_TYPES_H
36 #define DNA_USERDEF_TYPES_H
37
38 /* themes; defines in BIF_resource.h */
39
40 // global, button colors
41
42 typedef struct ThemeUI {
43         char back[4];
44         char text[4];
45
46 } ThemeUI;
47
48 // try to put them all in one, if needed a spacial struct can be created as well
49 // for example later on, when we introduce wire colors for ob types or so...
50 typedef struct ThemeSpace {
51         char back[4];
52         char text[4];   
53         char text_hi[4];
54         char header[4];
55         char panel[4];
56         
57         char shade1[4];
58         char shade2[4];
59         
60         char hilite[4];
61         char grid[4]; 
62         
63         char wire[4], select[4];
64         char active[4], transform[4];
65         char vertex[4], vertex_select[4];
66         char edge[4], edge_select[4];
67         char face[4], face_select[4];
68         
69         char vertex_size, pad;
70         short pad1;
71         
72 } ThemeSpace;
73
74
75 typedef struct bTheme {
76         struct bTheme *next, *prev;
77         char name[32];
78         
79         ThemeUI tui;
80         
81         ThemeSpace tbuts;       
82         ThemeSpace tv3d;
83         ThemeSpace tfile;
84         ThemeSpace tipo;
85         ThemeSpace tinfo;       
86         ThemeSpace tsnd;
87         ThemeSpace tact;
88         ThemeSpace tnla;
89         ThemeSpace tseq;
90         ThemeSpace tima;
91         ThemeSpace timasel;
92         ThemeSpace text;
93         ThemeSpace toops;
94         
95 } bTheme;
96
97 typedef struct UserDef {
98         short flag, dupflag;
99         int savetime;
100         char tempdir[160];      // FILE_MAXDIR length
101         char fontdir[160];
102         char renderdir[160];
103         char textudir[160];
104         char plugtexdir[160];
105         char plugseqdir[160];
106         char pythondir[160];
107         char sounddir[160];
108         short versions, vrmlflag;       // tmp for export, will be replaced by strubi
109         int gameflags;
110         int wheellinescroll;
111         short uiflag, language;
112         int userpref;
113         short console_buffer;   //console vars here for tuhopuu compat, --phase
114         short console_out;
115         int mixbufsize;
116         int fontsize;
117         short encoding;
118         short transopts;
119         short menuthreshold1, menuthreshold2;
120         char fontname[64];
121         struct ListBase themes;
122 } UserDef;
123
124 extern UserDef U; /* from usiblender.c !!!! */
125
126 /* ***************** USERDEF ****************** */
127
128 /* flag */
129 #define AUTOSAVE                1
130 #define AUTOGRABGRID    2
131 #define AUTOROTGRID             4
132 #define AUTOSIZEGRID    8
133 #define SCENEGLOBAL             16
134 #define TRACKBALL               32
135 #define DUPLILINK               64
136 #define FSCOLLUM                128
137 #define MAT_ON_OB               256
138 #define NO_CAPSLOCK             512
139 #define VIEWMOVE                1024
140 #define TOOLTIPS                2048
141 #define TWOBUTTONMOUSE  4096
142 #define NONUMPAD                8192
143
144 /* uiflag */
145
146 #define KEYINSERTACT    1
147 #define KEYINSERTOBJ    2
148 #define WHEELZOOMDIR    4
149 #define FILTERFILEEXTS  8
150 #define DRAWVIEWINFO    16
151 #define EVTTOCONSOLE    32              //print ghost events, here for tuhopuu compat. --phase
152 #define FLIPINFOMENU    64
153 #define FLIPFULLSCREEN  128
154 #define ALLWINCODECS    256
155 #define MENUOPENAUTO    512
156
157 /* transopts */
158
159 #define TR_TOOLTIPS             1
160 #define TR_BUTTONS              2
161 #define TR_MENUS                4
162 #define TR_FILESELECT   8
163 #define TR_TEXTEDIT             16
164 #define TR_ALL                  32
165
166 /* dupflag */
167
168 #define DUPMESH                 1
169 #define DUPCURVE                2
170 #define DUPSURF                 4
171 #define DUPFONT                 8
172 #define DUPMBALL                16
173 #define DUPLAMP                 32
174 #define DUPIPO                  64
175 #define DUPMAT                  128
176 #define DUPTEX                  256
177 #define DUPARM                  512
178 #define DUPACT                  1024
179
180 /* gameflags */
181
182 #define USERDEF_VERTEX_ARRAYS_BIT        0
183 #define USERDEF_DISABLE_SOUND_BIT        1
184 #define USERDEF_DISABLE_MIPMAP_BIT       2
185
186 #define USERDEF_VERTEX_ARRAYS        (1 << USERDEF_VERTEX_ARRAYS_BIT)
187 #define USERDEF_DISABLE_SOUND        (1 << USERDEF_DISABLE_SOUND_BIT)
188 #define USERDEF_DISABLE_MIPMAP       (1 << USERDEF_DISABLE_MIPMAP_BIT)
189
190 /* vrml flag */
191
192 #define USERDEF_VRML_LAYERS             1
193 #define USERDEF_VRML_AUTOSCALE  2
194 #define USERDEF_VRML_TWOSIDED   4
195
196 #endif
197