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