3529eddd6d9c2d53cae5a18e3d1f56c88bab6c6c
[blender-staging.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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 void ED_spacetype_logic(void);
54 void ED_spacetype_console(void);
55 void ED_spacetype_userpref(void);
56
57 /* calls for instancing and freeing spacetype static data 
58    called in WM_init_exit */
59 /* in space_file.c */
60 void ED_file_init(void);
61 void ED_file_exit(void);
62
63 #define REGION_DRAW_POST_VIEW   0
64 #define REGION_DRAW_POST_PIXEL  1
65 #define REGION_DRAW_PRE_VIEW    2
66
67 void *ED_region_draw_cb_activate(struct ARegionType *, 
68                                                                  void   (*draw)(const struct bContext *, struct ARegion *, void *),
69                                                                  void *custumdata, int type);
70 void ED_region_draw_cb_draw(const struct bContext *, struct ARegion *, int);
71 void ED_region_draw_cb_exit(struct ARegionType *, void *);
72 void *ED_region_draw_cb_customdata(void *handle);
73
74 #endif /* ED_SPACE_API_H */
75