* Merged changes in the trunk up to revision 33492.
[blender.git] / source / blender / blenkernel / BKE_main.h
1 /**
2  * blenlib/BKE_main.h (mar-2001 nzc)
3  *
4  * Main is the root of the 'database' of a Blender context. All data
5  * is stuffed into lists, and all these lists are knotted to here. A
6  * Blender file is not much more but a binary dump of these
7  * lists. This list of lists is not serialized itself.
8  *
9  * Oops... this should be a _types.h file.
10  *
11  * $Id$ 
12  *
13  * ***** BEGIN GPL LICENSE BLOCK *****
14  *
15  * This program is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU General Public License
17  * as published by the Free Software Foundation; either version 2
18  * of the License, or (at your option) any later version.
19  *
20  * This program is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23  * GNU General Public License for more details.
24  *
25  * You should have received a copy of the GNU General Public License
26  * along with this program; if not, write to the Free Software Foundation,
27  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
28  *
29  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
30  * All rights reserved.
31  *
32  * The Original Code is: all of this file.
33  *
34  * Contributor(s): none yet.
35  *
36  * ***** END GPL LICENSE BLOCK *****
37  */
38 #ifndef BKE_MAIN_H
39 #define BKE_MAIN_H
40
41 #include "DNA_listBase.h"
42
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46
47 struct Library;
48
49 typedef struct Main {
50         struct Main *next, *prev;
51         char name[240];
52         short versionfile, subversionfile;
53         short minversionfile, minsubversionfile;
54         
55         struct Library *curlib;
56         ListBase scene;
57         ListBase library;
58         ListBase object;
59         ListBase mesh;
60         ListBase curve;
61         ListBase mball;
62         ListBase mat;
63         ListBase tex;
64         ListBase image;
65         ListBase latt;
66         ListBase lamp;
67         ListBase camera;
68         ListBase ipo;   // XXX depreceated
69         ListBase key;
70         ListBase world;
71         ListBase screen;
72         ListBase script;
73         ListBase vfont;
74         ListBase text;
75         ListBase sound;
76         ListBase group;
77         ListBase armature;
78         ListBase action;
79         ListBase nodetree;
80         ListBase brush;
81         ListBase particle;
82         ListBase wm;
83         ListBase gpencil;
84         ListBase linestyle;
85
86         char id_tag_update[256];
87 } Main;
88
89
90 #ifdef __cplusplus
91 }
92 #endif
93
94 #endif
95