/** * $Id:$ * ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** * * The contents of this file may be used under the terms of either the GNU * General Public License Version 2 or later (the "GPL", see * http://www.gnu.org/licenses/gpl.html ), or the Blender License 1.0 or * later (the "BL", see http://www.blender.org/BL/ ) which has to be * bought from the Blender Foundation to become active, in which case the * above mentioned GPL option does not apply. * * The Original Code is Copyright (C) 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 ***** */ /* oops.h feb 97 * * * Version: $Id: oops.h,v 1.3 2000/07/25 08:53:07 nzc Exp $ */ #ifndef OOPS_H #define OOPS_H #define OOPSX 5.0 #define OOPSY 1.8 typedef struct Oops { struct Oops *next, *prev; short type, flag, dt, hide; float x, y; /* linksonder */ float dx, dy; /* shuffle */ ID *id; ListBase link; } Oops; # # typedef struct OopsLink { struct OopsLink *next, *prev; short type, flag; ID **idfrom; Oops *to, *from; /* from is voor temp */ float xof, yof; char name[12]; } OopsLink; /* ********** */ /* oops->flag (1==SELECT) */ #define OOPS_DOSELECT 2 #define OOPS_REFER 4 /* drawoops.c */ extern void give_oopslink_line(Oops *oops, OopsLink *ol, float *v1, float *v2); extern void mysbox(float x1, float y1, float x2, float y2); /* ******* oops.c */ extern void add_curve_oopslinks(Curve *cu, Oops *oops, short flag); extern void add_from_link(Oops *from, Oops *oops); extern void add_material_oopslinks(Material *ma, Oops *oops, short flag); extern void add_mball_oopslinks(MetaBall *mb, Oops *oops, short flag); extern void add_mesh_oopslinks(Mesh *me, Oops *oops, short flag); extern void add_object_oopslinks(Object *ob, Oops *oops, short flag); extern Oops *add_oops(void *id); extern OopsLink *add_oopslink(char *name, Oops *oops, short type, void *from, float xof, float yof); extern Oops *add_test_oops(void *id); /* incl links */ extern void add_texture_oops(Material *ma); extern void build_oops(); extern int correct_oops_y(Oops *oops); extern Oops *find_oops(ID *id); extern void free_oops(Oops *oops); /* ook oops zelf */ extern void free_oopspace(SpaceOops *so); extern void new_oops_location(Oops *); extern int oops_test_overlap(Oops *test); extern int oops_test_overlaphide(Oops *test); extern float oopslink_totlen(Oops *oops); extern void shrink_oops(); extern void shuffle_oops(); extern int test_oops(Oops *oops); extern void test_oopslink(OopsLink *ol); extern void test_oopslinko(OopsLink *ol); #endif /* OOPS_H */