Fix for bug #7872: setting particles disp to 100 has no effect.
[blender.git] / source / blender / blenkernel / BKE_bad_level_calls.h
1 /**
2  * blenlib/BKE_bad_level_calls.h (mar-2001 nzc)
3  *      
4  * Stuff that definitely does not belong in the kernel! These will all
5  * have to be removed in order to restore sanity.
6  *
7  * $Id$ 
8  *
9  * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
10  *
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU General Public License
13  * as published by the Free Software Foundation; either version 2
14  * of the License, or (at your option) any later version. The Blender
15  * Foundation also sells licenses for use in proprietary software under
16  * the Blender License.  See http://www.blender.org/BL/ for information
17  * about this.
18  *
19  * This program is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  * GNU General Public License for more details.
23  *
24  * You should have received a copy of the GNU General Public License
25  * along with this program; if not, write to the Free Software Foundation,
26  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
27  *
28  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
29  * All rights reserved.
30  *
31  * The Original Code is: all of this file.
32  *
33  * Contributor(s): none yet.
34  *
35  * ***** END GPL/BL DUAL LICENSE BLOCK *****
36  */
37 #ifndef BKE_BAD_LEVEL_CALLS_H
38 #define BKE_BAD_LEVEL_CALLS_H
39
40 /* blender.c */
41 void freeAllRad(void);
42 void free_editText(void);
43 void free_vertexpaint(void);
44
45 /* readfile.c */
46 struct SpaceButs;
47 void set_rects_butspace(struct SpaceButs *buts);
48 struct SpaceImaSel;
49 void check_imasel_copy(struct SpaceImaSel *simasel);
50 struct ScrArea;
51 struct bScreen;
52 void unlink_screen(struct bScreen *sc);
53 void setscreen(struct bScreen *sc);
54 void force_draw_all(int);
55   /* otherwise the WHILE_SEQ doesn't work */
56 struct Sequence;
57 struct ListBase;
58 void build_seqar(struct ListBase *seqbase, struct Sequence  ***seqar, int *totseq);
59
60 /* BPython API */
61 struct ID;
62 struct Script;
63 struct Text;
64 struct IpoDriver; /* DNA_curve_types.h */
65 struct Object;
66 struct bPythonConstraint;
67 struct bConstraintOb;
68 struct bConstraintTarget;
69 void BPY_do_pyscript (struct ID *id, short int event);
70 void BPY_clear_script (struct Script *script);
71 void BPY_free_compiled_text (struct Text *text);
72 /* pydrivers */
73 struct Object **BPY_pydriver_get_objects(struct IpoDriver *driver);
74 float BPY_pydriver_eval(struct IpoDriver *driver);
75 void BPY_pydriver_update(void);
76 /* button python evaluation */
77 int BPY_button_eval(char *expr, double *value);
78 /* pyconstraints */
79 void BPY_pyconstraint_eval(struct bPythonConstraint *con, struct bConstraintOb *cob, struct ListBase *targets);
80 void BPY_pyconstraint_targets(struct bPythonConstraint *con, struct bConstraintTarget *ct);
81
82
83 /* writefile.c */
84 struct Oops;
85 void free_oops(struct Oops *oops);
86 void error(char *str, ...);
87
88 /* anim.c */
89 extern struct ListBase editNurb;
90
91 void mainqenter (unsigned short event, short val);
92 void waitcursor(int);
93 void allqueue(unsigned short event, short val);
94 #define REDRAWVIEW3D            0x4010
95 #define REDRAWBUTSOBJECT        0x4018
96 #define REDRAWBUTSEDIT          0x4019
97 struct Material;
98 extern struct Material defmaterial;
99
100
101 /* exotic.c */
102 void load_editMesh(void);
103 void make_editMesh(void);
104 struct EditMesh;
105 void free_editMesh(struct EditMesh *);
106 void free_editArmature(void);
107 void docenter_new(void);
108 int saveover(char *str);
109
110 /* image.c */
111 #include "DNA_image_types.h"
112 void free_realtime_image(Image *ima); // has to become a callback, opengl stuff
113
114 /* ipo.c */
115 void copy_view3d_lock(short val);       // was a hack, to make scene layer ipo's possible
116
117 /* library.c */
118 void allspace(unsigned short event, short val) ;
119 #define OOPS_TEST             2
120
121 /* mball.c */
122 extern struct ListBase editelems;
123
124 /* object.c */
125 struct ScriptLink;
126 void BPY_free_scriptlink(struct ScriptLink *slink);
127 void BPY_copy_scriptlink(struct ScriptLink *scriptlink);
128 float *give_cursor(void);  // become a callback or argument
129 void exit_posemode(int freedata);
130
131 /* packedFile.c */
132 short pupmenu(char *instr);  // will be general callback
133
134 /* sca.c */
135 #define LEFTMOUSE    0x001      // because of mouse sensor
136
137 /* scene.c */
138 #include "DNA_sequence_types.h"
139 void free_editing(struct Editing *ed);  // scenes and sequences problem...
140 void BPY_do_all_scripts (short int event);
141 int BPY_call_importloader(char *name);
142
143
144 extern char texstr[20][12];     /* buttons.c */
145
146
147 /* editsca.c */
148 void make_unique_prop_names(char *str);
149
150 /* DerivedMesh.c */
151 void bglBegin(int mode);
152 void bglVertex3fv(float *vec);
153 void bglVertex3f(float x, float y, float z);
154 void bglEnd(void);
155
156 struct Object;
157
158 /* booleanops.c */
159 struct DerivedMesh *NewBooleanDerivedMesh(struct Object *ob,
160                                 struct Object *ob_select, int int_op_type);
161
162 /* verse_*.c */
163 struct VerseVert;
164 struct VerseFace;
165 struct VerseSession;
166 struct VNode;
167 struct VTag;
168 struct VTagGroup;
169 struct VBitmapLayer;
170 struct VLink;
171 struct VLayer;
172 struct Mesh;
173
174 void post_vertex_create(struct VerseVert *vvert);
175 void post_vertex_set_xyz(struct VerseVert *vvert);
176 void post_vertex_delete(struct VerseVert *vvert);
177 void post_vertex_free_constraint(struct VerseVert *vvert);
178 void post_polygon_create(struct VerseFace *vface);
179 void post_polygon_set_corner(struct VerseFace *vface);
180 void post_polygon_delete(struct VerseFace *vface);
181 void post_polygon_free_constraint(struct VerseFace *vface);
182 void post_polygon_set_uint8(struct VerseFace *vface);
183 void post_node_create(struct VNode *vnode);
184 void post_node_destroy(struct VNode *vnode);
185 void post_node_name_set(struct VNode *vnode);
186 void post_tag_change(struct VTag *vtag);
187 void post_taggroup_create(struct VTagGroup *vtaggroup);
188 char *verse_client_name(void);
189 void post_transform(struct VNode *vnode);
190 void post_transform_pos(struct VNode *vnode);
191 void post_transform_rot(struct VNode *vnode);
192 void post_transform_scale(struct VNode *vnode);
193 void post_object_free_constraint(struct VNode *vnode);
194 void post_link_set(struct VLink *vlink);
195 void post_link_destroy(struct VLink *vlink);
196 void post_connect_accept(struct VerseSession *session);
197 void post_connect_terminated(struct VerseSession *session);
198 void post_connect_update(struct VerseSession *session);
199 void add_screenhandler(struct bScreen *sc, short eventcode, short val);
200 void post_bitmap_dimension_set(struct VNode *vnode);
201 void post_bitmap_layer_create(struct VBitmapLayer *vblayer);
202 void post_bitmap_layer_destroy(struct VBitmapLayer *vblayer);
203 void post_bitmap_tile_set(struct VBitmapLayer *vblayer, unsigned int xs, unsigned int ys);
204 void create_meshdata_from_geom_node(struct Mesh *me, struct VNode *vnode);
205 void post_geometry_free_constraint(struct VNode *vnode);
206 void post_layer_create(struct VLayer *vlayer);
207 void post_layer_destroy(struct VLayer *vlayer);
208 void post_server_add(void);
209
210 /* multires.c */
211 struct Multires;
212 struct MultiresLevel;
213 struct MultiresLevel *multires_level_n(struct Multires *mr, int n);
214 void multires_free(struct Multires *mr);
215 void multires_set_level(struct Object *ob, struct Mesh *me, const int render);
216 void multires_update_levels(struct Mesh *me, const int render);
217 void multires_calc_level_maps(struct MultiresLevel *lvl);
218 struct Multires *multires_copy(struct Multires *orig);
219 /* sculptmode.c */
220 void sculptmode_free_all(struct Scene *sce);
221 void sculptmode_init(struct Scene *sce);
222
223 /* zbuf.c */
224 void antialias_tagbuf(int xsize, int ysize, char *rectmove);
225
226 /* imagetexture.c */
227 void ibuf_sample(struct ImBuf *ibuf, float fx, float fy, float dx, float dy, float *result);
228
229 /* modifier.c */
230 struct MeshDeformModifierData;
231
232 void harmonic_coordinates_bind(struct MeshDeformModifierData *mmd,
233         float (*vertexcos)[3], int totvert, float cagemat[][4]);
234
235 /* particle.c */
236 struct ParticleSystem;
237
238 void PE_free_particle_edit(struct ParticleSystem *psys);
239 void PE_get_colors(char sel[4], char nosel[4]);
240 void PE_recalc_world_cos(struct Object *ob, struct ParticleSystem *psys);
241
242 #endif
243