/* funcs.h */ /* memory.c functions */ extern void * mymalloc(ULONG size); extern void * myrealloc(void * old, ULONG size, ULONG oldsize); extern void myfree(void * ptr, ULONG size); /* lines.c functions */ extern void setbox(line_ptr seg); extern line_ptr addpoint(line_ptr seg,int x,int y); extern line_ptr appendpoint(line_ptr line,int x,int y); extern void insertpoint(line_ptr seg,int point,int x,int y); extern void deletepoint(line_ptr seg,int point); extern void movepoint(line_ptr seg,int point,int x,int y); extern line_ptr copyline(line_ptr line); extern line_ptr findpoint(line_ptr line,int x,int y,int *point); extern line_ptr findintersect(line_ptr line,int x,int y,int *point); extern line_ptr cutseg(line_ptr seg,int point); extern line_ptr deleteseg(line_ptr seg); extern line_ptr cutline(line_ptr line,line_ptr seg); extern void deleteline(line_ptr line); extern void appendline(line_ptr line,line_ptr append); extern void scaleline(line_ptr line,int xfact,int yfact); /* objects.c functions */ extern obj_ptr locateframe(obj_ptr object); extern obj_ptr locatestart(obj_ptr object); extern void moveobject(obj_ptr object,int dx,int dy); extern void moveobjectchain(obj_ptr object,int dx,int dy); extern void addimage(obj_ptr object,line_ptr line,int type); extern obj_ptr makeobject(void); extern void mergeobject(obj_ptr object,obj_ptr append); extern void addobject(obj_ptr chain,obj_ptr object,int frames); extern void addchain(obj_ptr frame,obj_ptr chain); extern void removechain(obj_ptr chain); extern void deletechain(obj_ptr chain); /* not yet implemented functions */ extern copyobject(obj_ptr object); extern copychain(obj_ptr chain); extern insertframe(obj_ptr frame); extern deleteframe(obj_ptr frame); /* animate.c functions */ extern int strokes(line_ptr line); extern void addsegs(line_ptr seg,int n,int req); extern void breakstroke(line_ptr seg,int n); extern void addstrokes(line_ptr line,int n,int req); extern void preprocess(line_ptr l1,line_ptr l2); extern int relative(int x ,int y ,int x1,int y1,int x2,int y2, int x3,int y3,int x4,int y4,int *l,int *w); extern line_ptr makerelative(obj_ptr object); extern void makeimage(obj_ptr object,line_ptr relative); extern void inbetween(int xi,int yi,int xo,int yo,int frame,int frames, int law,int *x,int *y); extern line_ptr imagebetween(line_ptr linein,line_ptr lineout, int frame,int frames,int law); extern obj_ptr findtype(obj_ptr object,int flags,int *n); extern obj_ptr findtypeback(obj_ptr object,int flags,int *n); extern void makeoutline(obj_ptr with,obj_ptr without); extern void derelative(obj_ptr firstimage,int n); extern void animate(obj_ptr object); /* render functions */ extern void next(void); extern void prev(void); extern void DrawFrame(obj_ptr frame); extern void EraseFrame(obj_ptr frame); extern void DrawObject(line_ptr line,int xoff,int yoff); extern void DrawOutline(line_ptr out,line_ptr skel,int xoff,int yoff); /* file functions */ extern BOOL filerequest(void); extern void new(void); extern void save(void); extern void load(void);