Initial revision

This commit is contained in:
Hans Lambermont
2002-10-12 11:37:38 +00:00
commit 12315f4d0e
1699 changed files with 444708 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BDR_DRAWACTION_H
#define BDR_DRAWACTION_H
struct BezTriple;
struct Ipo;
struct gla2DDrawInfo;
struct bAction;
struct Object;
void draw_cfra_action(void);
void draw_bevel_but(int x, int y, int w, int h, int sel);
void draw_ipo_channel(struct gla2DDrawInfo *di, struct Ipo *ipo, int flags, float ypos);
void draw_action_channel(struct gla2DDrawInfo *di, struct bAction *act, int flags, float ypos);
void draw_object_channel(struct gla2DDrawInfo *di, struct Object *ob, int flags, float ypos);
#endif /* BDR_DRAWACTION_H */

View File

@@ -0,0 +1,81 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BDR_DRAWMESH_H
#define BDR_DRAWMESH_H
struct Image;
struct TFace;
struct Object;
struct Mesh;
/**
* Enables or disable mipmapping for realtime images (textures).
* Note that this will will destroy all texture bindings in OpenGL.
* @see free_realtime_image()
* @param mipmap Turn mipmapping on (mipmap!=0) or off (mipmap==0).
*/
void set_mipmap(int mipmap);
/**
* Returns the current setting for mipmapping.
*/
int get_mipmap(void);
/**
* Enables or disable linear mipmap setting for realtime images (textures).
* Note that this will will destroy all texture bindings in OpenGL.
* @see free_realtime_image()
* @param mipmap Turn linear mipmapping on (linear!=0) or off (linear==0).
*/
void set_linear_mipmap(int linear);
/**
* Returns the current setting for linear mipmapping.
*/
int get_linear_mipmap(void);
/**
* Resets the realtime image cache variables.
*/
void clear_realtime_image_cache();
void free_realtime_image(struct Image *ima);
void free_all_realtime_images(void);
void make_repbind(struct Image *ima);
int set_tpage(struct TFace *tface);
void spack(unsigned int ucol);
void draw_tfaces3D(struct Object *ob, struct Mesh *me);
void draw_tface_mesh(struct Object *ob, struct Mesh *me, int dt);
void init_realtime_GL(void);
#endif /* BDR_DRAWMESH_H */

View File

@@ -0,0 +1,67 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BDR_DRAWOBJECT_H
#define BDR_DRAWOBJECT_H
#ifdef __cplusplus
extern "C" {
#endif
struct Object;
struct Nurb;
struct Lamp;
struct ListBase;
struct BoundBox;
struct Base;
void init_draw_rects(void);
void helpline(float *vec);
void drawaxes(float size);
void drawcamera(struct Object *ob);
void calc_lattverts_ext(void);
void calc_meshverts(void);
void calc_meshverts_ext(void);
void calc_nurbverts_ext(void);
void tekenvertices(short sel);
void tekenvertices_ext(int mode);
void drawcircball(float *cent, float rad, float tmat[][4]);
void get_local_bounds(struct Object *ob, float *centre, float *size);
void draw_object(struct Base *base);
void draw_object_ext(struct Base *base);
#ifdef __cplusplus
}
#endif
#endif /* BDR_DRAWOBJECT_H */

View File

@@ -0,0 +1,93 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BDR_EDITCURVE_H
#define BDR_EDITCURVE_H
struct Curve;
struct Nurb;
struct BezTriple;
struct BPoint;
struct BezTripleNurb;
short isNurbsel(struct Nurb *nu);
int isNurbsel_count(struct Nurb *nu);
void printknots(void);
void load_editNurb(void);
void make_editNurb(void);
void remake_editNurb(void);
void separate_nurb(void);
short isNurbselUV(struct Nurb *nu, int *u, int *v, int flag);
void setflagsNurb(short flag);
void rotateflagNurb(short flag, float *cent, float rotmat[][3]);
void translateflagNurb(short flag, float *vec);
void weightflagNurb(short flag, float w, int mode);
void deleteflagNurb(short flag);
short extrudeflagNurb(int flag);
void adduplicateflagNurb(short flag);
void switchdirectionNurb2(void);
void switchdirection_knots(float *base, int tot);
void deselectall_nurb(void);
void hideNurb(int swap);
void revealNurb(void);
void selectswapNurb(void);
void subdivideNurb(void);
short findnearestNurbvert(short sel, struct Nurb **nurb,
struct BezTriple **bezt, struct BPoint **bp);
void findselectedNurbvert(struct Nurb **nu, struct BezTriple **bezt,
struct BPoint **bp);
void setsplinetype(short type);
void rotate_direction_nurb(struct Nurb *nu);
int is_u_selected(struct Nurb *nu, int u);
void make_selection_list_nurb(void);
void merge_2_nurb(struct Nurb *nu1, struct Nurb *nu2);
void merge_nurb(void);
void addsegment_nurb(void);
void mouse_nurb(void);
void spinNurb(float *dvec, short mode);
void addvert_Nurb(int mode);
void extrude_nurb(void);
void makecyclicNurb(void);
void selectconnected_nurb(void);
void selectrow_nurb(void);
void adduplicate_nurb(void);
void delNurb(void);
void join_curve(int type);
struct Nurb *addNurbprim(int type, int stype, int newname);
void default_curve_ipo(struct Curve *cu);
void add_primitiveCurve(int stype);
void add_primitiveNurb(int type);
void clear_tilt(void);
void clever_numbuts_curve(void);
int bezt_compare (const void *e1, const void *e2);
#endif /* BDR_EDITCURVE_H */

View File

@@ -0,0 +1,56 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BDR_EDITFACE_H
#define BDR_EDITFACE_H
struct TFace;
struct Mesh;
void set_lasttface(void);
void default_uv(float uv[][2], float size);
void default_tface(struct TFace *tface);
void make_tfaces(struct Mesh *me);
void reveal_tface(void);
void hide_tface(void);
void select_linked_tfaces(void);
void deselectall_tface(void);
void rotate_uv_tface(void);
struct TFace* face_pick(struct Mesh *me, short x, short y);
void face_select(void);
void face_borderselect(void);
float CalcNormUV(float *a, float *b, float *c);
void uv_autocalc_tface(void);
void set_faceselect(void);
void face_draw(void);
#endif /* BDR_EDITFACE_H */

View File

@@ -0,0 +1,49 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BDR_EDITMBALL_H
#define BDR_EDITMBALL_H
void make_editMball(void);
void load_editMball(void);
/**
* @attention The argument is discarded. It is there for
* compatibility.
*/
void add_primitiveMball(int);
void deselectall_mball(void);
void mouse_mball(void);
void adduplicate_mball(void);
void delete_mball(void);
#endif /* BDR_EDITMBALL_H */

View File

@@ -0,0 +1,119 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BDR_EDITOBJECT_H
#define BDR_EDITOBJECT_H
struct TransVert;
struct Object;
struct TransOb;
struct Tex;
struct Material;
struct Base;
void add_object_draw(int type);
void free_and_unlink_base(struct Base *base);
void delete_obj(int ok);
void make_track(void);
void apply_obmat(struct Object *ob);
void clear_parent(void);
void clear_track(void);
void clear_object(char mode);
void reset_slowparents(void);
void set_slowparent(void);
void make_vertex_parent(void);
int test_parent_loop(struct Object *par, struct Object *ob);
void make_parent(void);
void make_displists_by_parent(struct Object *ob);
void exit_editmode(int freedata);
void check_editmode(int type);
void docentre(void);
void docentre_new(void);
void docentre_cursor(void);
void movetolayer(void);
void special_editmenu(void);
void convertmenu(void);
void copymenu_properties(struct Object *ob);
void copymenu(void);
void link_to_scene(unsigned short nr);
void linkmenu(void);
void make_duplilist_real(void);
void apply_object(void);
void ob_to_transob(struct Object *ob, struct TransOb *tob);
void ob_to_tex_transob(struct Object *ob, struct TransOb *tob);
void make_trans_objects(void);
void enter_editmode(void);
void copymenu_logicbricks(struct Object *ob);
void clearbaseflags_for_editing(void);
void make_trans_verts(float *min, float *max, int mode);
void draw_prop_circle(void);
void set_proportional_weight(struct TransVert *tv, float *min, float *max);
void special_trans_update(int keyflags);
void special_aftertrans_update(char mode, int flip, short canceled, int keyflags);
void calc_trans_verts(void);
void apply_keyb_grid(float *val, float fac1, float fac2, float fac3, int invert);
void compatible_eul(float *eul, float *oldrot);
void headerprint(char *str);
void add_ipo_tob_poin(float *poin, float *old, float delta);
void restore_tob(struct TransOb *tob);
int cylinder_intersect_test(void);
int sphere_intersect_test(void);
int my_clock(void);
void transform(int mode);
void std_rmouse_transform(void (*xf_func)(int));
void rightmouse_transform(void);
void single_object_users(int flag);
void new_id_matar(struct Material **matar, int totcol);
void single_obdata_users(int flag);
void single_mat_users(int flag);
void do_single_tex_user(struct Tex **from);
void single_tex_users_expand(void);
void single_mat_users_expand(void);
void single_user(void);
void make_local(void);
void adduplicate(float *dtrans);
void selectlinks(void);
void image_aspect(void);
void set_ob_ipoflags(void);
void select_select_keys(void);
int verg_hoogste_zco(const void *a1, const void *a2);
void sortfaces(void);
int vergbaseco(const void *a1, const void *a2);
void auto_timeoffs(void);
void texspace_edit(void);
void first_base(void);
void make_displists_by_obdata(void *obdata);
#endif /* BDR_EDITOBJECT_H */

View File

@@ -0,0 +1,92 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
* Some geometrical operations (intersection and such).
*/
#ifndef BDR_ISECT_H
#define BDR_ISECT_H
struct EditVert;
struct EditVlak;
/**
* Intersect a face and a linesegment
*
* @param v1 Vertex 1 of the face
* @param v2 Vertex 2 of the face
* @param v3 Vertex 3 of the face
* @param v4 Point 1 on the line
* @param v5 Point 2 on the line
* @param vec Location of the intersection (if it exists)
*
* @retval -1 colliniar
* @retval 0 no intersection
* @retval 1 exact intersection of edge and line
* @retval 2 cross-intersection
*/
short IsectFL(float *v1, float *v2, float *v3,
float *v4, float *v5, float *vec);
/**
* Intersect two lines
*
* @param v1 Point 1 of line 1
* @param v2 Point 2 of line 1
* @param v3 Point 1 of line 2
* @param v4 Point 2 of line 2
* @param cox projection (?)
* @param coy projection (?)
* @param labda answer (?)
* @param mu answer (?)
* @param vec answer (?)
*
* @retval -1 colliniar
* @retval 0 no intersection of segments
* @retval 1 exact intersection of segments
* @retval 2 cross-intersection of segments
*/
short IsectLL(float *v1, float *v2, float *v3, float *v4,
short cox, short coy,
float *labda, float *mu, float *vec);
int count_comparevlak(struct EditVlak *vl1, struct EditVlak *vl2);
void empty(void);
void addisedge(float *vec, short* edflag,
struct EditVlak *vl1, struct EditVlak *vl2,
short tel);
void oldedsort_andmake(struct EditVert **olded, int edcount, int proj);
short maxco(float *v1, float *v2);
void newfillvert(struct EditVert *v1);
void addisfaces(struct EditVlak *evl);
void intersect_mesh(void);
#endif /* BDR_ISECT_H */

View File

@@ -0,0 +1,58 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BDR_VPAINT_H
#define BDR_VPAINT_H
struct Mesh;
struct MDeformVert; /* __NLA */
unsigned int vpaint_get_current_col(void);
unsigned int rgba_to_mcol(float r, float g, float b, float a);
void do_shared_vertexcol(struct Mesh *me);
void make_vertexcol(void);
void copy_vpaint_undo(unsigned int *mcol, int tot);
void vpaint_undo(void);
void clear_vpaint(void);
void clear_vpaint_selectedfaces(void);
void vpaint_dogamma(void);
void sample_vpaint(void);
void init_vertexpaint(void);
void free_vertexpaint(void);
void vertex_paint(void);
void set_vpaint(void);
void set_wpaint(void);
void weight_paint(void);
void wpaint_undo (void);
void copy_wpaint_undo (struct MDeformVert *dverts, int dcount);
#endif /* BDR_VPAINT_H */

View File

@@ -0,0 +1,40 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_BUTTONS_H
#define BIF_BUTTONS_H
struct Base;
extern void do_blenderbuttons(unsigned short event);
extern void redraw_test_buttons(struct Base *new);
#endif

View File

@@ -0,0 +1,49 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_DRAWIMAGE_H
#define BIF_DRAWIMAGE_H
struct SpaceImage;
void calc_image_view(struct SpaceImage *sima, char mode);
void drawimagespace(void);
void draw_tfaces(void);
void image_changed(struct SpaceImage *sima, int dotile);
void image_home(void);
void image_viewmove(void);
void rectwrite_part(int winxmin, int winymin, int winxmax, int winymax, int x1, int y1, int xim, int yim, float zoomx, float zoomy, unsigned int *rect);
void uvco_to_areaco(float *vec, short *mval);
void uvco_to_areaco_noclip(float *vec, short *mval);
void what_image(struct SpaceImage *sima);
#endif

View File

@@ -0,0 +1,40 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_DRAWOOPS_H
#define BIF_DRAWOOPS_H
void give_oopslink_line(Oops *oops, OopsLink *ol, float *v1, float *v2);
void mysbox(float x1, float y1, float x2, float y2);
void boundbox_oops(void);
#endif

View File

@@ -0,0 +1,33 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
struct Scene;
void set_scene(struct Scene *sce);

View File

@@ -0,0 +1,41 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_DRAWSEQ_H
#define BIF_DRAWSEQ_H
struct Sequence;
void drawseqspace(void);
void drawseq(struct Sequence *seq);
void set_special_seq_update(int val);
#endif

View File

@@ -0,0 +1,51 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_DRAWTEXT_H
#define BIF_DRAWTEXT_H
struct ScrArea;
struct SpaceText;
struct Text;
void unlink_text(struct Text *text);
void init_textspace(struct ScrArea *sa);
void free_textspace(struct SpaceText *st);
void txt_write_file(struct Text *text);
void add_text_fs(char *file);
void free_txt_data(void);
void pop_space_text(struct SpaceText *st);
#endif

View File

@@ -0,0 +1,116 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_EDITARMATURE_H
#define BIF_EDITARMATURE_H
struct Object;
struct Bone;
struct bArmature;
typedef struct EditBone
{
struct EditBone *next, *prev;
struct EditBone *parent;/* Editbones have a one-way link (i.e. children refer
to parents. This is converted to a two-way link for
normal bones when leaving editmode. */
void *temp; /* Used to store temporary data */
char name[32];
char oldname[32];
float roll; /* Roll along axis. We'll ultimately use the axis/angle method
for determining the transformation matrix of the bone. The axis
is tail-head while roll provides the angle. Refer to Graphics
Gems 1 p. 466 (section IX.6) if it's not already in here somewhere*/
float head[3]; /* Orientation and length is implicit during editing */
float tail[3];
/* All joints are considered to have zero rotation with respect to
their parents. Therefore any rotations specified during the
animation are automatically relative to the bones' rest positions*/
short sHead[2];
short sTail[2];
int flag;
int parNr; /* Used for retrieving values from the menu system */
/* Storage for transformation data used by the posing system.
Maybe a better solution would be to make bones a blenderObject
variant? Or perhaps to use a TOTALLY custom transformation scheme
for pose element, rather than trying to use the existing transObject
system?
*/
float dist, weight;
float loc[3], dloc[3];
float size[3], dsize[3];
float rot[3], drot[3];
float quat[4], dquat[4];
float obmat[4][4];
} EditBone;
void adduplicate_armature(void);
void addvert_armature(void);
void add_primitiveArmature(int type);
void apply_rot_armature (struct Object *ob, float mat[3][3]);
void armaturebuts(void);
void clear_armature(struct Object *ob, char mode);
void clever_numbuts_armature (void);
void clever_numbuts_posearmature (void);
void delete_armature(void);
void deselectall_armature(void);
void deselectall_posearmature (int test);
void draw_armature(struct Object *ob);
void extrude_armature(void);
void free_editArmature(void);
void join_armature(void);
void load_editArmature(void);
char* make_bone_menu(struct bArmature *arm);
void make_bone_parent(void);
void make_editArmature(void);
void make_trans_bones (char mode);
void mousepose_armature(void);
void mouse_armature(void);
void remake_editArmature(void);
void selectconnected_armature(void);
void selectconnected_posearmature(void);
void select_bone_by_name (struct bArmature *arm, char *name, int select);
struct Bone *get_first_selected_bone (void);
void auto_align_armature(void);
#define BONESEL_TIP 0x08000000
#define BONESEL_ROOT 0x04000000
#define BONESEL_BONE (BONESEL_TIP|BONESEL_ROOT)
#define BONESEL_NOSEL 0x80000000 /* Indicates a negative number */
#endif

View File

@@ -0,0 +1,62 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_EDITCONSTRAINT_H
#define BIF_EDITCONSTRAINT_H
struct ListBase;
struct Object;
struct bConstraint;
struct bConstraintChannel;
typedef struct ConstraintElement{
struct ConstraintElement *next, *prev;
struct ConstraintElement *parent;
Object *ob;
int flag;
const char *substring;
void *subdata;
} ConstraintElement;
struct bConstraintChannel *add_new_constraint_channel(const char *name);
struct bConstraint * add_new_constraint(void);
struct ListBase *get_constraint_client_channels (int forcevalid);
struct ListBase *get_constraint_client(char *name, short *clienttype, void** clientdata);
int test_constraints (struct Object *owner, const char *substring, int disable);
void test_scene_constraints (void);
void unique_constraint_name (struct bConstraint *con, struct ListBase *list);
void *new_constraint_data (short type);
/* void unique_constraint_name (struct bConstraint *con, struct ListBase *list); */
#endif

View File

@@ -0,0 +1,51 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_DEFORM_H
#define BIF_DEFORM_H
struct Object;
struct MDeformVert;
struct MDeformWeight;
struct bDeformGroup;
void unique_vertexgroup_name (struct bDeformGroup *dg, struct Object *ob);
void add_defgroup (struct Object *ob);
void del_defgroup (struct Object *ob);
void assign_verts_defgroup (void);
void remove_verts_defgroup (int allverts);
void sel_verts_defgroup (int select);
struct MDeformWeight *verify_defweight (struct MDeformVert *dv, int defgroup);
void verify_defgroups (struct Object *ob);
#endif

View File

@@ -0,0 +1,48 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_EDITFONT_H
#define BIF_EDITFONT_H
void do_textedit(unsigned short event, short val, char ascii);
void make_editText(void);
void load_editText(void);
void remake_editText(void);
void free_editText(void);
/**
* @attention The argument is discarded. It is there for
* compatibility.
*/
void add_primitiveFont(int);
void to_upper(void);
#endif

View File

@@ -0,0 +1,38 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
struct Group;
void set_active_group(void);
void add_selected_to_group(void);
void rem_selected_from_group(void);
void group_menu(void);
void prev_group_key(struct Group *group);
void next_group_key(struct Group *group);

View File

@@ -0,0 +1,37 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
struct Object;
void draw_ika(struct Object *ob, int sel);
void draw_ika_nrs(struct Object *ob, int type);
int extrude_ika(struct Object *ob, int add);
void delete_skeleton(void);
void make_skeleton(void);

View File

@@ -0,0 +1,62 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_EDITKEY_H
#define BIF_EDITKEY_H
struct Key;
struct KeyBlock;
struct Mesh;
struct Object;
struct Lattice;
struct Curve;
void mesh_to_key(struct Mesh *me, struct KeyBlock *kb);
void key_to_mesh(struct KeyBlock *kb, struct Mesh *me);
void insert_meshkey(struct Mesh *me);
void latt_to_key(struct Lattice *lt, struct KeyBlock *kb);
void key_to_latt(struct KeyBlock *kb, struct Lattice *lt);
void insert_lattkey(struct Lattice *lt);
void curve_to_key(struct Curve *cu, struct KeyBlock *kb, ListBase *nurb);
void key_to_curve(struct KeyBlock *kb, struct Curve *cu, ListBase *nurb);
void insert_curvekey(struct Curve *cu);
struct Key *give_current_key(struct Object *ob);
void showkeypos(struct Key *key, struct KeyBlock *kb);
void deselectall_key(void);
void delete_key(void);
void move_keys(void);
#endif

View File

@@ -0,0 +1,44 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_EDITLATTICE_H
#define BIF_EDITLATTICE_H
void apply_lattice(void);
void free_editLatt(void);
void make_editLatt(void);
void load_editLatt(void);
void remake_editLatt(void);
void deselectall_Latt(void);
void mouse_lattice(void);
#endif

View File

@@ -0,0 +1,118 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_EDITMESH_H
#define BIF_EDITMESH_H
struct EditVlak;
struct EditEdge;
struct EditVert;
struct Mesh;
struct bDeformGroup;
struct View3D;
void free_hashedgetab(void);
void fasterdraw(void);
void slowerdraw(void);
void vertexnoise(void);
void vertexsmooth(void);
void make_sticky(void);
void deselectall_mesh(void);
/** Aligns the selected TFace's of @a me to the @a v3d,
* using the given axis (0-2). Can give a user error.
*/
void faceselect_align_view_to_selected(struct View3D *v3d, struct Mesh *me, int axis);
/** Aligns the selected faces or vertices of @a me to the @a v3d,
* using the given axis (0-2). Can give a user error.
*/
void editmesh_align_view_to_selected(struct View3D *v3d, int axis);
struct EditVert *addvertlist(float *vec);
struct EditEdge *addedgelist(struct EditVert *v1, struct EditVert *v2);
struct EditVlak *addvlaklist(struct EditVert *v1, struct EditVert *v2, struct EditVert *v3, struct EditVert *v4, struct EditVlak *example);
struct EditEdge *findedgelist(struct EditVert *v1, struct EditVert *v2);
void remedge(struct EditEdge *eed);
int vlakselectedAND(struct EditVlak *evl, int flag);
void recalc_editnormals(void);
void flip_editnormals(void);
void vertexnormals(int testflip);
/* this is currently only used by the python NMesh module: */
void vertexnormals_mesh(struct Mesh *me, float *extverts);
void make_editMesh(void);
void load_editMesh(void);
void free_editMesh(void);
void remake_editMesh(void);
void convert_to_triface(int all);
void righthandfaces(int select);
void mouse_mesh(void);
void selectconnected_mesh(void);
short extrudeflag(short flag,short type);
void rotateflag(short flag, float *cent, float rotmat[][3]);
void translateflag(short flag, float *vec);
short removedoublesflag(short flag, float limit);
void xsortvert_flag(int flag);
void hashvert_flag(int flag);
void subdivideflag(int flag, float rad, int beauty);
void adduplicateflag(int flag);
void extrude_mesh(void);
void adduplicate_mesh(void);
void split_mesh(void);
void separate_mesh(void);
void extrude_repeat_mesh(int steps, float offs);
void spin_mesh(int steps,int degr,float *dvec, int mode);
void screw_mesh(int steps,int turns);
void selectswap_mesh(void);
void addvert_mesh(void);
void addedgevlak_mesh(void);
void delete_mesh(void);
void add_primitiveMesh(int type);
void hide_mesh(int swap);
void reveal_mesh(void);
void beauty_fill(void);
void join_triangles(void);
void edge_flip(void);
void join_mesh(void);
void clever_numbuts_mesh(void);
void sort_faces(void);
void vertices_to_sphere(void);
void fill_mesh(void);
#endif

View File

@@ -0,0 +1,38 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_EDITNLA_H
#define BIF_EDITNLA_H
void clever_numbuts_nla(void);
#endif

View File

@@ -0,0 +1,45 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_EDITOOPS_H
#define BIF_EDITOOPS_H
void borderselect_oops(void);
void deselect_all_area_oops(void);
void mouse_select_oops(void);
void select_backlinked_oops(void);
void select_linked_oops(void);
void set_select_flag_oops(void);
void swap_select_all_oops(void);
void transform_oops(int mode);
#endif

View File

@@ -0,0 +1,40 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_EDITSCA_H
#define BIF_EDITSCA_H
void make_unique_prop_names(char *str);
void do_gamebuts(unsigned short event);
void gamebuts(void);
#endif

View File

@@ -0,0 +1,59 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_EDITSEQ_H
#define BIF_EDITSEQ_H
struct Sequence;
void add_duplicate_seq(void);
void add_sequence(int type);
void borderselect_seq(void);
void boundbox_seq(void);
void change_sequence(void);
void clear_last_seq(void);
void clever_numbuts_seq(void);
void del_seq(void);
void enter_meta(void);
struct Sequence* find_nearest_seq(int *hand);
int insert_gap(int gap, int cfra);
void make_meta(void);
void mouse_select_seq(void);
void no_gaps(void);
void seq_snapmenu(void);
void set_filter_seq(void);
void swap_select_seq(void);
void touch_seq_files(void);
void transform_seq(int mode);
void un_meta(void);
#endif

View File

@@ -0,0 +1,38 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
void clever_numbuts_sima(void);
void borderselect_sima(void);
void mouseco_to_curtile(void);
void mouse_select_sima(void);
void select_swap_tface_uv(void);
void tface_do_clip(void);
void transform_tface_uv(int mode);

View File

@@ -0,0 +1,71 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_EDITSOUND_H
#define BIF_EDITSOUND_H
struct bSound;
struct bSample;
struct ListBase;
struct PackedFile;
void sound_init_audio(void);
void sound_initialize_sounds(void);
void sound_exit_audio(void);
int sound_get_mixrate(void);
void* sound_get_audiodevice(void);
void* sound_get_listener(void);
int sound_set_sample(struct bSound* sound, struct bSample* sample);
int sound_sample_is_null(struct bSound* sound);
int sound_load_sample(struct bSound* sound);
struct bSample* sound_find_sample(struct bSound* sound);
struct bSample* sound_new_sample(struct bSound* sound);
struct bSound* sound_new_sound(char *name);
struct bSound* sound_make_copy(struct bSound* originalsound);
void sound_end_all_sounds(void);
void sound_initialize_sample(struct bSound * sound);
void sound_load_samples(void);
void sound_play_sound(struct bSound *sound);
void sound_stop_all_sounds(void);
void sound_set_position(void *object,
struct bSound *sound,
float obmatrix[4][4]);
#endif

View File

@@ -0,0 +1,52 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_EDITVIEW_H
#define BIF_EDITVIEW_H
struct Base;
struct Object;
void arrows_move_cursor(unsigned short event);
void borderselect(void);
void circle_select(void);
void deselectall(void);
void draw_sel_circle(short *mval, short *mvalo, float rad, float rado, int selecting);
void fly(void);
int gesture(void);
void mouse_cursor(void);
void mouse_select(void);
void set_active_base(struct Base *base);
void set_active_object(struct Object *ob);
void set_render_border(void);
#endif

View File

@@ -0,0 +1,72 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*
*/
#ifndef BSE_FSMENU_H
#define BSE_FSMENU_H
/** Returns the number of entries in the Fileselect Menu */
int fsmenu_get_nentries (void);
/** Returns true if the fsmenu entry at @a index exists and
* is a seperator.
*/
char* fsmenu_is_entry_a_seperator (int index);
/** Returns the fsmenu entry at @a index (or NULL if a bad index)
* or a seperator.
*/
char* fsmenu_get_entry (int index);
/** Returns a new menu description string representing the
* fileselect menu. Should be free'd with MEM_freeN.
*/
char* fsmenu_build_menu (void);
/** Append a seperator to the FSMenu, inserts always follow the
* last seperator.
*/
void fsmenu_append_seperator (void);
/** Inserts a new fsmenu entry with the given @a path.
* Duplicate entries are not added.
* @param sorted Should entry be inserted in sorted order?
*/
void fsmenu_insert_entry (char *path, int sorted);
/** Removes the fsmenu entry at the given @a index. */
void fsmenu_remove_entry (int index);
/** Free's all the memory associated with the fsmenu */
void fsmenu_free (void);
#endif

View File

@@ -0,0 +1,70 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
* os dependent include locations of gl.h
*/
#ifndef BIF_GL_H
#define BIF_GL_H
/* XXX, fixme zr... what is the deal here,
* is there a reason unices don't use the
* <> include? (they should)
*/
#if !defined(__APPLE__) && !defined(WIN32)
#include "GL/gl.h"
#include "GL/glu.h"
#else
#include <GL/gl.h>
#include <GL/glu.h>
#endif
/*
* these should be phased out. cpack should be replaced in
* code with calls to glColor3ub, lrectwrite probably should
* change to a function. - zr
*/
/* Mij afspraak is cpack een getal dat als 0xFFaa66 of zo kan worden
* uitgedrukt. Is dus gevoelig voor endian. Met deze define wordt het
* altijd goed afgebeeld
*
* This define converts a numerical value to the equivalent 24-bit
* colour, while not being endian-sensitive. On little-endians, this
* is the same as doing a 'naive'indexing, on big-endian, it is not!
* */
#define cpack(x) glColor3ub( ((x)&0xFF), (((x)>>8)&0xFF), (((x)>>16)&0xFF) )
#define glMultMatrixf(x) glMultMatrixf( (float *)(x))
#define glLoadMatrixf(x) glLoadMatrixf( (float *)(x))
#define lrectwrite(a, b, c, d, rect) {glRasterPos2i(a, b);glDrawPixels((c)-(a)+1, (d)-(b)+1, GL_RGBA, GL_UNSIGNED_BYTE, rect);}
#endif /* #ifdef BIF_GL_H */

View File

@@ -0,0 +1,189 @@
/**
* @file BIF_glutil.h
*
* OpenGL drawing utility functions.
*
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_GLUTIL_H
#define BIF_GLUTIL_H
struct rcti;
struct rctf;
void sdrawXORline(int x0, int y0, int x1, int y1);
void sdrawXORline4(int nr, int x0, int y0, int x1, int y1);
void sdrawXORcirc(short xofs, short yofs, float rad);
/**
* Draw an XOR'd line in the front buffer between
* the given points.
*
* @attention This function also handles flushing the GL
* pipeline, which means it is inappropriate for drawing
* a large number of lines at once.
*/
void glutil_draw_front_xor_line(int x0, int y0, int x1, int y1);
/**
* Draw a lined (non-looping) arc with the given
* @a radius, starting at angle @a start and arcing
* through @a angle. The arc is centered at the origin
* and drawn in the XY plane.
*
* @param start The initial angle (in radians).
* @param angle The length of the arc (in radians).
* @param radius The arc radius.
* @param nsegments The number of segments to use in drawing the arc.
*/
void glutil_draw_lined_arc (float start, float angle, float radius, int nsegments);
/**
* Draw a filled arc with the given @a radius,
* starting at angle @a start and arcing through
* @a angle. The arc is centered at the origin
* and drawn in the XY plane.
*
* @param start The initial angle (in radians).
* @param angle The length of the arc (in radians).
* @param radius The arc radius.
* @param nsegments The number of segments to use in drawing the arc.
*/
void glutil_draw_filled_arc (float start, float angle, float radius, int nsegments);
/**
* Routines an integer value as obtained by glGetIntegerv.
* The param must cause only one value to be gotten from GL.
*/
int glaGetOneInteger (int param);
/**
* Routines a float value as obtained by glGetIntegerv.
* The param must cause only one value to be gotten from GL.
*/
float glaGetOneFloat (int param);
/**
* Functions like glRasterPos2i, except ensures that the resulting
* raster position is valid. @a known_good_x and @a known_good_y
* should be coordinates of a point known to be within the current
* view frustum.
* @attention This routine should be used when the distance of @a x
* and @y away from the known good point is small (ie. for small icons
* and for bitmap characters), when drawing large+zoomed images it is
* possible for overflow to occur, the glaDrawPixelsSafe routine should
* be used instead.
*/
void glaRasterPosSafe2f (float x, float y, float known_good_x, float known_good_y);
/**
* Functions like a limited glDrawPixels, except ensures that
* the image is displayed onscreen even if the @a x and @a y
* coordinates for would be clipped. The routine respects the
* glPixelZoom values, pixel unpacking parameters are _not_
* respected.
* @attention This routine makes many assumptions: the rect data
* is expected to be in RGBA unsigned byte format, the coordinate
* (0.375, 0.375) is assumed to be within the view frustum, and the
* modelview and projection matrices are assumed to define a
* 1-to-1 mapping to screen space.
* @attention Furthmore, in the case of zoomed or unpixel aligned
* images extending outside the view frustum, but still within the
* window, some portion of the image may be visible left and/or
* below of the given @a x and @a y coordinates. It is recommended
* to use the glScissor functionality if images are to be drawn
* with an inset view matrix.
*/
void glaDrawPixelsSafe (float x, float y, int img_w, int img_h, void *rect);
/**
* Functions like a limited glDrawPixels, but actually draws the
* image using textures, which can be tremendously faster on low-end
* cards, and also avoids problems with the raster position being
* clipped when offscreen. The routine respects the glPixelZoom values,
* pixel unpacking parameters are _not_ respected.
* @attention This routine makes many assumptions: the rect data
* is expected to be in RGBA unsigned byte format, and the
* modelview and projection matrices are assumed to define a
* 1-to-1 mapping to screen space.
*/
void glaDrawPixelsTex (float x, float y, int img_w, int img_h, void *rect);
/* 2D Drawing Assistance */
/** Define a 2D area (viewport, scissor, matrices) for OpenGL rendering.
* This routine sets up an OpenGL state appropriate for drawing using
* both vertice (glVertex, etc) and raster (glRasterPos, glRect) commands.
* All coordinates should be at integer positions. There is little to
* no reason to use glVertex2f etc. functions during 2D rendering, and
* thus no reason to +-0.5 the coordinates or perform other silly
* tricks.
*
* @param screen_rect The screen rectangle to be defined for 2D drawing.
*/
void glaDefine2DArea (struct rcti *screen_rect);
typedef struct gla2DDrawInfo gla2DDrawInfo;
/** Save the current OpenGL state and initialize OpenGL for 2D
* rendering. glaEnd2DDraw should be called on the returned structure
* to free it and to return OpenGL to its previous state. The
* scissor rectangle is set to match the viewport.
*
* This routine sets up an OpenGL state appropriate for drawing using
* both vertice (glVertex, etc) and raster (glRasterPos, glRect) commands.
* All coordinates should be at integer positions. There is little to
* no reason to use glVertex2f etc. functions during 2D rendering, and
* thus no reason to +-0.5 the coordinates or perform other silly
* tricks.
*
* @param screen_rect The screen rectangle to be used for 2D drawing.
* @param world_rect The world rectangle that the 2D area represented
* by @a screen_rect is supposed to represent. If NULL it is assumed the
* world has a 1 to 1 mapping to the screen.
*/
gla2DDrawInfo* glaBegin2DDraw (struct rcti *screen_rect, struct rctf *world_rect);
/** Translate the (@a wo_x, @a wo_y) point from world coordinates into screen space. */
void gla2DDrawTranslatePt (gla2DDrawInfo *di, float wo_x, float wo_y, int *sc_x_r, int *sc_y_r);
/** Translate the @a world point from world coordiantes into screen space. */
void gla2DDrawTranslatePtv (gla2DDrawInfo *di, float world[2], int screen_r[2]);
/* Restores the previous OpenGL state and free's the auxilary
* gla data.
*/
void glaEnd2DDraw (gla2DDrawInfo *di);
#endif /* BIF_GLUTIL_H */

View File

@@ -0,0 +1,56 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_GRAPHICS_H
#define BIF_GRAPHICS_H
/* XXX, should move somewhere else, with collected windowing
* stuff, to be done once the proper windowing stuff has
* been formed.
*/
enum {
CURSOR_VPAINT,
CURSOR_FACESEL,
CURSOR_WAIT,
CURSOR_EDIT,
CURSOR_X_MOVE,
CURSOR_Y_MOVE,
CURSOR_HELP,
CURSOR_STD,
CURSOR_NONE
};
void set_cursor(int curs);
int get_cursor(void);
#endif /* BIF_GRAPHICS_H */

View File

@@ -0,0 +1,58 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_IMASEL_H
#define BIF_IMASEL_H
struct SpaceImaSel;
struct OneSelectableIma;
struct ScrArea;
struct ImaDir;
void imadir_parent(struct SpaceImaSel *simasel);
int bitset(int l, int bit);
void free_sel_ima(struct OneSelectableIma *firstima);
void write_new_pib(struct SpaceImaSel *simasel);
void free_ima_dir(struct ImaDir *firstdir);
void check_for_pib(struct SpaceImaSel *simasel);
void clear_ima_dir(struct SpaceImaSel *simasel);
void check_ima_dir_name(char *dir);
int get_ima_dir(char *dirname, int dtype, int *td, struct ImaDir **first);
void get_next_image(struct SpaceImaSel *simasel);
void get_file_info(struct SpaceImaSel *simasel);
void get_pib_file(struct SpaceImaSel *simasel);
void change_imadir(struct SpaceImaSel *simasel);
void init_imaselspace(struct ScrArea *sa);
void check_imasel_copy(struct SpaceImaSel *simasel);
void free_imasel(struct SpaceImaSel *simasel);
#endif

View File

@@ -0,0 +1,128 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_INTERFACE_H
#define BIF_INTERFACE_H
struct ID;
struct ListBase;
struct ScrArea;
typedef struct uiBut uiBut;
typedef struct uiBlock uiBlock;
extern int UIfrontbuf;
void uiEmboss(float x1, float y1, float x2, float y2, int sel);
void uiDrawMenuBox(float minx, float miny, float maxx, float maxy);
void uiBoundsBlock(struct uiBlock *block, int addval);
void uiDrawBlock(struct uiBlock *block);
void uiGetMouse(int win, short *adr);
void uiComposeLinks(uiBlock *block);
void uiSetButLock(int val, char *lockstr);
void uiClearButLock(void);
int uiDoBlocks(struct ListBase *lb, int event);
void uiSetCurFont(uiBlock *block, int index);
void uiDefFont(unsigned int index, void *xl, void *large, void *medium, void *small);
void uiFreeBlock(uiBlock *block);
void uiFreeBlocks(struct ListBase *lb);
void uiFreeBlocksWin(struct ListBase *lb, int win);
uiBlock *uiNewBlock(struct ListBase *lb, char *name, short dt, short font, short win);
uiBlock *uiGetBlock(char *name, struct ScrArea *sa);
uiBut *uiDefBut(uiBlock *block,
int type, int retval, char *str,
short x1, short y1,
short x2, short y2,
void *poin,
float min, float max,
float a1, float a2, char *tip);
uiBut *uiDefButF(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, char *tip);
uiBut *uiDefButI(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, char *tip);
uiBut *uiDefButS(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, char *tip);
uiBut *uiDefButC(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, char *tip);
uiBut *uiDefIconBut(uiBlock *block,
int type, int retval, int icon,
short x1, short y1,
short x2, short y2,
void *poin,
float min, float max,
float a1, float a2, char *tip);
uiBut *uiDefIconButF(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, char *tip);
uiBut *uiDefIconButI(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, char *tip);
uiBut *uiDefIconButS(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, char *tip);
uiBut *uiDefIconButC(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, char *tip);
typedef void (*uiIDPoinFuncFP) (char *str, struct ID **idpp);
void uiDefIDPoinBut(struct uiBlock *block,
uiIDPoinFuncFP func, int retval, char *str,
short x1, short y1,
short x2, short y2,
void *idpp, char *tip);
typedef uiBlock* (*uiBlockFuncFP) (void *arg1);
void uiDefBlockBut(uiBlock *block, uiBlockFuncFP func, void *func_arg1, char *str, short x1, short y1, short x2, short y2, char *tip);
void uiDefKeyevtButS(uiBlock *block, int retval, char *str, short x1, short y1, short x2, short y2, short *spoin, char *tip);
void uiAutoBlock(struct uiBlock *block,
float minx, float miny,
float sizex, float sizey, int flag);
void uiSetButLink(struct uiBut *but,
void **poin,
void ***ppoin,
short *tot,
int from, int to);
int uiBlocksGetYMin (ListBase *lb);
int uiBlockGetCol (uiBlock *block);
void* uiBlockGetCurFont (uiBlock *block);
void uiBlockSetCol (uiBlock *block, int col);
void uiBlockSetEmboss (uiBlock *block, int emboss);
void uiBlockSetDirection (uiBlock *block, int direction);
void uiBlockSetFlag (uiBlock *block, int flag);
void uiBlockSetXOfs (uiBlock *block, int xofs);
int uiButGetRetVal (uiBut *but);
void uiButSetFlag (uiBut *but, int flag);
void uiBlockSetButmFunc (uiBlock *block, void (*butmfunc)(void *arg, int but_a2), void *arg);
void uiBlockSetFunc (uiBlock *block, void (*func)(void *arg1, void *arg2), void *arg1, void *arg2);
void uiButSetFunc (uiBut *but, void (*func)(void *arg1, void *arg2), void *arg1, void *arg2);
short pupmenu(char *instr);
short pupmenu_col(char *instr, int maxrow);
#endif /* BIF_INTERFACE_H */

View File

@@ -0,0 +1,38 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_KEYVAL_H
#define BIF_KEYVAL_H
char *key_event_to_string(unsigned short event);
#endif

View File

@@ -0,0 +1,46 @@
/*
* Central queue handling functions.
*
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_MAINQUEUE_H
#define BIF_MAINQUEUE_H
#define MAXQUEUE 256
unsigned short mainqtest (void);
unsigned short mainqread (short *val, char *ascii);
void mainqenter (unsigned short event, short val);
void mainqenter_ext (unsigned short event, short val, char ascii);
void mainqpushback (unsigned short event, short val, char ascii);
#endif /* BIF_MAINQUEUE_H */

View File

@@ -0,0 +1,107 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
* These are the protos for mywindow.c -- an emulation of the
* (obsolete) IrisGL command set
*/
#ifndef BIF_MYWINDOW_H
#define BIF_MYWINDOW_H
struct rcti;
/*---*/
int mywinget(void);
void mywinclose(int winid);
void mywinposition(int winid,
int xmin, int xmax,
int ymin, int ymax);
/*---*/
int bwin_qtest(int winid);
unsigned short bwin_qread(int winid, short *val_r, char *ascii_r);
void bwin_qadd(int winid, unsigned short event, short val, char ascii);
/*---*/
void bwin_load_viewmatrix(int winid, float mat[][4]);
void bwin_load_winmatrix(int winid, float mat[][4]);
void bwin_get_viewmatrix(int winid, float mat[][4]);
void bwin_get_winmatrix(int winid, float mat[][4]);
void bwin_ortho(int winid, float x1, float x2, float y1, float y2, float n, float f);
void bwin_ortho2(int win, float x1, float x2, float y1, float y2);
void bwin_frustum(int winid, float x1, float x2, float y1, float y2, float n, float f);
void bwin_getsize(int winid, int *x, int *y);
void bwin_getsuborigin(int winid, int *x, int *y);
void bwin_get_rect(int winid, struct rcti *rect_r);
void bwin_getsinglematrix(int winid, float mat[][4]);
void bwin_clear_viewmat(int winid);
int myswinopen(int parentid, int xmin, int xmax, int ymin, int ymax);
void myswapbuffers(void);
void mygetmatrix(float mat[][4]);
void mymultmatrix(float [][4]);
void myloadmatrix(float mat[][4]);
void mywinset(int wid);
void myortho(float x1, float x2, float y1, float y2, float n, float f);
void myortho2(float x1, float x2, float y1, float y2);
void mywindow(float x1, float x2, float y1, float y2, float n, float f);
void mygetsingmatrix(float (*)[4]);
void setlinestyle(int nr);
void BIF_wait_for_statechange(void);
#define L_MOUSE 1
#define M_MOUSE 2
#define R_MOUSE 4
short get_mbut(void);
short get_qual(void);
void getmouse(short *mval);
void warp_pointer(int x, int y);
int framebuffer_to_index(unsigned int col);
unsigned int index_to_framebuffer(int index);
int mywin_inmenu(void);
void mywin_getmenu_rect(int *x, int *y, int *sx, int *sy);
void my_put_frontbuffer_image(void);
void my_get_frontbuffer_image(int x, int y, int sx, int sy);
#endif

View File

@@ -0,0 +1,68 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_OOPS_H
#define BIF_OOPS_H
struct Curve;
struct Oops;
struct OopsLink;
struct SpaceOops;
struct Material;
struct Mesh;
struct MetaBall;
struct Object;
void add_curve_oopslinks(struct Curve *cu, struct Oops *oops, short flag);
void add_from_link(struct Oops *from, struct Oops *oops);
void add_material_oopslinks(struct Material *ma, struct Oops *oops, short flag);
void add_mball_oopslinks(struct MetaBall *mb, struct Oops *oops, short flag);
void add_mesh_oopslinks(struct Mesh *me, struct Oops *oops, short flag);
void add_object_oopslinks(struct Object *ob, struct Oops *oops, short flag);
struct Oops *add_oops(void *id);
struct OopsLink *add_oopslink(char *name, struct Oops *oops, short type, void *from, float xof, float yof);
struct Oops *add_test_oops(void *id); /* incl links */
void add_texture_oops(struct Material *ma);
void build_oops(void);
struct Oops *find_oops(ID *id);
void free_oops(struct Oops *oops); /* ook oops zelf */
void free_oopspace(struct SpaceOops *so);
void new_oops_location(struct Oops *);
int oops_test_overlap(struct Oops *test);
int oops_test_overlaphide(struct Oops *test);
float oopslink_totlen(struct Oops *oops);
void shrink_oops(void);
void shuffle_oops(void);
int test_oops(struct Oops *oops);
void test_oopslink(struct OopsLink *ol);
void test_oopslinko(struct OopsLink *ol);
#endif

View File

@@ -0,0 +1,65 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_POSEOBJECT
#define BIF_POSEOBJECT
/**
* Activates posemode
*/
void enter_posemode(void);
/**
* Provides the current object the opportunity to specify
* which channels to key in the current pose (if any).
* If an object provides its own filter, it must clear
* then POSE_KEY flags of unwanted channels, as well as
* setting the flags for desired channels.
*
* Default behaviour is to key all channels.
*/
void filter_pose_keys(void);
/**
* Deactivates posemode
* @param freedata 0 or 1 value indicating that posedata should be deleted
*/
void exit_posemode(int freedata);
/**
* Removes unreferenced pose channels from an object
* @param ob Object to check
*/
void collect_pose_garbage(struct Object *ob);
#endif

View File

@@ -0,0 +1,38 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
struct SpaceButs;
void BIF_preview_changed (struct SpaceButs *area);
void BIF_previewrender (struct SpaceButs *area);
void BIF_previewdraw (struct SpaceButs *area);

View File

@@ -0,0 +1,49 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
struct ScrArea;
void calc_renderwin_rectangle(int posmask, int renderpos_r[2], int rendersize_r[2]);
void BIF_close_render_display(void);
void BIF_do_render(int anim);
/**
* @param v3d The View3D space to render.
*/
void BIF_do_ogl_render(struct View3D *v3d, int anim);
void BIF_renderwin_set_for_ogl_render(void);
void BIF_renderwin_set_custom_cursor(unsigned char mask[16][2], unsigned char bitmap[16][2]);
void BIF_swap_render_rects(void);
void BIF_toggle_render_display(void);

View File

@@ -0,0 +1,321 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_RESOURCES_H
#define BIF_RESOURCES_H
typedef enum {
#define BIFICONID_FIRST (ICON_VIEW3D)
ICON_VIEW3D,
ICON_IPO,
ICON_OOPS,
ICON_BUTS,
ICON_FILESEL,
ICON_IMAGE_COL,
ICON_INFO,
ICON_SEQUENCE,
ICON_TEXT,
ICON_IMASEL,
ICON_SOUND,
ICON_ACTION,
ICON_NLA,
ICON_VIEWZOOM,
ICON_VIEWMOVE,
ICON_HOME,
ICON_CLIPUV_DEHLT,
ICON_CLIPUV_HLT,
ICON_SOME_WACKY_VERTS_AND_LINES,
ICON_A_WACKY_VERT_AND_SOME_LINES,
ICON_VPAINT_COL,
ICON_ORTHO,
ICON_PERSP,
ICON_CAMERA,
ICON_BLANK1,
ICON_BBOX,
ICON_WIRE,
ICON_SOLID,
ICON_SMOOTH,
ICON_POTATO,
ICON_BLANK2,
ICON_NORMALVIEW,
ICON_LOCALVIEW,
ICON_UNUSEDVIEW,
ICON_BLANK3,
ICON_SORTALPHA,
ICON_SORTTIME,
ICON_SORTSIZE,
ICON_LONGDISPLAY,
ICON_SHORTDISPLAY,
ICON_BLANK4,
ICON_BLANK5,
ICON_VIEW_AXIS_ALL,
ICON_VIEW_AXIS_NONE,
ICON_VIEW_AXIS_NONE2,
ICON_VIEW_AXIS_TOP,
ICON_VIEW_AXIS_FRONT,
ICON_VIEW_AXIS_SIDE,
ICON_POSE_DEHLT,
ICON_POSE_HLT,
ICON_BORDERMOVE,
ICON_MAYBE_ITS_A_LASSO,
ICON_BLANK6,
ICON_ROTATE,
ICON_CURSOR,
ICON_ROTATECOLLECTION,
ICON_ROTATECENTER,
ICON_BLANK7,
ICON_BLANK8,
ICON_BLANK9,
ICON_BLANK10,
ICON_BLANK11,
ICON_BLANK12,
ICON_DOTSUP,
ICON_DOTSDOWN,
ICON_BLANK13,
ICON_AXIS_SIDE,
ICON_AXIS_FRONT,
ICON_AXIS_TOP,
ICON_BLANK14,
ICON_BLANK15,
ICON_BLANK16,
ICON_BLANK17,
ICON_BLANK18,
ICON_ENVMAP,
ICON_TRANSP_HLT,
ICON_TRANSP_DEHLT,
ICON_RADIO_DEHLT,
ICON_RADIO_HLT,
ICON_TPAINT_DEHLT,
ICON_TPAINT_HLT,
ICON_WPAINT_DEHLT,
ICON_WPAINT_HLT,
ICON_BLANK21,
ICON_X,
ICON_GO_LEFT,
ICON_NO_GO_LEFT,
ICON_UNLOCKED,
ICON_LOCKED,
ICON_PARLIB,
ICON_DATALIB,
ICON_AUTO,
ICON_MATERIAL_DEHLT2,
ICON_RING,
ICON_GRID,
ICON_PROPEDIT,
ICON_KEEPRECT,
ICON_DESEL_CUBE_VERTS,
ICON_EDITMODE_DEHLT,
ICON_EDITMODE_HLT,
ICON_VPAINT_DEHLT,
ICON_VPAINT_HLT,
ICON_FACESEL_DEHLT,
ICON_FACESEL_HLT,
ICON_BLANK22,
ICON_HELP,
ICON_ERROR,
ICON_FOLDER_DEHLT,
ICON_FOLDER_HLT,
ICON_BLUEIMAGE_DEHLT,
ICON_BLUEIMAGE_HLT,
ICON_BPIBFOLDER_DEHLT,
ICON_BPIBFOLDER_HLT,
ICON_BPIBFOLDER_ERR,
ICON_UGLY_GREEN_RING,
ICON_GHOST,
ICON_SHARPCURVE,
ICON_SMOOTHCURVE,
ICON_BLANK23,
ICON_BLANK24,
ICON_BLANK25,
ICON_BLANK26,
ICON_BPIBFOLDER_X,
ICON_BPIBFOLDERGREY,
ICON_MAGNIFY,
ICON_INFO2,
ICON_RIGHTARROW,
ICON_DOWNARROW_HLT,
ICON_ROUNDBEVELTHING,
ICON_FULLTEXTURE,
ICON_REDPUBLISHERHALFTHINGY,
ICON_PUBLISHER,
ICON_CKEY,
ICON_CHECKBOX_DEHLT,
ICON_CHECKBOX_HLT,
ICON_LINK,
ICON_INLINK,
ICON_BEVELBUT_HLT,
ICON_BEVELBUT_DEHLT,
ICON_PASTEDOWN,
ICON_COPYDOWN,
ICON_CONSTANT,
ICON_LINEAR,
ICON_CYCLIC,
ICON_KEY_DEHLT,
ICON_KEY_HLT,
ICON_GRID2,
ICON_EYE,
ICON_LAMP,
ICON_MATERIAL,
ICON_TEXTURE,
ICON_ANIM,
ICON_WORLD,
ICON_SCENE,
ICON_EDIT,
ICON_GAME,
ICON_PAINT,
ICON_RADIO,
ICON_SCRIPT,
ICON_SPEAKER,
ICON_PASTEUP,
ICON_COPYUP,
ICON_PASTEFLIPUP,
ICON_PASTEFLIPDOWN,
ICON_CYCLICLINEAR,
ICON_PIN_DEHLT,
ICON_PIN_HLT,
ICON_LITTLEGRID,
ICON_FULLSCREEN,
ICON_SPLITSCREEN,
ICON_RIGHTARROW_THIN,
ICON_BLANK27,
ICON_BLANK28,
ICON_SCENE_SEPIA,
ICON_SCENE_DEHLT,
ICON_OBJECT,
ICON_MESH,
ICON_CURVE,
ICON_MBALL,
ICON_LATTICE,
ICON_LAMP_DEHLT,
ICON_MATERIAL_DEHLT,
ICON_TEXTURE_DEHLT,
ICON_IPO_DEHLT,
ICON_LIBRARY_DEHLT,
ICON_IMAGE_DEHLT,
ICON_BLANK29,
ICON_BLANK30,
ICON_BLANK31,
ICON_BLENDER,
ICON_PACKAGE,
ICON_UGLYPACKAGE,
ICON_MATPLANE,
ICON_MATSPHERE,
ICON_MATCUBE,
ICON_SCENE_HLT,
ICON_OBJECT_HLT,
ICON_MESH_HLT,
ICON_CURVE_HLT,
ICON_MBALL_HLT,
ICON_LATTICE_HLT,
ICON_LAMP_HLT,
ICON_MATERIAL_HLT,
ICON_TEXTURE_HLT,
ICON_IPO_HLT,
ICON_LIBRARY_HLT,
ICON_IMAGE_HLT,
ICON_CONSTRAINT,
ICON_BLANK32,
ICON_BLANK33,
#define BIFICONID_LAST (ICON_BLANK33)
#define BIFNICONIDS (BIFICONID_LAST-BIFICONID_FIRST + 1)
} BIFIconID;
typedef enum {
#define BIFCOLORSHADE_FIRST (COLORSHADE_DARK)
COLORSHADE_DARK,
COLORSHADE_GREY,
COLORSHADE_MEDIUM,
COLORSHADE_HILITE,
COLORSHADE_LIGHT,
COLORSHADE_WHITE,
#define BIFCOLORSHADE_LAST (COLORSHADE_WHITE)
#define BIFNCOLORSHADES (BIFCOLORSHADE_LAST-BIFCOLORSHADE_FIRST + 1)
} BIFColorShade;
typedef enum {
#define BIFCOLORID_FIRST (BUTGREY)
BUTGREY,
BUTGREEN,
BUTBLUE,
BUTSALMON,
MIDGREY,
BUTPURPLE,
BUTYELLOW,
REDALERT,
BUTRUST,
BUTWHITE,
BUTDBLUE,
BUTPINK,
BUTDPINK,
BUTMACTIVE,
BUTIPO,
BUTAUDIO,
BUTCAMERA,
BUTRANDOM,
BUTEDITOBJECT,
BUTPROPERTY,
BUTSCENE,
BUTMOTION,
BUTMESSAGE,
BUTACTION,
BUTCD,
BUTGAME,
BUTVISIBILITY,
BUTYUCK,
BUTSEASICK,
BUTCHOKE,
BUTIMPERIAL,
#define BIFCOLORID_LAST (BUTIMPERIAL)
#define BIFNCOLORIDS (BIFCOLORID_LAST-BIFCOLORID_FIRST + 1)
} BIFColorID;
void BIF_resources_init (void);
void BIF_resources_free (void);
int BIF_get_icon_width (BIFIconID icon);
int BIF_get_icon_height (BIFIconID icon);
void BIF_draw_icon (BIFIconID icon);
void BIF_draw_icon_blended (BIFIconID icon, BIFColorID color, BIFColorShade shade);
void BIF_set_color (BIFColorID color, BIFColorShade shade);
#endif /* BIF_ICONS_H */

View File

@@ -0,0 +1,51 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifdef __cplusplus
extern "C" {
#endif
struct ScrArea;
/**
* Finds the first spacedata of @a type within
* the scrarea.
*/
void *scrarea_find_space_of_type(ScrArea *sa, int type);
int scrarea_get_win_x (struct ScrArea *sa);
int scrarea_get_win_y (struct ScrArea *sa);
int scrarea_get_win_width (struct ScrArea *sa);
int scrarea_get_win_height (struct ScrArea *sa);
#ifdef __cplusplus
}
#endif

View File

@@ -0,0 +1,124 @@
/* replacement for screen.h */
/*
*
* Leftovers here are actually editscreen.c thingies
*
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_SCREEN_H
#define BIF_SCREEN_H
#ifdef __cplusplus
extern "C" {
#endif
/* externs in editscreen.c */
extern int displaysizex, displaysizey;
extern struct ScrArea *curarea;
struct View3D;
struct bScreen;
struct ScrArea;
struct ScrVert;
struct ScrEdge;
struct ListBase;
struct View3D *find_biggest_view3d(void);
struct ScrArea *find_biggest_area_of_type(int spacecode);
struct ScrArea *find_biggest_area(void);
void scrarea_queue_redraw(struct ScrArea *area);
void scrarea_queue_winredraw(struct ScrArea *area);
void scrarea_queue_headredraw(struct ScrArea *area);
void duplicate_screen(void);
void init_screen_cursors(void);
void set_timecursor(int nr);
void waitcursor(int val);
void wich_cursor(struct ScrArea *sa);
void setcursor_space(int spacetype, short cur);
void getmouseco_sc(short *mval);
void getmouseco_areawin(short *mval);
void getmouseco_headwin(short *mval);
unsigned short qtest(void);
int anyqtest(void);
void areawinset(short win);
void headerbox(int selcol, int width);
void defheaddraw(void);
void defheadchange(void);
unsigned short winqtest(struct ScrArea *sa);
unsigned short headqtest(struct ScrArea *sa);
void winqdelete(struct ScrArea *sa);
void winqclear(struct ScrArea *sa);
void addqueue(short win, unsigned short event, short val);
void addafterqueue(short win, unsigned short event, short val);
void add_readfile_event(char *filename);
short ext_qtest(void);
unsigned short extern_qread(short *val);
unsigned short extern_qread_ext(short *val, char *ascii);
void markdirty_all(void);
void screen_swapbuffers(void);
void set_debug_swapbuffers_ovveride(struct bScreen *sc, int mode);
int is_allowed_to_change_screen(struct bScreen *newp);
void splash(void * data, int datasizei, char * string);
void screenmain(void);
void getdisplaysize(void);
void setprefsize(int stax, int stay, int sizx, int sizy);
void calc_arearcts(struct ScrArea *sa);
void resize_screen(int x, int y, int w, int h);
struct ScrArea *closest_bigger_area(void);
int mywinopen(int mode, short posx, short posy, short sizex, short sizey);
void setscreen(struct bScreen *sc);
void area_fullscreen(void);
int select_area(int spacetype);
void drawedge(short x1, short y1, short x2, short y2);
void drawscreen(void);
struct bScreen *default_twosplit(void);
void initscreen(void);
void unlink_screen(struct bScreen *sc);
void reset_autosave(void);
int area_is_active_area(struct ScrArea *area);
/***/
/**
* Draw @a text in the header of each info window
* of the given screen.
*/
void screen_draw_info_text(struct bScreen *sc, char *text);
#ifdef __cplusplus
}
#endif
#endif /* BIF_SCREEN_H */

View File

@@ -0,0 +1,94 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_SPACE_H
#define BIF_SPACE_H
struct ListBase;
struct ScrArea;
struct SpaceButs;
struct View2D;
#define REMAKEIPO 1
#define OOPS_TEST 2
#define REMAKEALLIPO 3 /* Reevan's ipo fixing test */
void scrarea_do_windraw (struct ScrArea *sa);
void scrarea_do_winchange (struct ScrArea *sa);
void scrarea_do_winhandle (struct ScrArea *sa, unsigned short event, short val, char ascii);
void scrarea_do_headdraw (struct ScrArea *sa);
void scrarea_do_headchange (struct ScrArea *sa);
/* space.c */
extern void space_set_commmandline_options(void);
extern void allqueue(unsigned short event, short val);
extern void allspace(unsigned short event, short val);
extern void changebutspace(void);
extern void changeview2d(void);
extern void changeview3d(void);
extern void copy_view3d_lock(short val);
extern void drawemptyspace(void);
extern void drawinfospace(void);
extern void duplicatespacelist(struct ScrArea *area, struct ListBase *lb1, struct ListBase *lb2);
extern void extern_set_butspace(int fkey);
extern void force_draw(void);
extern void force_draw_all(void);
extern void force_draw_plus(int type);
extern void freespacelist(struct ListBase *lb);
extern void handle_view3d_lock(void);
extern void init_butspace(struct ScrArea *sa);
extern void init_filespace(struct ScrArea *sa);
extern void init_imagespace(struct ScrArea *sa);
extern void init_oopsspace(struct ScrArea *sa);
extern void init_nlaspace(struct ScrArea *sa);
extern void init_seqspace(struct ScrArea *sa);
extern void init_v2d_oops(struct View2D *v2d);
extern void initipo(struct ScrArea *sa);
extern void initview3d(struct ScrArea *sa);
extern void newspace(struct ScrArea *sa, int type);
extern void set_rects_butspace(struct SpaceButs *buts);
extern void winqread3d(unsigned short event, short val, char ascii);
extern void winqreadbutspace(unsigned short event, short val, char ascii);
extern void winqreadimagespace(unsigned short event, short val, char ascii);
extern void winqreadinfospace(unsigned short event, short val, char ascii);
extern void winqreadipo(unsigned short event, short val, char ascii);
extern void winqreadoopsspace(unsigned short event, short val, char ascii);
extern void winqreadnlaspace(unsigned short event, short val, char ascii);
extern void winqreadsequence(unsigned short event, short val, char ascii);
extern void test_butspace(void);
extern void start_game(void);
extern void mainwindow_raise(void);
extern void mainwindow_make_active(void);
extern void mainwindow_close(void);
#endif

View File

@@ -0,0 +1,60 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
struct ScrArea;
typedef struct _SpaceType SpaceType;
typedef void (*SpaceDrawFP) (void);
typedef void (*SpaceChangeFP) (void);
typedef void (*SpaceHandleFP) (unsigned short evt, short val, char ascii);
/***/
SpaceType* spacetype_new (char *name);
void spacetype_set_winfuncs (SpaceType *st, SpaceDrawFP draw, SpaceChangeFP change, SpaceHandleFP handle);
/***/
SpaceType *spaceaction_get_type (void);
SpaceType *spacebuts_get_type (void);
SpaceType *spacefile_get_type (void);
SpaceType *spaceimage_get_type (void);
SpaceType *spaceimasel_get_type (void);
SpaceType *spaceinfo_get_type (void);
SpaceType *spaceipo_get_type (void);
SpaceType *spacenla_get_type (void);
SpaceType *spaceoops_get_type (void);
SpaceType *spaceseq_get_type (void);
SpaceType *spacesound_get_type (void);
SpaceType *spacetext_get_type (void);
SpaceType *spaceview3d_get_type (void);

View File

@@ -0,0 +1,41 @@
/* $Id$
*/
/*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
/* defines callback structure for toolbox menu */
typedef struct _TBcallback {
char *desc;
char *key;
void (*cb)(int v); /* callback function takes value */
int val;
} TBcallback;
typedef TBcallback * (*Tbox_callbackfunc)(int l, int x);
void tboxSetCallback(Tbox_callbackfunc f);

View File

@@ -0,0 +1,43 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_TOETS_H
#define BIF_TOETS_H
void BIF_save_rendered_image(void);
int save_image_filesel_str(char *str);
int blenderqread(unsigned short event, short val);
void persptoetsen(unsigned short event); /* dutch rules man */
int untitled(char *name);
#endif

View File

@@ -0,0 +1,122 @@
/* toolbox (SPACEKEY) related
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
/* TBOXX: breedte in pixels */
#define TBOXXL 80
#define TBOXXR 170
#define TBOXX (TBOXXL+TBOXXR)
/* TBOXEL: aantal elementen onder elkaar */
#define TBOXEL 14
/* TBOXH: hoogte van 1 element */
#define TBOXH 20
#define TBOXY TBOXH*TBOXEL
#define TBOXBLACK 1
#define TBOXDGREY 2
#define TBOXWHITE 3
#define TBOXGREY 4
#define TBOXLGREY 5
/* toolbox menu code defines
-> SPACE->(MAIN_ENTRY) */
#ifdef MAART
enum {
TBOX_MAIN_FILE,
TBOX_MAIN_ADD,
TBOX_MAIN_EDIT,
TBOX_MAIN_OBJECT1,
TBOX_MAIN_OBJECT2,
TBOX_MAIN_MESH,
TBOX_MAIN_CURVE,
TBOX_MAIN_KEY,
TBOX_MAIN_RENDER,
TBOX_MAIN_VIEW,
TBOX_MAIN_PYTOOL = 13
};
#else
enum {
TBOX_MAIN_ADD,
TBOX_MAIN_FILE,
TBOX_MAIN_EDIT,
TBOX_MAIN_OBJECT1,
TBOX_MAIN_OBJECT2,
TBOX_MAIN_MESH,
TBOX_MAIN_CURVE,
TBOX_MAIN_KEY,
TBOX_MAIN_RENDER,
TBOX_MAIN_VIEW,
TBOX_MAIN_PYTOOL = 13
};
#endif
/* protos */
/* toolbox.c */
void ColorFunc (int i);
void mygetcursor (short int *index);
void tbox_setinfo (int x, int y);
void dummy (void);
void bgnpupdraw (int startx, int starty, int endx, int endy);
void endpupdraw (void);
void asciitoraw (int ch, short unsigned int *event, short unsigned int *qual);
void tbox_execute (void);
void tbox_getmouse (short int *mval);
void tbox_setmain (int val);
void bgntoolbox (void);
void endtoolbox (void);
void tbox_embossbox (short int x1, short int y1, short int x2, short int y2, short int type);
void tbox_drawelem_body (int x, int y, int type);
void tbox_drawelem_text (int x, int y, int type);
void tbox_drawelem (int x, int y, int type);
void tbox_getactive (int *x, int *y);
void drawtoolbox (void);
void toolbox (void);
void notice (char *str, ...);
void error (char *fmt, ...);
int saveover (char *filename);
int okee (char *fmt, ...);
short button (short *var, short min, short max, char *str);
short fbutton (float *var, float min, float max, char *str);
short sbutton (char *var, float min, float max, char *str); /* __NLA */
int movetolayer_buts (unsigned int *lay);
void draw_numbuts_tip (char *str, int x1, int y1, int x2, int y2);
int do_clever_numbuts (char *name, int tot, int winevent);
void add_numbut (int nr, int type, char *str, float min, float max, void *poin, char *tip);
void clever_numbuts (void);
void replace_names_but (void);
void BIF_screendump(void);
void write_screendump(char *name);

View File

@@ -0,0 +1,48 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_USIBLENDER_H
#define BIF_USIBLENDER_H
void exit_usiblender(void);
void BIF_init(void);
void BIF_read_file (char *name);
int BIF_read_homefile (void);
void BIF_read_autosavefile (void);
void BIF_write_file (char *target);
void BIF_write_homefile (void);
void BIF_write_autosave (void);
#endif

View File

@@ -0,0 +1,44 @@
/**
* Functions for writing windows avi-format files.
*
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*
*/
#ifdef _WIN32
void start_avi_codec(void);
void append_avi_codec(int frame);
void end_avi_codec(void);
int get_codec_settings(void);
#endif

View File

@@ -0,0 +1,42 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_WRITEIMAGE_H
#define BIF_WRITEIMAGE_H
struct ImBuf;
struct EnvMap;
int BIF_write_ibuf(struct ImBuf *ibuf, char *name);
void BIF_save_envmap(struct EnvMap *env, char *str);
#endif

View File

@@ -0,0 +1,40 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BIF_WRITEMOVIE_H
#define BIF_WRITEMOVIE_H
void start_movie(void);
void append_movie(int fnum);
void end_movie(void);
#endif

View File

@@ -0,0 +1,46 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_BUTTONS_H
#define BSE_BUTTONS_H
struct ID;
void test_meshpoin_but(char *name, struct ID **idpp);
void test_obpoin_but(char *name, struct ID **idpp);
void test_scenepoin_but(char *name, struct ID **idpp);
void test_matpoin_but(char *name, struct ID **idpp);
void test_scriptpoin_but(char *name, struct ID **idpp);
void test_actionpoin_but(char *name, ID **idpp); /* __ NLA */
void clever_numbuts_buts();
#endif /* BSE_BUTTONS_H */

View File

@@ -0,0 +1,57 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_DRAWIMASEL_H
#define BSE_DRAWIMASEL_H
struct SpaceImaSel;
void viewgate(short sx, short sy, short ex, short ey);
void areaview (void);
void calc_hilite(struct SpaceImaSel *simasel);
void make_sima_area(struct SpaceImaSel *simasel);
void draw_sima_area(struct SpaceImaSel *simasel);
void select_ima_files(struct SpaceImaSel *simasel);
void move_imadir_sli(struct SpaceImaSel *simasel);
void move_imafile_sli(struct SpaceImaSel *simasel);
void ima_select_all(struct SpaceImaSel *simasel);
void pibplay(struct SpaceImaSel *simasel);
void drawimasel(void);
/* void calc_hilite(SpaceImaSel *simasel); */
/* void ima_select_all(SpaceImaSel *simasel); */
/* void move_imadir_sli(SpaceImaSel *simasel); */
/* void move_imafile_sli(SpaceImaSel *simasel); */
/* void pibplay(SpaceImaSel *simasel); */
/* void select_ima_files(SpaceImaSel *simasel); */
#endif /* BSE_DRAWIMASEL_H */

View File

@@ -0,0 +1,63 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_DRAWIPO_H
#define BSE_DRAWIPO_H
struct EditIpo;
struct View2D;
struct rctf;
void calc_ipogrid(void);
void draw_ipogrid(void);
void areamouseco_to_ipoco (struct View2D *v2d, short *mval, float *x, float *y);
void ipoco_to_areaco (struct View2D *v2d, float *vec, short *mval);
void ipoco_to_areaco_noclip (struct View2D *v2d, float *vec, short *mval);
void test_view2d (struct View2D *v2d, int winx, int winy);
void calc_scrollrcts (struct View2D *v2d, int winx, int winy);
int in_ipo_buttons(void);
void drawscroll(int disptype);
void drawipo(void);
void scroll_ipobuts(void);
void view2dzoom(void);
int view2dmove(void);
void view2dborder(void);
struct EditIpo *select_proj_ipo(struct rctf *rectf, int event);
#endif /* BSE_DRAWIPO_H */

View File

@@ -0,0 +1,39 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_DRAWNLA_H
#define BSE_DRAWNLA_H
void drawnlaspace(void);
#endif /* BSE_DRAWNLA */

View File

@@ -0,0 +1,49 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_DRAWOOPS_H
#define BSE_DRAWOOPS_H
struct Oops;
struct uiBlock;
void boundbox_oops(void);
void give_oopslink_line(struct Oops *oops, struct OopsLink *ol, float *v1, float *v2);
void draw_oopslink(struct Oops *oops);
void draw_icon_oops(float *co, short type);
void mysbox(float x1, float y1, float x2, float y2);
unsigned int give_oops_color(short type, short sel, unsigned int *border);
void calc_oopstext(char *str, float *v1);
void draw_oops(struct Oops *oops, struct uiBlock *block);
void drawoopsspace(void);
#endif /* BSE_DRAWOOPS */

View File

@@ -0,0 +1,64 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_DRAWVIEW_H
#define BSE_DRAWVIEW_H
struct Object;
struct BGpic;
struct rcti;
void setalpha_bgpic(struct BGpic *bgpic);
void default_gl_light(void);
void init_gl_stuff(void);
void two_sided(int val);
void circf(float x, float y, float rad);
void circ(float x, float y, float rad);
void backdrawview3d(int test);
void drawview3d(void);
void drawview3d_render(struct View3D *v3d);
int update_time(void);
void calc_viewborder(struct View3D *v3d, struct rcti *viewborder_r);
void view3d_set_1_to_1_viewborder(struct View3D *v3d);
void timestr(double time, char *str);
double speed_to_swaptime(int speed);
double key_to_swaptime(int key);
void sumo_callback(void *obp);
void init_anim_sumo(void);
void update_anim_sumo(void);
void end_anim_sumo(void);
void inner_play_anim_loop(int init, int mode);
int play_anim(int mode);
#endif /* BSE_DRAWVIEW_H */

View File

@@ -0,0 +1,44 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_EDIT_H
#define BSE_EDIT_H
struct Object;
struct rcti;
int get_border(struct rcti *rect, short col);
void count_object(struct Object *ob, int sel);
void countall(void);
void snapmenu(void);
#endif /* BSE_EDIT_H */

View File

@@ -0,0 +1,56 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_EDITACTION_H
#define BSE_EDITACTION_H
struct bAction;
struct bActionChannel;
struct bPoseChannel;
struct Object;
struct Ipo;
struct bActionChannel* get_hilighted_action_channel(struct bAction* action);
void set_exprap_action(int mode);
void free_posebuf(void);
void copy_posebuf (void);
void paste_posebuf (int flip);
void set_action_key (struct bAction *act, struct bPoseChannel *chan, int adrcode, short makecurve);
struct bAction *add_empty_action(void);
void deselect_actionchannel_keys (struct bAction *act, int test);
void deselect_actionchannels (struct bAction *act, int test);
void winqreadactionspace(unsigned short event, short val, char ascii);
void remake_action_ipos(struct bAction *act);
void select_actionchannel_by_name (struct bAction *act, char *name, int select);
struct bAction *bake_action_with_client (struct bAction *act, struct Object *arm, float tolerance);
#endif /* BSE_EDITACTION_H */

View File

@@ -0,0 +1,50 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_EDITACTION_TYPES_H
#define BSE_EDITACTION_TYPES_H
#define CHANNELHEIGHT 16
#define CHANNELSKIP 2
#define ACTWIDTH 128
#define CHANNEL_FILTER_LOC 0x00000001 /* Show location keys */
#define CHANNEL_FILTER_ROT 0x00000002 /* Show rotation keys */
#define CHANNEL_FILTER_SIZE 0x00000004 /* Show size keys */
#define CHANNEL_FILTER_CON 0x00000008 /* Show constraint keys */
#define CHANNEL_FILTER_RGB 0x00000010 /* Show object color keys */
#define CHANNEL_FILTER_CU 0x00010000 /* Show curve keys */
#define CHANNEL_FILTER_ME 0x00020000 /* Show mesh keys */
#define CHANNEL_FILTER_LA 0x00040000 /* Show lamp keys */
#endif /* BSE_EDITACTION_TYPES_H */

View File

@@ -0,0 +1,142 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_EDITIPO_H
#define BSE_EDITIPO_H
struct TransVert;
struct IpoCurve;
struct BezTriple;
struct Ipo;
struct EditIpo;
struct ID;
struct ListBase;
struct Object;
struct IpoKey;
struct TransOb;
void remake_object_ipos(struct Object *ob);
void getname_ac_ei(int nr, char *str);
void getname_co_ei(int nr, char *str);
void getname_ob_ei(int nr, char *str, int colipo);
void getname_tex_ei(int nr, char *str);
void getname_mat_ei(int nr, char *str);
void getname_world_ei(int nr, char *str);
void getname_seq_ei(int nr, char *str);
void getname_cu_ei(int nr, char *str);
void getname_key_ei(int nr, char *str);
void getname_la_ei(int nr, char *str);
void getname_cam_ei(int nr, char *str);
void getname_snd_ei(int nr, char *str);
struct IpoCurve *find_ipocurve(struct Ipo *ipo, int adrcode);
void boundbox_ipocurve(struct IpoCurve *icu);
void boundbox_ipo(struct Ipo *ipo, struct rctf *bb);
void editipo_changed(struct SpaceIpo *si, int doredraw);
void scale_editipo(void);
struct Ipo *get_ipo_to_edit(struct ID **from);
unsigned int ipo_rainbow(int cur, int tot);
void make_ob_editipo(struct Object *ob, struct SpaceIpo *si);
void make_seq_editipo(struct SpaceIpo *si);
void make_cu_editipo(struct SpaceIpo *si);
void make_key_editipo(struct SpaceIpo *si);
int texchannel_to_adrcode(int channel);
void make_mat_editipo(struct SpaceIpo *si);
void make_world_editipo(struct SpaceIpo *si);
void make_lamp_editipo(struct SpaceIpo *si);
void make_camera_editipo(struct SpaceIpo *si);
int make_action_editipo(struct Ipo *ipo, struct EditIpo **si);
int make_constraint_editipo(struct Ipo *ipo, struct EditIpo **si);
void make_sound_editipo(struct SpaceIpo *si);
void make_editipo(void);
void test_editipo(void);
void get_status_editipo(void);
void update_editipo_flags(void);
void set_editflag_editipo(void);
void swap_selectall_editipo(void);
void swap_visible_editipo(void);
void deselectall_editipo(void);
short findnearest_ipovert(struct IpoCurve **icu, struct BezTriple **bezt);
void move_to_frame(void);
void do_ipowin_buts(short event);
void do_ipo_selectbuttons(void);
struct EditIpo *get_editipo(void);
struct IpoCurve *get_ipocurve(struct ID *from, short type, int adrcode, struct Ipo* useipo);
void insert_vert_ipo(struct IpoCurve *icu, float x, float y);
void add_vert_ipo(void);
void add_duplicate_editipo(void);
void remove_doubles_ipo(void);
void join_ipo(void);
void ipo_snapmenu(void);
void mouse_select_ipo(void);
void sethandles_ipo(int code);
void set_ipotype(void);
void borderselect_ipo(void);
void del_ipo(void);
void free_ipocopybuf(void);
void copy_editipo(void);
void paste_editipo(void);
void set_exprap_ipo(int mode);
int find_other_handles(struct EditIpo *eicur,
float ctime, struct BezTriple **beztar);
void set_speed_editipo(float speed);
void insertkey(struct ID *id, int adrcode);
void insertkey_editipo(void);
void common_insertkey(void);
void free_ipokey(struct ListBase *lb);
void add_to_ipokey(struct ListBase *lb, struct BezTriple *bezt, int nr, int len);
void make_ipokey(void);
void make_ipokey_transform(struct Object *ob, struct ListBase *lb, int sel);
void update_ipokey_val(void);
void set_tob_old(float *old, float *poin);
void set_ipo_pointers_transob(struct IpoKey *ik, struct TransOb *tob);
void nextkey(struct ListBase *elems, int dir);
void movekey_ipo(int dir);
void movekey_obipo(int dir);
void nextkey_ipo(int dir);
void nextkey_obipo(int dir);
void remake_ipo_transverts(struct TransVert *transmain, float *dvec, int tot);
void transform_ipo(int mode);
void clever_numbuts_ipo(void);
void filter_sampledata(float *data, int sfra, int efra);
void sampledata_to_ipocurve(float *data, int sfra, int efra, struct IpoCurve *icu);
void ipo_record(void);
void set_ipo_key_selection(struct Ipo *ipo, int sel);
int is_ipo_key_selected(struct Ipo *ipo);
void delete_ipo_keys(struct Ipo *ipo);
int fullselect_ipo_keys(struct Ipo *ipo);
int add_trans_ipo_keys(struct Ipo *ipo, struct TransVert *tv, int tvtot);
void duplicate_ipo_keys(struct Ipo *ipo);
void borderselect_ipo_key(struct Ipo *ipo, float xmin, float xmax, int val);
void select_ipo_key(struct Ipo *ipo, float selx, int sel);
#endif /* BSE_EDITIPO_H */

View File

@@ -0,0 +1,262 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_EDITIPO_TYPES_H
#define BSE_EDITIPO_TYPES_H
struct BezTriple;
typedef struct IpoKey {
struct IpoKey *next, *prev;
short flag, rt;
float val;
struct BezTriple **data;
} IpoKey;
typedef struct EditIpo {
char name[12];
IpoCurve *icu;
short adrcode, flag;
short disptype, rt;
unsigned int col;
} EditIpo;
#define IPOBUTY 17
#define TOB_IPO 1
#define TOB_IPODROT 2
#define TOB_IKA 4
/* disptype */
#define IPO_DISPDEGR 1
#define IPO_DISPBITS 2
#define IPO_DISPTIME 3
/* ******************** */
#define OB_TOTIPO 24
#define OB_LOC_X 1
#define OB_LOC_Y 2
#define OB_LOC_Z 3
#define OB_DLOC_X 4
#define OB_DLOC_Y 5
#define OB_DLOC_Z 6
#define OB_ROT_X 7
#define OB_ROT_Y 8
#define OB_ROT_Z 9
#define OB_DROT_X 10
#define OB_DROT_Y 11
#define OB_DROT_Z 12
#define OB_SIZE_X 13
#define OB_SIZE_Y 14
#define OB_SIZE_Z 15
#define OB_DSIZE_X 16
#define OB_DSIZE_Y 17
#define OB_DSIZE_Z 18
#define OB_LAY 19
#define OB_TIME 20
#define OB_EFF_X 21
#define OB_EFF_Y 22
#define OB_EFF_Z 23
#define OB_COL_R 21
#define OB_COL_G 22
#define OB_COL_B 23
#define OB_COL_A 24
/* ******************** */
#define MA_TOTIPO 32
#define MA_COL_R 1
#define MA_COL_G 2
#define MA_COL_B 3
#define MA_SPEC_R 4
#define MA_SPEC_G 5
#define MA_SPEC_B 6
#define MA_MIR_R 7
#define MA_MIR_G 8
#define MA_MIR_B 9
#define MA_REF 10
#define MA_ALPHA 11
#define MA_EMIT 12
#define MA_AMB 13
#define MA_SPEC 14
#define MA_HARD 15
#define MA_SPTR 16
#define MA_ANG 17
#define MA_MODE 18
#define MA_HASIZE 19
#define MA_MAP1 0x20
#define MA_MAP2 0x40
#define MA_MAP3 0x80
#define MA_MAP4 0x100
#define MA_MAP5 0x200
#define MA_MAP6 0x400
#define MA_MAP7 0x800
#define MA_MAP8 0x1000
#define MAP_OFS_X 1
#define MAP_OFS_Y 2
#define MAP_OFS_Z 3
#define MAP_SIZE_X 4
#define MAP_SIZE_Y 5
#define MAP_SIZE_Z 6
#define MAP_R 7
#define MAP_G 8
#define MAP_B 9
#define MAP_DVAR 10
#define MAP_COLF 11
#define MAP_NORF 12
#define MAP_VARF 13
/* ******************** */
#define SEQ_TOTIPO 1
#define SEQ_FAC1 1
/* ******************** */
#define CU_TOTIPO 1
#define CU_SPEED 1
/* ******************** */
#define KEY_TOTIPO 32
#define KEY_SPEED 0
#define KEY_NR 1
/* ******************** */
#define WO_TOTIPO 29
#define WO_HOR_R 1
#define WO_HOR_G 2
#define WO_HOR_B 3
#define WO_ZEN_R 4
#define WO_ZEN_G 5
#define WO_ZEN_B 6
#define WO_EXPOS 7
#define WO_MISI 8
#define WO_MISTDI 9
#define WO_MISTSTA 10
#define WO_MISTHI 11
#define WO_STAR_R 12
#define WO_STAR_G 13
#define WO_STAR_B 14
#define WO_STARDIST 15
#define WO_STARSIZE 16
/* ******************** */
#define LA_TOTIPO 23
#define LA_ENERGY 1
#define LA_COL_R 2
#define LA_COL_G 3
#define LA_COL_B 4
#define LA_DIST 5
#define LA_SPOTSI 6
#define LA_SPOTBL 7
#define LA_QUAD1 8
#define LA_QUAD2 9
#define LA_HALOINT 10
/* ******************** */
#define CAM_TOTIPO 3
#define CAM_LENS 1
#define CAM_STA 2
#define CAM_END 3
/* ******************** */
#define SND_TOTIPO 4
#define SND_VOLUME 1
#define SND_PITCH 2
#define SND_PANNING 3
#define SND_ATTEN 4
/* ******************** */
#define AC_TOTIPO 10 /* Action Ipos */
#define AC_LOC_X 1
#define AC_LOC_Y 2
#define AC_LOC_Z 3
#define AC_SIZE_X 13
#define AC_SIZE_Y 14
#define AC_SIZE_Z 15
#define AC_QUAT_W 25
#define AC_QUAT_X 26
#define AC_QUAT_Y 27
#define AC_QUAT_Z 28
/* ******************** */
#define CO_TOTIPO 1 /* Constraint Ipos */
#define CO_ENFORCE 1
/*
#define CO_TIME 2
#define CO_OFFSET_X 3
#define CO_OFFSET_Y 4
#define CO_OFFSET_Z 5
#define CO_ORIENT_X 6
#define CO_ORIENT_Y 7
#define CO_ORIENT_Z 8
#define CO_ROLL 9
*/
#endif /* BSE_EDITIPO_TYPES_H */

View File

@@ -0,0 +1,42 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_EDITNLA_TYPES_H
#define BSE_EDITNLA_TYPES_H
#define NLAWIDTH 196
#define NLACHANNELHEIGHT 16
#define NLACHANNELSKIP 1
#define ACTIVE_ARMATURE(base) ((base)->object->type==OB_ARMATURE && (base)->object->action)
#endif /* BSE_EDITNLA_TYPES_H */

View File

@@ -0,0 +1,59 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*
*/
#ifndef BSE_FILESEL_H
#define BSE_FILESEL_H
struct SpaceFile;
struct direntry;
struct ID;
void clear_global_filesel_vars(void);
void filesel_statistics(struct SpaceFile *sfile, int *totfile, int *selfile, float *totlen, float *sellen);
void checkdir(char *dir);
void test_flags_file(struct SpaceFile *sfile);
void sort_filelist(struct SpaceFile *sfile);
void read_dir(struct SpaceFile *sfile);
void freefilelist(struct SpaceFile *sfile);
void parent(struct SpaceFile *sfile);
void swapselect_file(struct SpaceFile *sfile);
void drawfilespace(void);
void activate_fileselect(int type, char *title, char *file, void (*func)(char *));
void activate_imageselect(int type, char *title, char *file, void (*func)(char *));
void activate_databrowse(struct ID *id, int idcode, int fromcode, int retval, short *menup, void (*func)(unsigned short));
void filesel_prevspace(void);
void free_filesel_spec(char *dir);
void winqreadfilespace(unsigned short event, short val, char ascii);
void main_to_filelist(struct SpaceFile *sfile);
#endif

View File

@@ -0,0 +1,84 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_HEADERBUTTONS_H
#define BSE_HEADERBUTTONS_H
struct uiBlock;
struct ID;
void free_matcopybuf(void);
void clear_matcopybuf(void);
void write_videoscape_fs(void);
void write_vrml_fs(void);
void write_dxf_fs(void);
void do_global_buttons(unsigned short event);
void do_global_buttons2(short event);
int buttons_do_unpack(void);
struct Scene *copy_scene(struct Scene *sce, int level);
void do_info_buttons(unsigned short event);
int start_progress_bar();
void end_progress_bar();
int progress_bar(float done, char *busy_info);
void update_for_newframe(void);
void info_buttons(void);
void do_seq_buttons(short event);
void seq_buttons(void);
void do_view3d_buttons(short event);
void sound_buttons(void);
void do_action_buttons(unsigned short event);
void do_ipo_buttons(short event);
void do_buts_buttons(short event);
void do_oops_buttons(short event);
void do_sound_buttons(unsigned short event);
void do_layer_buttons(short event);
void do_nla_buttons(unsigned short event);
void nla_buttons(void);
void action_buttons(void);
void buts_buttons(void);
void file_buttons(void);
void image_buttons(void);
void imasel_buttons(void);
void ipo_buttons(void);
void oops_buttons(void);
void text_buttons(void);
void view3d_buttons(void);
void buttons_active_id(struct ID **id, struct ID **idfrom);
void do_headerbuttons(short event);
#endif /* BSE_HEADERBUTTONS_H */

View File

@@ -0,0 +1,113 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*
*/
#ifndef BSE_SEQUENCE_H
#define BSE_SEQUENCE_H
struct PluginSeq;
struct StripElem;
struct Strip;
struct Sequence;
struct ListBase;
struct Editing;
struct ImBuf;
struct Scene;
void open_plugin_seq(struct PluginSeq *pis, char *seqname);
struct PluginSeq *add_plugin_seq(char *str, char *seqname);
void free_plugin_seq(struct PluginSeq *pis);
void free_stripdata(int len, struct StripElem *se);
void free_strip(struct Strip *strip);
void new_stripdata(struct Sequence *seq);
void free_sequence(struct Sequence *seq);
void do_seq_count(struct ListBase *seqbase, int *totseq);
void do_build_seqar(struct ListBase *seqbase, struct Sequence ***seqar, int depth);
void build_seqar(struct ListBase *seqbase, struct Sequence ***seqar, int *totseq);
void free_editing(struct Editing *ed);
void calc_sequence(struct Sequence *seq);
void sort_seq(void);
void clear_scene_in_allseqs(struct Scene *sce);
void do_alphaover_effect(float facf0,
float facf1,
int x, int y,
unsigned int *rect1,
unsigned int *rect2,
unsigned int *out);
void do_alphaunder_effect(float facf0, float facf1,
int x, int y,
unsigned int *rect1, unsigned int *rect2,
unsigned int *out);
void do_cross_effect(float facf0, float facf1,
int x, int y,
unsigned int *rect1, unsigned int *rect2,
unsigned int *out);
void do_gammacross_effect(float facf0, float facf1,
int x, int y,
unsigned int *rect1, unsigned int *rect2,
unsigned int *out);
void do_add_effect(float facf0, float facf1,
int x, int y,
unsigned int *rect1, unsigned int *rect2,
unsigned int *out);
void do_sub_effect(float facf0, float facf1,
int x, int y,
unsigned int *rect1, unsigned int *rect2,
unsigned int *out);
void do_drop_effect(float facf0, float facf1,
int x, int y,
unsigned int *rect2i, unsigned int *rect1i,
unsigned int *outi);
void do_drop_effect2(float facf0, float facf1,
int x, int y,
unsigned int *rect2, unsigned int *rect1,
unsigned int *out);
void do_mul_effect(float facf0, float facf1,
int x, int y,
unsigned int *rect1, unsigned int *rect2,
unsigned int *out);
void make_black_ibuf(struct ImBuf *ibuf);
void multibuf(struct ImBuf *ibuf, float fmul);
void do_effect(int cfra, struct Sequence *seq, struct StripElem *se);
int evaluate_seq_frame(int cfra);
struct StripElem *give_stripelem(struct Sequence *seq, int cfra);
void set_meta_stripdata(struct Sequence *seqm);
void do_seq_count_cfra(struct ListBase *seqbase, int *totseq, int cfra);
void do_build_seqar_cfra(struct ListBase *seqbase, struct Sequence ***seqar, int cfra);
struct ImBuf *give_ibuf_seq(int cfra);
void free_imbuf_effect_spec(int cfra);
void free_imbuf_seq_except(int cfra);
void free_imbuf_seq(void);
void do_render_seq(void);
#endif

View File

@@ -0,0 +1,88 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BSE_TRANS_TYPES_H
#define BSE_TRANS_TYPES_H
struct Object;
/* struct EditVlak; */
/* struct EditEdge; */
/* struct EditVert; */
/* struct ListBase; */
typedef struct TransOb {
float *loc;
float oldloc[9];
float *eff;
float oldeff[3];
float *rot;
float oldrot[12];
float olddrot[3];
float *quat;
float oldquat[16];
float olddquat[4];
float *size;
float oldsize[12];
float olddsize[3];
float obmat[3][3];
float obinv[3][3];
float parmat[3][3];
float parinv[3][3];
float obvec[3];
int flag; /* keys */
float *locx, *locy, *locz;
float *rotx, *roty, *rotz;
float *quatx, *quaty, *quatz, *quatw;
float *sizex, *sizey, *sizez;
/* __NLA */
float axismat[3][3]; /* Restmat of object (for localspace transforms) */
void *data; /* Arbitrary data */
/* end __NLA */
struct Object *ob;
} TransOb;
typedef struct TransVert {
float *loc;
float oldloc[3], fac;
float *val, oldval;
int flag;
float *nor;
} TransVert;
typedef struct VPaint {
float r, g, b, a;
float size; /* van brush */
float gamma, mul;
short mode, flag;
} VPaint;
#endif /* BSE_TRANS_TYPES_H */

View File

@@ -0,0 +1,71 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
/* forward declarations for some prototype header */
/* these may wildly occur in other header files, too */
struct BGpic;
struct SpaceText;
struct Oops;
struct OopsLink;
struct uiBlock;
struct BoundBox;
struct Image;
struct ImBuf;
struct SpaceImaSel;
struct Sequence;
struct Scene;
struct IpoCurve;
struct Ipo;
struct IpoKey;
struct Mesh;
struct TFace;
struct Object;
struct TransOb;
struct TransVert;
struct BPoint;
struct BezTriple;
struct Nurb;
struct EditVlak;
struct EditVert;
struct EditEdge;
struct EditIpo;
struct bArmature;
struct Bone;
/* interface crap */
struct uiBut;

View File

@@ -0,0 +1,70 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
* protos for view.c -- not complete
*/
#ifndef BSE_VIEW_H
#define BSE_VIEW_H
struct Object;
struct BoundBox;
struct View3D;
struct ScrArea;
void persp3d(struct View3D *v3d, int a);
void persp_general(int a);
void persp(int a);
void initgrabz(float x, float y, float z);
void window_to_3d(float *vec, short mx, short my);
void project_short(float *vec, short *adr);
void project_short_noclip(float *vec, short *adr);
int boundbox_clip(float obmat[][4], struct BoundBox *bb);
void fdrawline(float x1, float y1, float x2, float y2);
void fdrawbox(float x1, float y1, float x2, float y2);
void sdrawline(short x1, short y1, short x2, short y2);
void sdrawbox(short x1, short y1, short x2, short y2);
void calctrackballvecfirst(struct rcti *area, short *mval, float *vec);
void calctrackballvec(struct rcti *area, short *mval, float *vec);
void viewmove(int mode);
void setwinmatrixview3d(struct rctf *rect);
void obmat_to_viewmat(struct Object *ob);
void setviewmatrixview3d(void);
float *give_cursor(void);
unsigned int free_localbit(void);
void initlocalview(void);
void centreview(void);
void restore_localviewdata(struct View3D *vd);
void endlocalview(struct ScrArea *sa);
void view3d_home(int centre);
short selectprojektie(unsigned int *buffer, short x1, short y1, short x2, short y2);
void view3d_align_axis_to_vector(struct View3D *v3d, int axisidx, float vec[3]);
#endif

View File

@@ -0,0 +1,40 @@
/*
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
* Decimation file dependency fix (and kludge)
* Use together with a NAN_DECIMATIONTEST env.var. for Makefile-based linking
*/
#ifndef LOD_DEPENDKLUDGE_H
#define LOD_DEPENDKLUDGE_H
#define NAN_DECIMATION
#endif //LOD_DEPENDKLUDGE_H

View File

@@ -0,0 +1,42 @@
/*
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
* Texture paint tool file dependency fix (and kludge)
*/
#ifndef TPT_DEPENDKLUDGE_H
#define TPT_DEPENDKLUDGE_H
#define NAN_TPT
//#undef NAN_TPT
#endif /* TPT_DEPENDKLUDGE_H */

View File

@@ -0,0 +1,403 @@
/* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef BLENDEF_H
#define BLENDEF_H
#ifdef WIN32
#else
#ifndef __BeOS
#define O_BINARY 0
#endif
#endif
#ifndef MAXFLOAT
#define MAXFLOAT ((float)3.40282347e+38)
#endif
#include <float.h> /* deze moet een keer naar de blender.h */
/* **************** ALGEMEEN ********************* */
#define VECCOPY(v1,v2) {*(v1)= *(v2); *(v1+1)= *(v2+1); *(v1+2)= *(v2+2);}
#define QUATCOPY(v1,v2) {*(v1)= *(v2); *(v1+1)= *(v2+1); *(v1+2)= *(v2+2); *(v1+3)= *(v2+3);}
#define INPR(v1, v2) ( (v1)[0]*(v2)[0] + (v1)[1]*(v2)[1] + (v1)[2]*(v2)[2] )
#define CLAMP(a, b, c) if((a)<(b)) (a)=(b); else if((a)>(c)) (a)=(c)
#define CLAMPIS(a, b, c) ((a)<(b) ? (b) : (a)>(c) ? (c) : (a))
#define CLAMPTEST(a, b, c) if((b)<(c)) {CLAMP(a, b, c);} else {CLAMP(a, c, b);}
#define IS_EQ(a,b) ((fabs((double)(a)-(b)) >= (double) FLT_EPSILON) ? 0 : 1)
#define INIT_MINMAX(min, max) (min)[0]= (min)[1]= (min)[2]= 1.0e30; (max)[0]= (max)[1]= (max)[2]= -1.0e30;
#define DO_MINMAX(vec, min, max) if( (min)[0]>(vec)[0] ) (min)[0]= (vec)[0]; \
if( (min)[1]>(vec)[1] ) (min)[1]= (vec)[1]; \
if( (min)[2]>(vec)[2] ) (min)[2]= (vec)[2]; \
if( (max)[0]<(vec)[0] ) (max)[0]= (vec)[0]; \
if( (max)[1]<(vec)[1] ) (max)[1]= (vec)[1]; \
if( (max)[2]<(vec)[2] ) (max)[2]= (vec)[2]; \
#define DO_MINMAX2(vec, min, max) if( (min)[0]>(vec)[0] ) (min)[0]= (vec)[0]; \
if( (min)[1]>(vec)[1] ) (min)[1]= (vec)[1]; \
if( (max)[0]<(vec)[0] ) (max)[0]= (vec)[0]; \
if( (max)[1]<(vec)[1] ) (max)[1]= (vec)[1];
#define MINSIZE(val, size) ( ((val)>=0.0) ? (((val)<(size)) ? (size): (val)) : ( ((val)>(-size)) ? (-size) : (val)))
#define BTST(a,b) ( ( (a) & 1<<(b) )!=0 )
#define BCLR(a,b) ( (a) & ~(1<<(b)) )
#define BSET(a,b) ( (a) | 1<<(b) )
/* bit-row */
#define BROW(min, max) (((max)>=31? 0xFFFFFFFF: (1<<(max+1))-1) - ((min)? ((1<<(min))-1):0) )
// return values
#define RET_OK 0
#define RET_ERROR 1
#define RET_CANCEL 2
#define RET_YES (1 == 1)
#define RET_NO (1 == 0)
#define LONGCOPY(a, b, c) {int lcpc=c, *lcpa=(int *)a, *lcpb=(int *)b; while(lcpc-->0) *(lcpa++)= *(lcpb++);}
#if defined(__sgi) || defined(__sparc) || defined (__PPC__) || defined (__ppc__) || defined (__BIG_ENDIAN__)
/* big endian */
#define MAKE_ID2(c, d) ( (c)<<8 | (d) )
#define MOST_SIG_BYTE 0
#define BBIG_ENDIAN
#else
/* little endian */
#define MAKE_ID2(c, d) ( (d)<<8 | (c) )
#define MOST_SIG_BYTE 1
#define BLITTLE_ENDIAN
#endif
#define SELECT 1
#define ACTIVE 2
#define NOT_YET 0
#define TESTBASE(base) ( ((base)->flag & SELECT) && ((base)->lay & G.vd->lay) )
#define TESTBASELIB(base) ( ((base)->flag & SELECT) && ((base)->lay & G.vd->lay) && ((base)->object->id.lib==0))
#define FIRSTBASE G.scene->base.first
#define LASTBASE G.scene->base.last
#define BASACT (G.scene->basact)
#define OBACT (BASACT? BASACT->object: 0)
#define ID_NEW(a) if( (a) && (a)->id.newid ) (a)= (void *)(a)->id.newid
#define ID_NEW_US(a) if( (a)->id.newid) {(a)= (void *)(a)->id.newid; (a)->id.us++;}
#define ID_NEW_US2(a) if( ((ID *)a)->newid) {(a)= ((ID *)a)->newid; ((ID *)a)->us++;}
#define CFRA (G.scene->r.cfra)
#define F_CFRA ((float)(G.scene->r.cfra))
#define SFRA (G.scene->r.sfra)
#define EFRA (G.scene->r.efra)
#define ISPOIN(a, b, c) ( (a->b) && (a->c) )
#define ISPOIN3(a, b, c, d) ( (a->b) && (a->c) && (a->d) )
#define ISPOIN4(a, b, c, d, e) ( (a->b) && (a->c) && (a->d) && (a->e) )
#define KNOTSU(nu) ( (nu)->orderu+ (nu)->pntsu+ (nu->orderu-1)*((nu)->flagu & 1) )
#define KNOTSV(nu) ( (nu)->orderv+ (nu)->pntsv+ (nu->orderv-1)*((nu)->flagv & 1) )
/* psfont */
#define FNT_PDRAW 1
#define FNT_HAEBERLI 2
/* isect en scanfill */
#define COMPLIMIT 0.0003
/* **************** MAX ********************* */
#define MAXLAMP 256
/* max lengte material array, 16 vanwege bitjes in matfrom */
#define MAXPICKBUF 2000
#define MAXSEQ 32
/* in Image struct */
#define MAXMIPMAP 10
/* in buttons.c */
#define MAX_EFFECT 20
/* getbutton */
/* do_global_buttons(event) */
#define B_ACTLOCAL 24 /* __NLA */
#define B_ACTALONE 25 /* __NLA */
#define B_ARMLOCAL 26 /* __NLA */
#define B_ARMALONE 27 /* __NLA */
#define B_WORLDLOCAL 28
#define B_WORLDALONE 29
#define B_LATTLOCAL 30
#define B_MBALLLOCAL 31
#define B_CAMERALOCAL 32
#define B_OBLOCAL 33
#define B_IPOLOCAL 34
#define B_LAMPLOCAL 35
#define B_MATLOCAL 36
#define B_TEXLOCAL 37
#define B_MESHLOCAL 38
#define B_CURVELOCAL 39
#define B_LATTALONE 40
#define B_MBALLALONE 41
#define B_CAMERAALONE 42
#define B_OBALONE 43
#define B_IPOALONE 44
#define B_LAMPALONE 45
#define B_MATALONE 46
#define B_TEXALONE 47
#define B_MESHALONE 48
#define B_CURVEALONE 49
/* EVENT < 50: alone's en locals */
#define B_SHOWSPLASH 70
#define B_RESETAUTOSAVE 71
#define B_SOUNDTOGGLE 72
#define B_MIPMAPCHANGED 73
#define B_CONSTRAINTBROWSE 74 /* __NLA */
#define B_ACTIONDELETE 75 /* __NLA */
#define B_ACTIONBROWSE 76 /* __NLA */
#define B_IMAGEDELETE 77
#define B_LTEXBROWSE 78
#define B_MESHBROWSE 79
#define B_EXTEXBROWSE 80
#define B_LOADTEMP 81
#define B_MATDELETE 82
#define B_TEXDELETE 83
#define B_IPODELETE 84
#define B_WORLDDELETE 85
#define B_WTEXBROWSE 86
#define B_WORLDBROWSE 87
#define B_IPOBROWSE 88
#define B_NEWFRAME 89
#define B_LAMPBROWSE 90
#define B_MATBROWSE 91
#define B_TEXBROWSE 92
#define B_EDITBROWSE 93
#define B_AUTOTEXNAME 94
#define B_AUTOMATNAME 95
#define B_MATLOCK 96
#define B_IDNAME 97
#define B_NEWSPACE 98
#define B_FULL 99
#define B_REDR 100
/* VIEW3D: 100 */
#define B_HOME 101
#define B_LAY 102
/* pasop: codes 102-132 in gebuik voor layers */
#define B_AUTOKEY 139
#define B_SCENELOCK 140
#define B_LOCALVIEW 141
#define B_U_CAPSLOCK 142
#define B_EDITMODE 143
#define B_VPAINT 144
#define B_FACESEL 145
#define B_VIEWBUT 146
#define B_PERSP 147
#define B_PROPTOOL 148
#define B_VIEWRENDER 149
#define B_VIEWTRANS 150
#define B_VIEWZOOM 151
#define B_STARTGAME 152
#define B_POSEMODE 153
#define B_TEXTUREPAINT 154
#define B_WPAINT 155
/* IPO: 200 */
#define B_IPOHOME 201
#define B_IPOBORDER 202
#define B_IPOCOPY 203
#define B_IPOPASTE 204
#define B_IPOCONT 205
#define B_IPOEXTRAP 206
#define B_IPOCYCLIC 207
#define B_IPOMAIN 208
#define B_IPOSHOWKEY 209
#define B_IPOCYCLICX 210
/* warn: also used for oops and seq */
#define B_VIEW2DZOOM 211
#define B_IPOPIN 212
/* OOPS: 250 */
#define B_OOPSHOME 251
#define B_OOPSBORDER 252
#define B_NEWOOPS 253
/* INFO: 300 */
/* pas op: ook in filesel.c en editobject.c */
#define B_INFOSCR 301
#define B_INFODELSCR 302
#define B_INFOSCE 304
#define B_INFODELSCE 305
#define B_FILEMENU 306
#define B_PACKFILE 307
/* IMAGE: 350 */
#define B_SIMAGEHOME 351
#define B_SIMABROWSE 352
#define B_SIMAGELOAD 353
#define B_SIMAGEDRAW 354
#define B_BE_SQUARE 355
#define B_SIMAGEDRAW1 356
#define B_TWINANIM 357
#define B_SIMAGEREPLACE 358
#define B_CLIP_UV 359
#define B_SIMAGELOAD1 360
#define B_SIMAGEREPLACE1 361
#define B_SIMAGEPAINTTOOL 362
#define B_SIMAPACKIMA 363
#define B_SIMAGESAVE 364
/* BUTS: 400 */
#define B_BUTSHOME 401
#define B_BUTSPREVIEW 402
#define B_MATCOPY 403
#define B_MATPASTE 404
#define B_MESHTYPE 405
/* IMASEL: 450 */
/* in de imasel.h */
/* TEXT: 500 */
#define B_TEXTBROWSE 501
#define B_TEXTALONE 502
#define B_TEXTLOCAL 503
#define B_TEXTDELETE 504
#define B_TEXTFONT 505
#define B_TEXTSTORE 506
/* FILE: 550 */
#define B_SORTFILELIST 551
#define B_RELOADDIR 552
/* SEQUENCE: 600 */
#define B_SEQHOME 601
#define B_SEQCLEAR 602
/* SOUND: 650 */
#define B_SOUNDBROWSE 651
#define B_SOUNDBROWSE2 652
#define B_SOUNDHOME 653
#define B_PACKSOUND 654
/* ACTION: 701 - 800 */
#define B_ACTHOME 701
#define B_ACTCOPY 702
#define B_ACTPASTE 703
#define B_ACTPASTEFLIP 704
#define B_ACTCYCLIC 705
#define B_ACTCONT 706
#define B_ACTMAIN 707
#define B_ACTPIN 708
#define B_ACTBAKE 709
#define B_NOTHING -1
#define B_NOP -1
/* NLA: 801-900 */
#define B_NLAHOME 801
/* editbutflag */
#define B_CLOCKWISE 1
#define B_KEEPORIG 2
#define B_BEAUTY 4
#define B_SMOOTH 8
/* ***************** DISPLIST ***************** */
#define DL_POLY 0
#define DL_SEGM 1
#define DL_SURF 2
#define DL_TRIA 3
#define DL_INDEX3 4
#define DL_INDEX4 5
#define DL_VERTCOL 6
#define DL_VERTS 7
#define DL_NORS 8
#define DL_SURFINDEX(cyclu, cyclv, sizeu, sizev) \
\
if( (cyclv)==0 && a==(sizev)-1) break; \
if(cyclu) { \
p1= sizeu*a; \
p2= p1+ sizeu-1; \
p3= p1+ sizeu; \
p4= p2+ sizeu; \
b= 0; \
} \
else { \
p2= sizeu*a; \
p1= p2+1; \
p4= p2+ sizeu; \
p3= p1+ sizeu; \
b= 1; \
} \
if( (cyclv) && a==sizev-1) { \
p3-= sizeu*sizev; \
p4-= sizeu*sizev; \
}
/* DISPLAYMODE */
#define R_DISPLAYVIEW 0
#define R_DISPLAYWIN 1
#define R_DISPLAYAUTO 2
#if defined(__sgi) || defined(__sparc) || defined (__PPC__) || defined (__ppc__) || defined (__BIG_ENDIAN__)
#define RCOMP 3
#define GCOMP 2
#define BCOMP 1
#define ACOMP 0
#else
#define RCOMP 0
#define GCOMP 1
#define BCOMP 2
#define ACOMP 3
#endif
#ifdef GS
#undef GS
#endif
#define GS(a) (*((short *)(a)))
#endif

View File

@@ -0,0 +1,56 @@
/*
* datatoc.h
*
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef DATATOC_H
#define DATATOC_H
extern int datatoc_B_blend_size;
extern char datatoc_B_blend[];
extern int datatoc_Bfs_size;
extern char datatoc_Bfs[];
extern int datatoc_blenderbuttons_size;
extern char datatoc_blenderbuttons[];
extern int datatoc_Bfont_size;
extern char datatoc_Bfont[];
extern int datatoc_cmap_tga_size;
extern char datatoc_cmap_tga[];
extern int datatoc_cmovie_tga_size;
extern char datatoc_cmovie_tga[];
#endif /* DATATOC_H */

View File

@@ -0,0 +1,41 @@
/*
* editlattice_ext.h
*
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef EDITLATTICE_EXT_H
#define EDITLATTICE_EXT_H "$Id$"
#define EDITLATTICE_EXT_H "Copyright (C) 2001 NaN Technologies B.V.
void end_latt_deform(void);
#endif /* EDITLATTICE_EXT_H */

View File

@@ -0,0 +1,130 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef INTERFACE_H
#define INTERFACE_H
/* general defines */
#define UI_MAX_DRAW_STR 180
#define UI_MAX_NAME_STR 64
#define UI_ARRAY 29
/* block->font, for now: bold = medium+1 */
#define UI_HELV 0
#define UI_HELVB 1
/* MAART: moved from Button.h */
/* Button types */
#define CHA 32
#define SHO 64
#define INT 96
#define FLO 128
#define FUN 192
#define BIT 256
#define BUTPOIN (128+64+32)
#define BUT (1<<9)
#define ROW (2<<9)
#define TOG (3<<9)
#define SLI (4<<9)
#define NUM (5<<9)
#define TEX (6<<9)
#define TOG3 (7<<9)
#define TOGR (8<<9)
#define TOGN (9<<9)
#define LABEL (10<<9)
#define MENU (11<<9)
#define ICONROW (12<<9)
#define ICONTOG (13<<9)
#define NUMSLI (14<<9)
#define COL (15<<9)
#define IDPOIN (16<<9)
#define HSVSLI (17<<9)
#define SCROLL (18<<9)
#define BLOCK (19<<9)
#define BUTM (20<<9)
#define SEPR (21<<9)
#define LINK (22<<9)
#define INLINK (23<<9)
#define KEYEVT (24<<9)
#define BUTTYPE (31<<9)
#define MAXBUTSTR 20
/* return from uiDoBlock */
#define UI_CONT 0
#define UI_NOTHING 1
#define UI_RETURN_CANCEL 2
#define UI_RETURN_OK 4
#define UI_RETURN_OUT 8
#define UI_RETURN 14
/* uiBut->flag */
#define UI_SELECT 1
#define UI_MOUSE_OVER 2
#define UI_ACTIVE 4
#define UI_HAS_ICON 8
#define UI_TEXT_LEFT 16
/* uiBlock->flag */
#define UI_BLOCK_LOOP 1
#define UI_BLOCK_REDRAW 2
#define UI_BLOCK_RET_1 4
#define UI_BLOCK_BUSY 8
#define UI_BLOCK_NUMSELECT 16
#define UI_BLOCK_ENTER_OK 32
#define UI_BLOCK_MENUMODE 128
/* uiBlock->dt */
#define UI_EMBOSSX 0 /* Rounded embossed button */
#define UI_EMBOSSW 1 /* Flat bordered button */
#define UI_EMBOSSN 2 /* No border */
#define UI_EMBOSSF 3 /* Square embossed button */
#define UI_EMBOSSM 4 /* Colored Border */
#define UI_EMBOSSP 5 /* Borderless coloured button */
/* uiBlock->direction */
#define UI_TOP 0
#define UI_DOWN 1
#define UI_LEFT 2
#define UI_RIGHT 3
/* uiBlock->autofill */
#define UI_BLOCK_COLLUMNS 1
#define UI_BLOCK_ROWS 2
#endif

View File

@@ -0,0 +1,262 @@
/* ipo.h
*
* april 95
*
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef IPO_H
#define IPO_H
struct BezTriple;
typedef struct IpoKey {
struct IpoKey *next, *prev;
short flag, rt;
float val;
struct BezTriple **data;
} IpoKey;
typedef struct EditIpo {
char name[12];
IpoCurve *icu;
short adrcode, flag;
short disptype, rt;
unsigned int col;
} EditIpo;
#define IPOBUTY 17
/* disptype */
#define IPO_DISPDEGR 1
#define IPO_DISPBITS 2
#define IPO_DISPTIME 3
/* ******************** */
#define OB_TOTIPO 24
#define OB_LOC_X 1
#define OB_LOC_Y 2
#define OB_LOC_Z 3
#define OB_DLOC_X 4
#define OB_DLOC_Y 5
#define OB_DLOC_Z 6
#define OB_ROT_X 7
#define OB_ROT_Y 8
#define OB_ROT_Z 9
#define OB_DROT_X 10
#define OB_DROT_Y 11
#define OB_DROT_Z 12
#define OB_SIZE_X 13
#define OB_SIZE_Y 14
#define OB_SIZE_Z 15
#define OB_DSIZE_X 16
#define OB_DSIZE_Y 17
#define OB_DSIZE_Z 18
#define OB_LAY 19
#define OB_TIME 20
#define OB_EFF_X 21
#define OB_EFF_Y 22
#define OB_EFF_Z 23
#define OB_COL_R 21
#define OB_COL_G 22
#define OB_COL_B 23
#define OB_COL_A 24
/* ******************** */
#define MA_TOTIPO 32
#define MA_COL_R 1
#define MA_COL_G 2
#define MA_COL_B 3
#define MA_SPEC_R 4
#define MA_SPEC_G 5
#define MA_SPEC_B 6
#define MA_MIR_R 7
#define MA_MIR_G 8
#define MA_MIR_B 9
#define MA_REF 10
#define MA_ALPHA 11
#define MA_EMIT 12
#define MA_AMB 13
#define MA_SPEC 14
#define MA_HARD 15
#define MA_SPTR 16
#define MA_ANG 17
#define MA_MODE 18
#define MA_HASIZE 19
#define MA_MAP1 0x20
#define MA_MAP2 0x40
#define MA_MAP3 0x80
#define MA_MAP4 0x100
#define MA_MAP5 0x200
#define MA_MAP6 0x400
#define MA_MAP7 0x800
#define MA_MAP8 0x1000
#define MAP_OFS_X 1
#define MAP_OFS_Y 2
#define MAP_OFS_Z 3
#define MAP_SIZE_X 4
#define MAP_SIZE_Y 5
#define MAP_SIZE_Z 6
#define MAP_R 7
#define MAP_G 8
#define MAP_B 9
#define MAP_DVAR 10
#define MAP_COLF 11
#define MAP_NORF 12
#define MAP_VARF 13
/* ******************** */
#define SEQ_TOTIPO 1
#define SEQ_FAC1 1
/* ******************** */
#define CU_TOTIPO 1
#define CU_SPEED 1
/* ******************** */
#define KEY_TOTIPO 32
#define KEY_SPEED 0
#define KEY_NR 1
/* ******************** */
#define WO_TOTIPO 29
#define WO_HOR_R 1
#define WO_HOR_G 2
#define WO_HOR_B 3
#define WO_ZEN_R 4
#define WO_ZEN_G 5
#define WO_ZEN_B 6
#define WO_EXPOS 7
#define WO_MISI 8
#define WO_MISTDI 9
#define WO_MISTSTA 10
#define WO_MISTHI 11
#define WO_STAR_R 12
#define WO_STAR_G 13
#define WO_STAR_B 14
#define WO_STARDIST 15
#define WO_STARSIZE 16
/* ******************** */
#define LA_TOTIPO 23
#define LA_ENERGY 1
#define LA_COL_R 2
#define LA_COL_G 3
#define LA_COL_B 4
#define LA_DIST 5
#define LA_SPOTSI 6
#define LA_SPOTBL 7
#define LA_QUAD1 8
#define LA_QUAD2 9
#define LA_HALOINT 10
/* ******************** */
#define CAM_TOTIPO 3
#define CAM_LENS 1
#define CAM_STA 2
#define CAM_END 3
/* ******************** */
#define SND_TOTIPO 4
#define SND_VOLUME 1
#define SND_PITCH 2
#define SND_PANNING 3
#define SND_ATTEN 4
/* ******************** */
#define AC_TOTIPO 10 /* Action Ipos */
#define AC_LOC_X 1
#define AC_LOC_Y 2
#define AC_LOC_Z 3
#define AC_SIZE_X 13
#define AC_SIZE_Y 14
#define AC_SIZE_Z 15
#define AC_QUAT_W 25
#define AC_QUAT_X 26
#define AC_QUAT_Y 27
#define AC_QUAT_Z 28
/* ******************** */
#define CO_TOTIPO 1 /* Constraint Ipos */
#define CO_ENFORCE 1
/*
#define CO_TIME 2
#define CO_OFFSET_X 3
#define CO_OFFSET_Y 4
#define CO_OFFSET_Z 5
#define CO_ORIENT_X 6
#define CO_ORIENT_Y 7
#define CO_ORIENT_Z 8
#define CO_ROLL 9
*/
#endif /* IPO_H */

View File

@@ -0,0 +1,68 @@
/* $Id$
/*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#define KEY_GETPTR(x) (g_ptrtab ? g_ptrtab[x] : 0)
/* these are the defines for the keyed functions:
#define key_func<n> <function name to be behind key>
This function must be of type "int func(void*)"
To prevent symbol table dumpers from retrieving certain key
functions too easily, some of those functions have nonsense names.
*/
#define key_func1 make_beautiful_animation
#define key_func2 key_return_true
#define key_func3 calc_memleak
/* add the corresponding function pointer defines here.
Example:
#define key_func4 my_protected_function_name
#define MY_PROTECTED_FUNCTION_PTR KEY_GETPTR(KEY_FUNC3)
KEY_GETPTR(KEY_FUNC3) corresponds to the function pointer to function
key_func3 after the python key code unscrambled the function pointer tables.
Also add pointer initializations to these functions in
license_key.c:init_ftable() if necessary.
*/
#define KEY_WRITE_RUNTIME KEY_GETPTR(KEY_FUNC1)
#define KEY_RETURN_TRUE KEY_GETPTR(KEY_FUNC2)
#define KEY_NLA_EVENT KEY_GETPTR(KEY_FUNC3)
/* PROTOS */
int make_beautiful_animation(void *vp);
int calc_memleak (void* ptr);

View File

@@ -0,0 +1,94 @@
/**
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef LICENCEKEY_H
#define LICENCEKEY_H
#define I_AM_PUBLISHER temp_val2
#define LICENSE_KEY_VALID temp_val
#define SHOW_LICENSE_KEY rotop
extern int LICENSE_KEY_VALID;
extern int I_AM_PUBLISHER;
extern char * license_key_name;
extern void loadKeyboard(char * name);
extern void checkhome(void);
extern void SHOW_LICENSE_KEY(void);
#define LICENSE_CHECK_0 (0==0)
// Stuff from the Python files from Strubi
typedef int (*Fptr)(void *);
extern Fptr g_functab[];
extern Fptr g_ptrtab[];
// TODO: From here on, this should be a generated header file...
// change all KEY_FUNC values
// if you change PYKEY_TABLEN or PYKEY_SEED
// see below
#define PYKEY_TABLEN 21 // don't change this unless needed. Other values
// may yield bad random orders
#define PYKEY_SEED {26,8,1972}
// these values are generated by $HOME/develop/intern/keymaker/makeseed.py
// from the above seed value.
// DO NOT EDIT THESE VALUES BY HAND!
#define KEY_FUNC1 12
#define KEY_FUNC2 8
#define KEY_FUNC3 1
#define KEY_FUNC4 16
#define KEY_FUNC5 20
#define KEY_FUNC6 18
#define KEY_FUNC7 13
#define KEY_FUNC8 6
#define KEY_FUNC9 9
#define KEY_FUNC10 7
#define KEY_FUNC11 14
#define KEY_FUNC12 0
#define KEY_FUNC13 5
#define KEY_FUNC14 10
#define KEY_FUNC15 19
#define KEY_FUNC16 2
#define KEY_FUNC17 11
#define KEY_FUNC18 3
#define KEY_FUNC19 17
#define KEY_FUNC20 15
#define KEY_FUNC21 4
#endif

View File

@@ -0,0 +1,242 @@
#ifndef __MYDEVICE_H__
#define __MYDEVICE_H__
/*
*
* mouse / timer / window: tot 0x020
* eigen codes: 0x4...
*
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
/* MOUSE : 0x00x */
#define LEFTMOUSE 0x001
#define MIDDLEMOUSE 0x002
#define RIGHTMOUSE 0x003
#define MOUSEX 0x004
#define MOUSEY 0x005
/* timers */
#define TIMER0 0x006
#define TIMER1 0x007
#define TIMER2 0x008
#define TIMER3 0x009
/* SYSTEM : 0x01x */
#define KEYBD 0x010 /* keyboard */
#define RAWKEYBD 0x011 /* raw keyboard for keyboard manager */
#define REDRAW 0x012 /* used by port manager to signal redraws */
#define INPUTCHANGE 0x013 /* input connected or disconnected */
#define QFULL 0x014 /* queue was filled */
#define WINFREEZE 0x015 /* user wants process in this win to shut up */
#define WINTHAW 0x016 /* user wants process in this win to go again */
#define WINCLOSE 0x017 /* window close */
#define WINQUIT 0x018 /* signal from user that app is to go away */
#define Q_FIRSTTIME 0x019 /* on startup */
/* standard keyboard */
#define AKEY 'a'
#define BKEY 'b'
#define CKEY 'c'
#define DKEY 'd'
#define EKEY 'e'
#define FKEY 'f'
#define GKEY 'g'
#define HKEY 'h'
#define IKEY 'i'
#define JKEY 'j'
#define KKEY 'k'
#define LKEY 'l'
#define MKEY 'm'
#define NKEY 'n'
#define OKEY 'o'
#define PKEY 'p'
#define QKEY 'q'
#define RKEY 'r'
#define SKEY 's'
#define TKEY 't'
#define UKEY 'u'
#define VKEY 'v'
#define WKEY 'w'
#define XKEY 'x'
#define YKEY 'y'
#define ZKEY 'z'
#define ZEROKEY '0'
#define ONEKEY '1'
#define TWOKEY '2'
#define THREEKEY '3'
#define FOURKEY '4'
#define FIVEKEY '5'
#define SIXKEY '6'
#define SEVENKEY '7'
#define EIGHTKEY '8'
#define NINEKEY '9'
#define CAPSLOCKKEY 211
#define LEFTCTRLKEY 212
#define LEFTALTKEY 213
#define RIGHTALTKEY 214
#define RIGHTCTRLKEY 215
#define RIGHTSHIFTKEY 216
#define LEFTSHIFTKEY 217
#define ESCKEY 218
#define TABKEY 219
#define RETKEY 220
#define SPACEKEY 221
#define LINEFEEDKEY 222
#define BACKSPACEKEY 223
#define DELKEY 224
#define SEMICOLONKEY 225
#define PERIODKEY 226
#define COMMAKEY 227
#define QUOTEKEY 228
#define ACCENTGRAVEKEY 229
#define MINUSKEY 230
#define SLASHKEY 232
#define BACKSLASHKEY 233
#define EQUALKEY 234
#define LEFTBRACKETKEY 235
#define RIGHTBRACKETKEY 236
#define LEFTARROWKEY 137
#define DOWNARROWKEY 138
#define RIGHTARROWKEY 139
#define UPARROWKEY 140
#define PAD0 150
#define PAD1 151
#define PAD2 152
#define PAD3 153
#define PAD4 154
#define PAD5 155
#define PAD6 156
#define PAD7 157
#define PAD8 158
#define PAD9 159
#define PADPERIOD 199
#define PADSLASHKEY 161
#define PADASTERKEY 160
#define PADMINUS 162
#define PADENTER 163
#define PADPLUSKEY 164
#define F1KEY 300
#define F2KEY 301
#define F3KEY 302
#define F4KEY 303
#define F5KEY 304
#define F6KEY 305
#define F7KEY 306
#define F8KEY 307
#define F9KEY 308
#define F10KEY 309
#define F11KEY 310
#define F12KEY 311
#define PAUSEKEY 165
#define INSERTKEY 166
#define HOMEKEY 167
#define PAGEUPKEY 168
#define PAGEDOWNKEY 169
#define ENDKEY 170
#define UNKNOWNKEY 171
/* **************** BLENDER QUEUE EVENTS ********************* */
#define CHANGED 0x4000
#define DRAWEDGES 0x4001
#define AFTERQUEUE 0x4002
#define BACKBUFDRAW 0x4003
#define EXECUTE 0x4004
#define IGNORE_REDRAW 0x4005
#define LOAD_FILE 0x4006
#define RESHAPE 0x4007
#define UI_BUT_EVENT 0x4008
#define AUTOSAVE_FILE 0x4009
/* REDRAWVIEW3D moet de eerste zijn (laagste nummer) voor buttons! */
#define REDRAWVIEW3D 0x4010
#define REDRAWBUTSHEAD 0x4011
#define REDRAWBUTSALL 0x4012
#define REDRAWBUTSVIEW 0x4013
#define REDRAWBUTSLAMP 0x4014
#define REDRAWBUTSMAT 0x4015
#define REDRAWBUTSTEX 0x4016
#define REDRAWBUTSANIM 0x4017
#define REDRAWBUTSWORLD 0x4018
#define REDRAWBUTSRENDER 0x4019
#define REDRAWBUTSEDIT 0x401A
#define REDRAWVIEWCAM 0x401B
#define REDRAWHEADERS 0x401C
#define REDRAWBUTSGAME 0x401D
#define REDRAWBUTSRADIO 0x401E
#define REDRAWVIEW3D_Z 0x401F
#define REDRAWALL 0x4020
#define REDRAWINFO 0x4021
#define RENDERPREVIEW 0x4022
#define REDRAWIPO 0x4023
#define REDRAWDATASELECT 0x4024
#define REDRAWSEQ 0x4025
#define REDRAWIMAGE 0x4026
#define REDRAWOOPS 0x4027
#define REDRAWIMASEL 0x4028
#define AFTERIMASELIMA 0x4029
#define AFTERIMASELGET 0x402A
#define AFTERIMAWRITE 0x402B
#define IMALEFTMOUSE 0x402C
#define AFTERPIBREAD 0x402D
#define REDRAWTEXT 0x402F
#define REDRAWBUTSSCRIPT 0x4030
#define REDRAWSOUND 0x4031
#define REDRAWBUTSSOUND 0x4032
#define REDRAWACTION 0x4033
#define REDRAWBUTSCONSTRAINT 0x4034
#define REDRAWNLA 0x4035
#endif /* !__MYDEVICE_H__ */

View File

@@ -0,0 +1,63 @@
/* nla.h May 2001
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*
* Use this to turn experimental options on
* or off with the #define flags. Please do not
* put other includes, typdefs etc in this file.
* ===========================================
*
* __NLA
* This encompasses the new armature object, the
* action datablock and the action window-type.
*
* __CON_IPO
* Support for constraint ipo keys
*
* __NLA_BAKE
* Allow users to bake constraints into keyframes
*
* __NLA_ACTION_BY_MOTION_ACTUATOR
* New action actuator playback type
*
* $Id$
*/
#ifndef NLA_H
#define NLA_H
#define __NLA
#define __NLA_BAKE // Not for release: Not yet fully implemented
#define __CON_IPO // Not for Release: Not yet fully implemented
//#define __NLA_ACTION_BY_MOTION_ACTUATOR // Not for release: Not yet fully implemented
#endif

View File

@@ -0,0 +1,104 @@
/* $Id$
*/
/*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
#ifndef OBJFNTDEF
#define OBJFNTDEF
typedef struct chardesc {
short movex, movey; /* advance */
short llx, lly; /* bounding box */
short urx, ury;
short *data; /* char data */
long datalen;
} chardesc;
typedef struct objfnt {
struct objfnt *freeaddr; /* if freeaddr != 0, objfnt is one chunck */
short type;
short charmin, charmax;
short my_nchars;
short scale;
chardesc *my_chars;
} objfnt;
#define OFMAGIC 0x93339333
#define TM_TYPE 1
#define PO_TYPE 2
#define SP_TYPE 3
/* ops for tmesh characters */
#define TM_BGNTMESH (1)
#define TM_SWAPTMESH (2)
#define TM_ENDBGNTMESH (3)
#define TM_RETENDTMESH (4)
#define TM_RET (5)
/* ops for poly characters */
#define PO_BGNLOOP (1)
#define PO_ENDBGNLOOP (2)
#define PO_RETENDLOOP (3)
#define PO_RET (4)
/* ops for spline characters */
#define SP_MOVETO (1)
#define SP_LINETO (2)
#define SP_CURVETO (3)
#define SP_CLOSEPATH (4)
#define SP_RETCLOSEPATH (5)
#define SP_RET (6)
#define MIN_ASCII ' '
#define MAX_ASCII '~'
#define NASCII (256 - 32)
#define NOBBOX (30000)
typedef struct pschar {
char *name;
int code;
int prog;
} pschar;
extern pschar charlist[NASCII];
/* objfnt *fontname(void); */
/* objfnt *readobjfnt(void); */
/* objfnt *newobjfnt(void); */
/* float fontstringwidth(void); */
/* short *getcharprog(void); */
/* chardesc *BLI_getchardesc(void); */
/* char *asciiname(void); */
#endif

View File

@@ -0,0 +1,48 @@
/* dec 95
* jan feb 96
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef PARTICLE_EFFECT_H
#define PARTICLE_EFFECT_H
/* effect.c */
extern Effect *add_effect(int type);
extern PartEff *give_parteff(Object *ob);
extern void where_is_particle(PartEff *paf, Particle *pa, float ctime, float *vec);
extern void free_effect(Effect *eff);
extern void free_effects(ListBase *lb);
extern void copy_effects(ListBase *lbn, ListBase *lb);
extern void build_particle_system(Object *ob);
/* used externally */
void set_buildvars(Object *ob, int *start, int *end);
#endif

View File

@@ -0,0 +1,40 @@
/*
* external interface
* $Id$
*
* ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. The Blender
* Foundation also sells licenses for use in proprietary software under
* the Blender License. See http://www.blender.org/BL/ for information
* about this.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
#ifndef PLAYANIM_EXT_H
#define PLAYANIM_EXT_H
/* used in apps */
extern void playanim(int argc, char **argv);
#endif