Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10190
Modified Files: Tag: devel_0_39 desire.h Log Message: .
Index: desire.h =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.h,v retrieving revision 1.1.2.13 retrieving revision 1.1.2.14 diff -C2 -d -r1.1.2.13 -r1.1.2.14 *** desire.h 2 Sep 2006 09:01:40 -0000 1.1.2.13 --- desire.h 2 Sep 2006 19:10:30 -0000 1.1.2.14 *************** *** 59,71 **** #endif
- /* --------------------- geometry ---------------------------- */ - #define IOWIDTH 7 /* width of an inlet/outlet in pixels */ - #define IOMIDDLE ((IOWIDTH-1)/2) - #define GLIST_DEFGRAPHWIDTH 200 - #define GLIST_DEFGRAPHHEIGHT 140 /* ----------------------- data ------------------------------- */
! typedef struct _updateheader ! { struct _updateheader *upd_next; unsigned int upd_array:1; /* true if array, false if glist */ --- 59,65 ---- #endif
/* ----------------------- data ------------------------------- */
! typedef struct _updateheader { struct _updateheader *upd_next; unsigned int upd_array:1; /* true if array, false if glist */ *************** *** 73,102 **** } t_updateheader;
- /* types to support glists grabbing mouse motion or keys from parent */ - /* - typedef void (*t_glistmotionfn)(void *z, t_floatarg dx, t_floatarg dy); - typedef void (*t_glistkeyfn)(void *z, t_floatarg key); - */ - EXTERN_STRUCT _rtext; #define t_rtext struct _rtext - EXTERN_STRUCT _gtemplate; #define t_gtemplate struct _gtemplate - EXTERN_STRUCT _guiconnect; #define t_guiconnect struct _guiconnect - EXTERN_STRUCT _tscalar; #define t_tscalar struct _tscalar - EXTERN_STRUCT _canvasenvironment; #define t_canvasenvironment struct _canvasenvironment - EXTERN_STRUCT _fielddesc; #define t_fielddesc struct _fielddesc
! typedef struct _selection ! { t_gobj *sel_what; struct _selection *sel_next; --- 67,84 ---- } t_updateheader;
EXTERN_STRUCT _rtext; #define t_rtext struct _rtext EXTERN_STRUCT _gtemplate; #define t_gtemplate struct _gtemplate EXTERN_STRUCT _guiconnect; #define t_guiconnect struct _guiconnect EXTERN_STRUCT _tscalar; #define t_tscalar struct _tscalar EXTERN_STRUCT _canvasenvironment; #define t_canvasenvironment struct _canvasenvironment EXTERN_STRUCT _fielddesc; #define t_fielddesc struct _fielddesc
! typedef struct _selection { t_gobj *sel_what; struct _selection *sel_next; *************** *** 105,110 **** /* this structure is instantiated whenever a glist becomes visible. */ /* commented-out fields are not in DesireData */ ! typedef struct _editor ! { t_updateheader e_upd; /* update header structure */ t_selection *e_updlist; /* list of objects to update */ --- 87,91 ---- /* this structure is instantiated whenever a glist becomes visible. */ /* commented-out fields are not in DesireData */ ! typedef struct _editor { t_updateheader e_upd; /* update header structure */ t_selection *e_updlist; /* list of objects to update */ *************** *** 136,141 **** could do so if the structure gets big (like the "editor" above.) */
! typedef struct _arrayvis ! { t_updateheader av_upd; /* update header structure */ t_garray *av_garray; /* owning structure */ --- 117,121 ---- could do so if the structure gets big (like the "editor" above.) */
! typedef struct _arrayvis { t_updateheader av_upd; /* update header structure */ t_garray *av_garray; /* owning structure */ *************** *** 144,149 **** /* the t_tick structure describes where to draw x and y "ticks" for a glist */
! typedef struct _tick /* where to put ticks on x or y axes */ ! { float k_point; /* one point to draw a big tick at */ float k_inc; /* x or y increment per little tick */ --- 124,128 ---- /* the t_tick structure describes where to draw x and y "ticks" for a glist */
! typedef struct _tick { /* where to put ticks on x or y axes */ float k_point; /* one point to draw a big tick at */ float k_inc; /* x or y increment per little tick */ *************** *** 156,161 **** */
! struct _glist ! { t_object gl_obj; /* header in case we're a glist */ t_gobj *gl_list; /* the actual data */ --- 135,139 ---- */
! struct _glist { t_object gl_obj; /* header in case we're a glist */ t_gobj *gl_list; /* the actual data */ *************** *** 212,217 **** #define DT_ARRAY 3
! typedef struct _dataslot ! { int ds_type; t_symbol *ds_name; --- 190,194 ---- #define DT_ARRAY 3
! typedef struct _dataslot { int ds_type; t_symbol *ds_name; *************** *** 219,224 **** } t_dataslot;
! typedef struct _template ! { t_pd t_pdobj; /* header */ struct _gtemplate *t_list; /* list of "struct"/gtemplate objects */ --- 196,200 ---- } t_dataslot;
! typedef struct _template { t_pd t_pdobj; /* header */ struct _gtemplate *t_list; /* list of "struct"/gtemplate objects */ *************** *** 228,233 **** } t_template;
! struct _array ! { int a_n; /* number of elements */ int a_elemsize; /* size in bytes; LATER get this from template */ --- 204,208 ---- } t_template;
! struct _array { int a_n; /* number of elements */ int a_elemsize; /* size in bytes; LATER get this from template */ *************** *** 239,244 **** };
! struct _garray ! { t_gobj x_gobj; t_scalar *x_scalar; /* scalar "containing" the array */ --- 214,218 ---- };
! struct _garray { t_gobj x_gobj; t_scalar *x_scalar; /* scalar "containing" the array */ *************** *** 253,258 ****
/* structure for traversing all the connections in a glist */ ! typedef struct _linetraverser ! { t_canvas *tr_x; t_object *tr_ob; --- 227,231 ----
/* structure for traversing all the connections in a glist */ ! typedef struct _linetraverser { t_canvas *tr_x; t_object *tr_ob; *************** *** 268,305 **** } t_linetraverser;
- /* function types used to define graphical behavior for gobjs, a bit like X - widgets. We don't use Pd methods because Pd's typechecking can't specify the - types of pointer arguments. Also it's more convenient this way, since - every "patchable" object can just get the "text" behaviors. */ - - /* Call this to get a gobj's bounding rectangle in pixels */ - /*typedef void (*t_getrectfn)(t_gobj *x, struct _glist *glist, - int *x1, int *y1, int *x2, int *y2);*/ - /* and this to displace a gobj: */ - /*typedef void (*t_displacefn)(t_gobj *x, struct _glist *glist, int dx, int dy);*/ - /* change color to show selection: */ - /*typedef void (*t_selectfn)(t_gobj *x, struct _glist *glist, int state);*/ - /* change appearance to show activation/deactivation: */ - /*typedef void (*t_activatefn)(t_gobj *x, struct _glist *glist, int state);*/ - /* warn a gobj it's about to be deleted */ - /*typedef void (*t_deletefn)(t_gobj *x, struct _glist *glist);*/ - /* making visible or invisible */ - typedef void (*t_visfn)(t_gobj *x, struct _glist *glist, int flag); - /* field a mouse click (when not in "edit" mode) */ - typedef int (*t_clickfn)(t_gobj *x, struct _glist *glist, - int xpix, int ypix, int shift, int alt, int dbl, int doit); - /* ... and later, resizing; getting/setting font or color... */ - - struct _widgetbehavior - { - /* t_getrectfn w_getrectfn; - t_displacefn w_displacefn; - t_selectfn w_selectfn; - t_activatefn w_activatefn; - t_deletefn w_deletefn;*/ - t_visfn w_visfn; - t_clickfn w_clickfn; - }; - /* -------- behaviors for scalars defined by objects in template --------- */ /* these are set by "drawing commands" in g_template.c which add appearance to --- 241,244 ---- *************** *** 311,342 **** doesn't work on array elements... LATER reconsider this */
! /* bounding rectangle: */ ! typedef void (*t_parentgetrectfn)(t_gobj *x, struct _glist *glist, ! t_word *data, t_template *tmpl, float basex, float basey, ! int *x1, int *y1, int *x2, int *y2); ! /* displace it */ ! typedef void (*t_parentdisplacefn)(t_gobj *x, struct _glist *glist, ! t_word *data, t_template *tmpl, float basex, float basey, ! int dx, int dy); ! /* change color to show selection */ ! typedef void (*t_parentselectfn)(t_gobj *x, struct _glist *glist, ! t_word *data, t_template *tmpl, float basex, float basey, ! int state); ! /* change appearance to show activation/deactivation: */ ! typedef void (*t_parentactivatefn)(t_gobj *x, struct _glist *glist, ! t_word *data, t_template *tmpl, float basex, float basey, ! int state); ! /* making visible or invisible */ ! typedef void (*t_parentvisfn)(t_gobj *x, struct _glist *glist, ! t_word *data, t_template *tmpl, float basex, float basey, ! int flag); ! /* field a mouse click */ ! typedef int (*t_parentclickfn)(t_gobj *x, struct _glist *glist, ! t_word *data, t_template *tmpl, t_scalar *sc, t_array *ap, ! float basex, float basey, ! int xpix, int ypix, int shift, int alt, int dbl, int doit);
! struct _parentwidgetbehavior ! { t_parentgetrectfn w_parentgetrectfn; t_parentdisplacefn w_parentdisplacefn; --- 250,268 ---- doesn't work on array elements... LATER reconsider this */
! typedef void (*t_parentgetrectfn)( t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl, ! float basex, float basey, int *x1, int *y1, int *x2, int *y2); ! typedef void (*t_parentdisplacefn)(t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl, ! float basex, float basey, int dx, int dy); ! typedef void (*t_parentselectfn)( t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl, ! float basex, float basey, int state); ! typedef void (*t_parentactivatefn)(t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl, ! float basex, float basey, int state); ! typedef void (*t_parentvisfn)( t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl, ! float basex, float basey, int flag); ! typedef int (*t_parentclickfn)( t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl, ! t_scalar *sc, t_array *ap, ! float basex, float basey, int xpix, int ypix, int shift, int alt, int dbl, int doit);
! struct _parentwidgetbehavior { t_parentgetrectfn w_parentgetrectfn; t_parentdisplacefn w_parentdisplacefn; *************** *** 368,385 ****
/* ------------------- functions on any gobj ----------------------------- */ - /* - EXTERN void gobj_getrect(t_gobj *x, t_glist *owner, int *x1, int *y1, - int *x2, int *y2); - EXTERN void gobj_displace(t_gobj *x, t_glist *owner, int dx, int dy); - EXTERN void gobj_select(t_gobj *x, t_glist *owner, int state); - EXTERN void gobj_activate(t_gobj *x, t_glist *owner, int state); - EXTERN void gobj_delete(t_gobj *x, t_glist *owner); - */ - EXTERN void gobj_vis(t_gobj *x, t_glist *glist, int flag); - EXTERN int gobj_click(t_gobj *x, struct _glist *glist, - int xpix, int ypix, int shift, int alt, int dbl, int doit); EXTERN void gobj_save(t_gobj *x, t_binbuf *b); EXTERN void gobj_properties(t_gobj *x, struct _glist *glist); - EXTERN void gobj_save(t_gobj *x, t_binbuf *b);
/* -------------------- functions on glists --------------------- */ --- 294,299 ---- *************** *** 389,406 **** EXTERN void glist_cleanup(t_glist *x); EXTERN void glist_free(t_glist *x); - EXTERN void glist_clear(t_glist *x); EXTERN t_canvas *glist_getcanvas(t_glist *x); - - /* dead: - EXTERN int glist_isselected(t_glist *x, t_gobj *y); - EXTERN void glist_select(t_glist *x, t_gobj *y); - EXTERN void glist_deselect(t_glist *x, t_gobj *y); - EXTERN void glist_noselect(t_glist *x); - EXTERN void glist_selectall(t_glist *x); - EXTERN void glist_grab(t_glist *x, t_gobj *y, t_glistmotionfn motionfn, - t_glistkeyfn keyfn, int xpos, int ypos); - */ - EXTERN void glist_delete(t_glist *x, t_gobj *y); EXTERN void glist_retext(t_glist *x, t_text *y); --- 303,308 ---- *************** *** 412,416 **** EXTERN void glist_read(t_glist *x, t_symbol *filename, t_symbol *format); EXTERN void glist_mergefile(t_glist *x, t_symbol *filename, t_symbol *format); - EXTERN float glist_pixelstox(t_glist *x, float xpix); EXTERN float glist_pixelstoy(t_glist *x, float ypix); --- 314,317 ---- *************** *** 419,423 **** EXTERN float glist_dpixtodx(t_glist *x, float dxpix); EXTERN float glist_dpixtody(t_glist *x, float dypix); - EXTERN void glist_getnextxy(t_glist *gl, int *xval, int *yval); EXTERN void glist_glist(t_glist *g, t_symbol *s, int argc, t_atom *argv); --- 320,323 ---- *************** *** 434,441 **** EXTERN void glist_eraseiofor(t_glist *glist, t_object *ob, char *tag); EXTERN void canvas_create_editor(t_glist *x, int createit); ! void canvas_deletelinesforio(t_canvas *x, t_text *text, ! t_inlet *inp, t_outlet *outp);
- /* -------------------- functions on texts ------------------------- */ EXTERN void text_setto(t_text *x, t_glist *glist, char *buf, int bufsize); EXTERN void text_drawborder(t_text *x, t_glist *glist, char *tag, --- 334,339 ---- EXTERN void glist_eraseiofor(t_glist *glist, t_object *ob, char *tag); EXTERN void canvas_create_editor(t_glist *x, int createit); ! void canvas_deletelinesforio(t_canvas *x, t_text *text, t_inlet *inp, t_outlet *outp);
EXTERN void text_setto(t_text *x, t_glist *glist, char *buf, int bufsize); EXTERN void text_drawborder(t_text *x, t_glist *glist, char *tag, *************** *** 448,452 **** EXTERN int text_shouldvis(t_text *x, t_glist *glist);
- /* -------------------- functions on rtexts ------------------------- */ EXTERN t_rtext *rtext_new(t_glist *glist, t_text *who); EXTERN t_rtext *glist_findrtext(t_glist *gl, t_text *who); --- 346,349 ---- *************** *** 457,469 **** /* -------------------- functions on canvases ------------------------ */ EXTERN t_class *canvas_class; - EXTERN t_canvas *canvas_new(void *dummy, t_symbol *sel, int argc, t_atom *argv); EXTERN t_symbol *canvas_makebindsym(t_symbol *s); EXTERN void canvas_vistext(t_canvas *x, t_text *y); EXTERN void canvas_deletelinesfor(t_canvas *x, t_text *text); - /* now private: - EXTERN void canvas_stowconnections(t_canvas *x); - EXTERN void canvas_restoreconnections(t_canvas *x); - */ EXTERN void canvas_redraw(t_canvas *x);
--- 354,361 ---- *************** *** 474,478 **** EXTERN void canvas_redrawallfortemplate(t_template *tmpl, int action); EXTERN void canvas_redrawallfortemplatecanvas(t_canvas *x, int action); - EXTERN void canvas_zapallfortemplate(t_canvas *tmpl); EXTERN void canvas_setusedastemplate(t_canvas *x); EXTERN t_canvas *canvas_getcurrent(void); --- 366,369 ---- *************** *** 486,492 **** EXTERN void canvas_resortoutlets(t_canvas *x); EXTERN void canvas_free(t_canvas *x); - /* - EXTERN void canvas_updatewindowlist( void); - */ EXTERN void canvas_editmode(t_canvas *x, t_floatarg yesplease); EXTERN int canvas_isabstraction(t_canvas *x); --- 377,380 ---- *************** *** 497,562 **** EXTERN void canvas_rename(t_canvas *x, t_symbol *s, t_symbol *dir); EXTERN void canvas_loadbang(t_canvas *x); - /* - EXTERN int canvas_hitbox(t_canvas *x, t_gobj *y, int xpos, int ypos, - int *x1p, int *y1p, int *x2p, int *y2p); - */ EXTERN int canvas_setdeleting(t_canvas *x, int flag); EXTERN int canvas_getindex(t_canvas *x, t_gobj *y); - EXTERN void canvas_connect(t_canvas *x, t_floatarg fwhoout, t_floatarg foutno,t_floatarg fwhoin, t_floatarg finno); EXTERN void canvas_disconnect(t_canvas *x, float index1, float outno, float index2, float inno); ! EXTERN int canvas_isconnected (t_canvas *x, ! t_text *ob1, int n1, t_text *ob2, int n2); EXTERN void canvas_selectinrect(t_canvas *x, int lox, int loy, int hix, int hiy);
! ! /* ---- functions on canvasses as objects --------------------- */ ! ! EXTERN void canvas_fattenforscalars(t_canvas *x, ! int *x1, int *y1, int *x2, int *y2); EXTERN void canvas_visforscalars(t_canvas *x, t_glist *glist, int vis); ! EXTERN int canvas_clicksub(t_canvas *x, int xpix, int ypix, int shift, ! int alt, int dbl, int doit); EXTERN t_glist *canvas_getglistonsuper(void); - EXTERN void linetraverser_start(t_linetraverser *t, t_canvas *x); EXTERN t_outconnect *linetraverser_next(t_linetraverser *t); EXTERN void linetraverser_skipobject(t_linetraverser *t);
- /* --------- functions on garrays (graphical arrays) -------------------- */ - EXTERN t_template *garray_template(t_garray *x);
! /* -------------------- arrays --------------------- */ ! EXTERN t_garray *graph_array(t_glist *gl, t_symbol *s, t_symbol *tmpl, ! t_floatarg f, t_floatarg saveit); EXTERN t_array *array_new(t_symbol *templatesym, t_gpointer *parent); EXTERN void array_resize(t_array *x, int n); EXTERN void array_free(t_array *x);
- /* --------------------- gpointers and stubs ---------------- */ EXTERN t_gstub *gstub_new(t_glist *gl, t_array *a); EXTERN void gstub_cutoff(t_gstub *gs); EXTERN void gpointer_setglist(t_gpointer *gp, t_glist *glist, t_scalar *x);
- /* --------------------- scalars ------------------------- */ EXTERN void word_init(t_word *wp, t_template *tmpl, t_gpointer *gp); ! EXTERN void word_restore(t_word *wp, t_template *tmpl, ! int argc, t_atom *argv); ! EXTERN t_scalar *scalar_new(t_glist *owner, ! t_symbol *templatesym); EXTERN void word_free(t_word *wp, t_template *tmpl); EXTERN void scalar_getbasexy(t_scalar *x, float *basex, float *basey); EXTERN void scalar_redraw(t_scalar *x, t_glist *glist);
! /* ------helper routines for "garrays" and "plots" -------------- */ ! EXTERN int array_doclick(t_array *array, t_glist *glist, t_scalar *sc, t_array *ap, ! t_symbol *elemtemplatesym, float linewidth, float xloc, float xinc, float yloc, float scalarvis, t_fielddesc *xfield, t_fielddesc *yfield, t_fielddesc *wfield, int xpix, int ypix, int shift, int alt, int dbl, int doit); - EXTERN void array_getcoordinate(t_glist *glist, char *elem, int xonset, int yonset, int wonset, int indx, --- 385,427 ---- EXTERN void canvas_rename(t_canvas *x, t_symbol *s, t_symbol *dir); EXTERN void canvas_loadbang(t_canvas *x); EXTERN int canvas_setdeleting(t_canvas *x, int flag); EXTERN int canvas_getindex(t_canvas *x, t_gobj *y); EXTERN void canvas_connect(t_canvas *x, t_floatarg fwhoout, t_floatarg foutno,t_floatarg fwhoin, t_floatarg finno); EXTERN void canvas_disconnect(t_canvas *x, float index1, float outno, float index2, float inno); ! EXTERN int canvas_isconnected (t_canvas *x, t_text *ob1, int n1, t_text *ob2, int n2); EXTERN void canvas_selectinrect(t_canvas *x, int lox, int loy, int hix, int hiy);
! EXTERN void canvas_fattenforscalars(t_canvas *x, int *x1, int *y1, int *x2, int *y2); EXTERN void canvas_visforscalars(t_canvas *x, t_glist *glist, int vis); ! EXTERN int canvas_clicksub(t_canvas *x, int xpix, int ypix, int shift, int alt, int dbl, int doit); EXTERN t_glist *canvas_getglistonsuper(void); EXTERN void linetraverser_start(t_linetraverser *t, t_canvas *x); EXTERN t_outconnect *linetraverser_next(t_linetraverser *t); EXTERN void linetraverser_skipobject(t_linetraverser *t);
EXTERN t_template *garray_template(t_garray *x);
! EXTERN t_garray *graph_array(t_glist *gl, t_symbol *s, t_symbol *tmpl, t_floatarg f, t_floatarg saveit); EXTERN t_array *array_new(t_symbol *templatesym, t_gpointer *parent); EXTERN void array_resize(t_array *x, int n); EXTERN void array_free(t_array *x);
EXTERN t_gstub *gstub_new(t_glist *gl, t_array *a); EXTERN void gstub_cutoff(t_gstub *gs); EXTERN void gpointer_setglist(t_gpointer *gp, t_glist *glist, t_scalar *x);
EXTERN void word_init(t_word *wp, t_template *tmpl, t_gpointer *gp); ! EXTERN void word_restore(t_word *wp, t_template *tmpl, int argc, t_atom *argv); ! EXTERN t_scalar *scalar_new(t_glist *owner, t_symbol *templatesym); EXTERN void word_free(t_word *wp, t_template *tmpl); EXTERN void scalar_getbasexy(t_scalar *x, float *basex, float *basey); EXTERN void scalar_redraw(t_scalar *x, t_glist *glist);
! EXTERN int array_doclick(t_array *array, t_glist *glist, t_scalar *sc, t_array *ap, t_symbol *elemtemplatesym, float linewidth, float xloc, float xinc, float yloc, float scalarvis, t_fielddesc *xfield, t_fielddesc *yfield, t_fielddesc *wfield, int xpix, int ypix, int shift, int alt, int dbl, int doit); EXTERN void array_getcoordinate(t_glist *glist, char *elem, int xonset, int yonset, int wonset, int indx, *************** *** 564,568 **** t_fielddesc *xfielddesc, t_fielddesc *yfielddesc, t_fielddesc *wfielddesc, float *xp, float *yp, float *wp); - EXTERN int array_getfields(t_symbol *elemtemplatesym, t_canvas **elemtemplatecanvasp, --- 429,432 ---- *************** *** 571,575 **** int *xonsetp, int *yonsetp, int *wonsetp);
- /* --------------------- templates ------------------------- */ EXTERN t_template *template_new(t_symbol *sym, int argc, t_atom *argv); EXTERN void template_free(t_template *x); --- 435,438 ---- *************** *** 586,591 **** EXTERN void template_notify(t_template *, t_symbol *s, int argc, t_atom *argv);
! EXTERN t_float template_getfloat(t_template *x, t_symbol *fieldname, t_word *wp, int loud); ! EXTERN void template_setfloat(t_template *x, t_symbol *fieldname, t_word *wp, t_float f, int loud); EXTERN t_symbol *template_getsymbol(t_template *x, t_symbol *fieldname, t_word *wp, int loud); EXTERN void template_setsymbol(t_template *x, t_symbol *fieldname, t_word *wp, t_symbol *s, int loud); --- 449,454 ---- EXTERN void template_notify(t_template *, t_symbol *s, int argc, t_atom *argv);
! EXTERN t_float template_getfloat( t_template *x, t_symbol *fieldname, t_word *wp, int loud); ! EXTERN void template_setfloat( t_template *x, t_symbol *fieldname, t_word *wp, t_float f, int loud); EXTERN t_symbol *template_getsymbol(t_template *x, t_symbol *fieldname, t_word *wp, int loud); EXTERN void template_setsymbol(t_template *x, t_symbol *fieldname, t_word *wp, t_symbol *s, int loud); *************** *** 618,622 **** EXTERN int convert_color2(int x); //EXTERN void binbuf_update(t_iemgui *x, t_symbol *qlass, int argc, t_atom *argv); - //EXTERN int pd_saveargs(t_binbuf *b, char *fmt, ...); //EXTERN int pd_savehead(t_binbuf *b, t_iemgui *x, char *name); EXTERN void iemgui_getrect(t_gobj *z, t_glist *glist, int *xp1, int *yp1, int *xp2, int *yp2); --- 481,484 ----