Pydrivers: Ipo Drivers controlled by Python expressions
[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 void BPY_do_pyscript (struct ID *id, short int event);
67 void BPY_clear_script (struct Script *script);
68 void BPY_free_compiled_text (struct Text *text);
69 void BPY_free_screen_spacehandlers (struct bScreen *sc);
70 /* ipo.c: */
71 float BPY_pydriver_eval(struct IpoDriver *driver);
72 /* depsgraph.c: */
73 struct Object **BPY_pydriver_get_objects(struct IpoDriver *driver);
74
75 /* writefile.c */
76 struct Oops;
77 void free_oops(struct Oops *oops);
78 void error(char *str, ...);
79
80 /* anim.c */
81 extern struct ListBase editNurb;
82
83 void mainqenter (unsigned short event, short val);
84 void waitcursor(int);
85 void allqueue(unsigned short event, short val);
86 #define REDRAWVIEW3D    0x4010
87 #define REDRAWBUTSEDIT  0x4019
88 struct Material;
89 extern struct Material defmaterial;
90
91
92 /* exotic.c */
93 void load_editMesh(void);
94 void make_editMesh(void);
95 struct EditMesh;
96 void free_editMesh(struct EditMesh *);
97 void free_editArmature(void);
98 void docentre_new(void);
99 int saveover(char *str);
100
101 /* image.c */
102 #include "DNA_image_types.h"
103 void free_realtime_image(Image *ima); // has to become a callback, opengl stuff
104
105 /* ipo.c */
106 void copy_view3d_lock(short val);       // was a hack, to make scene layer ipo's possible
107
108 /* library.c */
109 void allspace(unsigned short event, short val) ;
110 #define OOPS_TEST             2
111
112 /* mball.c */
113 extern struct ListBase editelems;
114
115 /* object.c */
116 struct ScriptLink;
117 void BPY_free_scriptlink(struct ScriptLink *slink);
118 void BPY_copy_scriptlink(struct ScriptLink *scriptlink);
119 float *give_cursor(void);  // become a callback or argument
120 void exit_posemode(int freedata);
121
122 /* packedFile.c */
123 short pupmenu(char *instr);  // will be general callback
124
125 /* sca.c */
126 #define LEFTMOUSE    0x001      // because of mouse sensor
127
128 /* scene.c */
129 #include "DNA_sequence_types.h"
130 void free_editing(struct Editing *ed);  // scenes and sequences problem...
131 void BPY_do_all_scripts (short int event);
132 int BPY_call_importloader(char *name);
133
134
135 extern char texstr[20][12];     /* buttons.c */
136
137
138 /* editsca.c */
139 void make_unique_prop_names(char *str);
140
141 /* DerivedMesh.c */
142 void bglBegin(int mode);
143 void bglVertex3fv(float *vec);
144 void bglVertex3f(float x, float y, float z);
145 void bglEnd(void);
146
147 struct DispListMesh;
148 struct Object;
149 struct DispListMesh *NewBooleanMeshDLM(struct Object *ob, struct Object *ob_select, int int_op_type);
150
151 #endif
152