Fix for bug [#13479] Particle system "corrupts" when changing material colour and...
[blender.git] / source / blender / include / BIF_space.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) 2001-2002 by NaN Holding BV.
21  * All rights reserved.
22  *
23  * The Original Code is: all of this file.
24  *
25  * Contributor(s): none yet.
26  *
27  * ***** END GPL LICENSE BLOCK *****
28  */
29
30 #ifndef BIF_SPACE_H
31 #define BIF_SPACE_H
32
33 struct ListBase;
34 struct ScrArea;
35 struct SpaceButs;
36 struct View2D;
37 struct BWinEvent;
38 struct SpaceOops;
39
40 #define REMAKEIPO               1
41 #define OOPS_TEST               2
42
43 #define BUT_HORIZONTAL  1
44 #define BUT_VERTICAL    2
45
46 /* is hardcoded in DNA_space_types.h */
47 #define SPACE_MAXHANDLER        8
48
49 /* view3d handler codes */
50 #define VIEW3D_HANDLER_BACKGROUND       1
51 #define VIEW3D_HANDLER_PROPERTIES       2
52 #define VIEW3D_HANDLER_OBJECT           3
53 #define VIEW3D_HANDLER_PREVIEW          4
54 #define VIEW3D_HANDLER_MULTIRES         5
55 #define VIEW3D_HANDLER_TRANSFORM        6
56
57 /* ipo handler codes */
58 #define IPO_HANDLER_PROPERTIES  20
59
60 /* image handler codes */
61 #define IMAGE_HANDLER_PROPERTIES        30
62 #define IMAGE_HANDLER_PAINT                     31
63 #define IMAGE_HANDLER_CURVES            32
64 #define IMAGE_HANDLER_PREVIEW           33
65 #define IMAGE_HANDLER_GAME_PROPERTIES   34
66 #define IMAGE_HANDLER_VIEW_PROPERTIES   35
67 /*#define IMAGE_HANDLER_TRANSFORM_PROPERTIES    36*/
68
69 /* action handler codes */
70 #define ACTION_HANDLER_PROPERTIES       40
71
72 /* nla handler codes */
73 #define NLA_HANDLER_PROPERTIES  50
74
75 /* sequence handler codes */
76 #define SEQ_HANDLER_PROPERTIES  60
77
78 /* imasel handler codes */
79 #define IMASEL_HANDLER_IMAGE    70
80
81 /* theme codes */
82 #define B_ADD_THEME     3301
83 #define B_DEL_THEME     3302
84 #define B_NAME_THEME    3303
85 #define B_THEMECOL              3304
86 #define B_UPDATE_THEME  3305
87 #define B_CHANGE_THEME  3306
88 #define B_THEME_COPY    3307
89 #define B_THEME_PASTE   3308
90 #define B_UPDATE_THEME_ICONS    3309
91
92 #define B_RECALCLIGHT   3310
93
94
95 void    scrarea_do_winprefetchdraw      (struct ScrArea *sa);
96 void    scrarea_do_windraw              (struct ScrArea *sa);
97 void    scrarea_do_winchange    (struct ScrArea *sa);
98 void    scrarea_do_winhandle    (struct ScrArea *sa, struct BWinEvent *evt);
99 void    scrarea_do_headdraw             (struct ScrArea *sa);
100 void    scrarea_do_headchange   (struct ScrArea *sa);
101
102 /* space.c */
103 extern          void add_blockhandler(struct ScrArea *sa, short eventcode, short action);
104 extern          void rem_blockhandler(struct ScrArea *sa, short eventcode);
105 extern          void toggle_blockhandler(struct ScrArea *sa, short eventcode, short action);
106
107 extern           void space_set_commmandline_options(void);
108 extern       void allqueue(unsigned short event, short val);
109 extern       void allspace(unsigned short event, short val);
110 extern       void copy_view3d_lock(short val);
111 extern       void drawemptyspace(struct ScrArea *sa, void *spacedata);
112 extern       void drawinfospace(struct ScrArea *sa, void *spacedata);
113 extern       void duplicatespacelist(struct ScrArea *area, struct ListBase *lb1, struct ListBase *lb2);
114 extern       void extern_set_butspace(int fkey, int do_cycle);
115 extern       void force_draw(int header);
116 extern           void force_draw_all(int header);
117 extern           void force_draw_plus(int type, int header);
118 extern       void freespacelist(struct ScrArea *sa);
119 extern       void handle_view3d_around(void);
120 extern       void handle_view3d_lock(void);
121 extern           void handle_view_middlemouse(void);
122 extern       void init_v2d_oops(struct ScrArea *, struct SpaceOops *);
123 extern       void initipo(struct ScrArea *sa);
124 extern       void newspace(struct ScrArea *sa, int type);
125 extern       void set_rects_butspace(struct SpaceButs *buts);
126 extern       void test_butspace(void);
127 extern       void start_game(void);
128 extern           void select_object_grouped(short nr);
129 extern           void join_menu(void);
130
131 extern          void BIF_undo_push(char *str);
132 extern          void BIF_undo(void);
133 extern          void BIF_redo(void);
134 extern          void BIF_undo_menu(void);
135
136 #if 0
137 //#ifdef _WIN32 // FULLSCREEN
138 extern           void mainwindow_toggle_fullscreen(int fullscreen);
139 #endif
140
141 extern           void mainwindow_set_filename_to_title(char *title);
142 extern           void mainwindow_raise(void);
143 extern           void mainwindow_make_active(void);
144 extern           void mainwindow_close(void);
145
146 #endif
147