20b1e2b5499c8202406170dadc5bf50183f09e66
[blender.git] / source / blender / editors / include / ED_space_api.h
1 /**
2  * $Id:
3  *
4  * ***** BEGIN GPL LICENSE BLOCK *****
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version. 
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19  *
20  * The Original Code is Copyright (C) 2008 Blender Foundation.
21  * All rights reserved.
22  *
23  * 
24  * Contributor(s): Blender Foundation
25  *
26  * ***** END GPL LICENSE BLOCK *****
27  */
28
29 #ifndef ED_SPACE_API_H
30 #define ED_SPACE_API_H
31
32 struct ARegionType;
33 struct bContext;
34
35 /* the pluginnable API for export to editors */
36
37 /* calls for registering default spaces */
38 void ED_spacetype_outliner(void);
39 void ED_spacetype_time(void);
40 void ED_spacetype_view3d(void);
41 void ED_spacetype_ipo(void);
42 void ED_spacetype_image(void);
43 void ED_spacetype_node(void);
44 void ED_spacetype_buttons(void);
45 void ED_spacetype_info(void);
46 void ED_spacetype_file(void);
47 void ED_spacetype_sound(void);
48 void ED_spacetype_action(void);
49 void ED_spacetype_nla(void);
50 void ED_spacetype_script(void);
51 void ED_spacetype_text(void);
52 void ED_spacetype_sequencer(void);
53
54 /* calls for instancing and freeing spacetype static data 
55    called in WM_init_exit */
56 /* in space_file.c */
57 void ED_file_init(void);
58 void ED_file_exit(void);
59
60 #define REGION_DRAW_PRE         1
61 #define REGION_DRAW_POST        0
62
63 void *ED_region_draw_cb_activate(struct ARegionType *, 
64                                                                  void   (*draw)(const struct bContext *, struct ARegion *),
65                                                                  int type);
66 void ED_region_draw_cb_draw(const struct bContext *, struct ARegion *, int);
67 void ED_region_draw_cb_exit(struct ARegionType *, void *);
68
69 #endif /* ED_SPACE_API_H */
70