[PD-cvs] pd/src desire.c, 1.1.2.145, 1.1.2.146 desire.h, 1.1.2.20, 1.1.2.21
Mathieu Bouchard
matju at users.sourceforge.net
Sun Sep 3 08:01:04 CEST 2006
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6021
Modified Files:
Tag: devel_0_39
desire.c desire.h
Log Message:
.
Index: desire.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.h,v
retrieving revision 1.1.2.20
retrieving revision 1.1.2.21
diff -C2 -d -r1.1.2.20 -r1.1.2.21
*** desire.h 3 Sep 2006 05:40:39 -0000 1.1.2.20
--- desire.h 3 Sep 2006 06:01:01 -0000 1.1.2.21
***************
*** 109,113 ****
unsigned int gl_havewindow:1; /* true if we own a window */
unsigned int gl_mapped:1; /* true if, moreover, it's "mapped" */
- unsigned int gl_dirty:1; /* (root canvas only:) patch has changed */
unsigned int gl_loading:1; /* am now loading from file */
unsigned int gl_willvis:1; /* make me visible after loading */
--- 109,112 ----
***************
*** 117,120 ****
--- 116,127 ----
};
+ /* LATER consider adding font size to this struct (see glist_getfont()) */
+ struct _canvasenvironment {
+ t_symbol *ce_dir; /* directory patch lives in */
+ int ce_argc; /* number of "$" arguments */
+ t_atom *ce_argv; /* array of "$" arguments */
+ int ce_dollarzero; /* value of "$0" */
+ };
+
/* a data structure to describe a field in a pure datum */
#define DT_FLOAT 0
***************
*** 194,205 ****
};
- /* cursor definitions; used as return value for t_parentclickfn */
- #define CURSOR_RUNMODE_CLICKME 1
- #define CURSOR_RUNMODE_THICKEN 2
- #define CURSOR_RUNMODE_ADDPOINT 3
- #define CURSOR_EDITMODE_DISCONNECT 6
extern t_canvas *canvas_list; /* list of all root canvases */
extern t_class *vinlet_class, *voutlet_class, *canvas_class;
extern int glist_valid; /* incremented when pointers might be stale */
#define PLOTSTYLE_POINTS 0 /* plotting styles for arrays */
--- 201,209 ----
};
extern t_canvas *canvas_list; /* list of all root canvases */
extern t_class *vinlet_class, *voutlet_class, *canvas_class;
extern int glist_valid; /* incremented when pointers might be stale */
+ EXTERN int sys_noloadbang;
+ EXTERN t_symbol *s_empty;
#define PLOTSTYLE_POINTS 0 /* plotting styles for arrays */
***************
*** 211,214 ****
--- 215,223 ----
/* from desire.c */
+ EXTERN int pd_scanargs(int argc, t_atom *argv, char *fmt, ...);
+ EXTERN int pd_saveargs(t_binbuf *b, char *fmt, ...);
+ EXTERN void pd_upload(t_gobj *self);
+ EXTERN void sys_mgui(void *self, const char *sel, const char *fmt, ...);
+
EXTERN t_glist *glist_new(void);
EXTERN void glist_init(t_glist *x);
***************
*** 228,231 ****
--- 237,241 ----
EXTERN int canvas_getindex(t_canvas *x, t_gobj *y);
EXTERN t_canvasenvironment *canvas_getenv(t_canvas *x);
+ EXTERN int canvas_getdollarzero(void);
EXTERN void linetraverser_start(t_linetraverser *t, t_canvas *x);
***************
*** 236,255 ****
/* -------------------- TO BE SORTED OUT --------------------- */
- EXTERN void canvas_vistext(t_canvas *x, t_text *y);
EXTERN void canvas_redrawallfortemplate(t_template *tmpl, int action);
EXTERN void canvas_redrawallfortemplatecanvas(t_canvas *x, int action);
- EXTERN void canvas_dirty(t_canvas *x, t_int n);
- EXTERN int canvas_showtext(t_canvas *x);
- EXTERN void canvas_vis(t_canvas *x, t_floatarg f);
- EXTERN void canvas_rename(t_canvas *x, t_symbol *s, t_symbol *dir);
- 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 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);
--- 246,253 ----
***************
*** 259,280 ****
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,
float basex, float basey, float xinc,
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,
t_template **elemtemplatep, int *elemsizep,
t_fielddesc *xfielddesc, t_fielddesc *yfielddesc, t_fielddesc *wfielddesc,
int *xonsetp, int *yonsetp, int *wonsetp);
-
EXTERN t_template *template_new(t_symbol *sym, int argc, t_atom *argv);
EXTERN void template_free(t_template *x);
--- 257,273 ----
EXTERN t_scalar *scalar_new(t_glist *owner, t_symbol *templatesym);
EXTERN void word_free(t_word *wp, t_template *tmpl);
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,
float basex, float basey, float xinc,
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,
t_template **elemtemplatep, int *elemsizep,
t_fielddesc *xfielddesc, t_fielddesc *yfielddesc, t_fielddesc *wfielddesc,
int *xonsetp, int *yonsetp, int *wonsetp);
EXTERN t_template *template_new(t_symbol *sym, int argc, t_atom *argv);
EXTERN void template_free(t_template *x);
***************
*** 290,294 ****
EXTERN t_canvas *template_findcanvas(t_template *tmpl);
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);
--- 283,286 ----
***************
*** 299,329 ****
EXTERN t_float fielddesc_cvttocoord(t_fielddesc *f, float val);
EXTERN float fielddesc_cvtfromcoord(t_fielddesc *f, float coord);
!
! EXTERN t_guiconnect *guiconnect_new(t_pd *who, t_symbol *sym);
! EXTERN void guiconnect_notarget(t_guiconnect *x, double timedelay);
!
! EXTERN t_symbol *iemgui_raute2dollar(t_symbol *s);
! EXTERN t_symbol *iemgui_dollar2raute(t_symbol *s);
!
! #define IS_A_FLOAT(atom,index) ((atom+index)->a_type == A_FLOAT)
! #define IS_A_SYMBOL(atom,index) ((atom+index)->a_type == A_SYMBOL)
! typedef void (*t_iemfunptr)(void *x, t_glist *glist, int mode);
!
! EXTERN int sys_noloadbang;
! EXTERN int canvas_getdollarzero(void);
! EXTERN void canvas_getargs(int *argcp, t_atom **argvp);
! EXTERN int pd_scanargs(int argc, t_atom *argv, char *fmt, ...);
! EXTERN int pd_saveargs(t_binbuf *b, char *fmt, ...);
! EXTERN void pd_upload(t_gobj *self);
! EXTERN void sys_mgui(void *self, const char *sel, const char *fmt, ...);
! EXTERN t_symbol *s_empty;
! EXTERN int convert_color2(int x);
! //EXTERN void binbuf_update(t_iemgui *x, t_symbol *qlass, int argc, t_atom *argv);
! //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);
#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus)
}
#endif
-
#endif /* __DESIRE_H */
--- 291,298 ----
EXTERN t_float fielddesc_cvttocoord(t_fielddesc *f, float val);
EXTERN float fielddesc_cvtfromcoord(t_fielddesc *f, float coord);
! //EXTERN int pd_pickle(t_foo *foo, char *fmt, ...);
#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus)
}
#endif
#endif /* __DESIRE_H */
Index: desire.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v
retrieving revision 1.1.2.145
retrieving revision 1.1.2.146
diff -C2 -d -r1.1.2.145 -r1.1.2.146
*** desire.c 3 Sep 2006 05:40:38 -0000 1.1.2.145
--- desire.c 3 Sep 2006 06:01:00 -0000 1.1.2.146
***************
*** 288,299 ****
*/
- /* LATER consider adding font size to this struct (see glist_getfont()) */
- struct _canvasenvironment {
- t_symbol *ce_dir; /* directory patch lives in */
- int ce_argc; /* number of "$" arguments */
- t_atom *ce_argv; /* array of "$" arguments */
- int ce_dollarzero; /* value of "$0" */
- };
-
#define GLIST_DEFCANVASWIDTH 450
#define GLIST_DEFCANVASHEIGHT 300
--- 288,291 ----
***************
*** 367,376 ****
}
- void canvas_getargs(int *argcp, t_atom **argvp) {
- t_canvasenvironment *e = canvas_getenv(canvas_getcurrent());
- *argcp = e->ce_argc;
- *argvp = e->ce_argv;
- }
-
t_symbol *canvas_realizedollar(t_canvas *x, t_symbol *s) {
t_symbol *ret;
--- 359,362 ----
***************
*** 406,410 ****
}
! void canvas_rename(t_canvas *x, t_symbol *s, t_symbol *dir) {
if (strcmp(x->gl_name->s_name, "Pd")) pd_unbind((t_pd *)x, canvas_makebindsym(x->gl_name));
x->gl_name = s;
--- 392,396 ----
}
! static void canvas_rename(t_canvas *x, t_symbol *s, t_symbol *dir) {
if (strcmp(x->gl_name->s_name, "Pd")) pd_unbind((t_pd *)x, canvas_makebindsym(x->gl_name));
x->gl_name = s;
***************
*** 643,654 ****
}
- void canvas_dirty(t_canvas *x, t_int n) {
- t_canvas *x2 = canvas_getrootfor(x);
- if ((unsigned)n != x2->gl_dirty) {
- x2->gl_dirty = n;
- sys_mgui(x,"modified?=","i",n);
- }
- }
-
void canvas_drawredrect(t_canvas *x, int doit) {
if (doit) sys_mgui(glist_getcanvas(x),"gop_rectangle","iiii",
--- 629,632 ----
***************
*** 657,660 ****
--- 635,640 ----
}
+ static void canvas_vis(t_canvas *x, t_floatarg f);
+
/* the window becomes "mapped" (visible and not miniaturized) or
"unmapped" (either miniaturized or just plain gone.) This should be
***************
*** 687,690 ****
--- 667,672 ----
static void canvas_redraw(t_canvas *x) {if (glist_isvisible(x)) {canvas_map(x,0); canvas_map(x, 1);}}
+ t_guiconnect *guiconnect_new(t_pd *who, t_symbol *sym);
+
static t_editor *editor_new(t_glist *owner) {
char buf[40];
***************
*** 697,700 ****
--- 679,684 ----
}
+ static void guiconnect_notarget(t_guiconnect *x, double timedelay);
+
static void editor_free(t_editor *x, t_glist *y) {
guiconnect_notarget(x->e_guiconnect, 1000);
***************
*** 724,731 ****
}
! /* we call this when we want the window to become visible, mapped, and
! in front of all windows; or with "f" zero, when we want to get rid of
! the window. */
! void canvas_vis(t_canvas *x, t_floatarg f) {
if (!!f) {
if (x->gl_editor) { /* already visible, so just raise window */
--- 708,714 ----
}
! /* we call this when we want the window to become visible, mapped, and
! in front of all windows; or with "f" zero, when we want to get rid of the window. */
! static void canvas_vis(t_canvas *x, t_floatarg f) {
if (!!f) {
if (x->gl_editor) { /* already visible, so just raise window */
***************
*** 983,986 ****
--- 966,971 ----
/* ------------------ table ---------------------------*/
+ static t_garray *graph_array(t_glist *gl, t_symbol *s, t_symbol *tmpl, t_floatarg f, t_floatarg saveit);
+
static int tabcount = 0;
***************
*** 1024,1028 ****
/* return true if the "canvas" object should be treated as a text
object. This is true for abstractions but also for "table"s... */
! int canvas_showtext(t_canvas *x) {
t_atom *argv = x->gl_obj.te_binbuf? binbuf_getvec( x->gl_obj.te_binbuf) : 0;
int argc = x->gl_obj.te_binbuf? binbuf_getnatom(x->gl_obj.te_binbuf) : 0;
--- 1009,1013 ----
/* return true if the "canvas" object should be treated as a text
object. This is true for abstractions but also for "table"s... */
! static int canvas_showtext(t_canvas *x) {
t_atom *argv = x->gl_obj.te_binbuf? binbuf_getvec( x->gl_obj.te_binbuf) : 0;
int argc = x->gl_obj.te_binbuf? binbuf_getnatom(x->gl_obj.te_binbuf) : 0;
***************
*** 1399,1415 ****
}
- /* find a dirty sub-glist, if any, of this one (including itself) */
- static t_glist *glist_finddirty(t_glist *x) {
- t_gobj *g;
- t_glist *g2;
- if (x->gl_env && x->gl_dirty)
- return x;
- for (g = x->gl_list; g; g = g->g_next)
- if (pd_class(&g->g_pd) == canvas_class &&
- (g2 = glist_finddirty((t_glist *)g)))
- return g2;
- return 0;
- }
-
void canvas_close(t_canvas *x) {
if (x->gl_owner) canvas_vis(x, 0); else pd_free((t_pd *)x);
--- 1384,1387 ----
***************
*** 1685,1689 ****
void word_free(t_word *wp, t_template *template);
! void array_free(t_array *x) {
int i;
t_template *scalartemplate = template_findbyname(x->a_templatesym);
--- 1657,1661 ----
void word_free(t_word *wp, t_template *template);
! static void array_free(t_array *x) {
int i;
t_template *scalartemplate = template_findbyname(x->a_templatesym);
***************
*** 2121,2124 ****
--- 2093,2102 ----
}
+ /* cursor definitions; used as return value for t_parentclickfn */
+ #define CURSOR_RUNMODE_CLICKME 1
+ #define CURSOR_RUNMODE_THICKEN 2
+ #define CURSOR_RUNMODE_ADDPOINT 3
+ #define CURSOR_EDITMODE_DISCONNECT 6
+
/* LATER move this and others back into plot parentwidget code, so
they can be static (look in g_canvas.h for candidates). */
***************
*** 2310,2323 ****
}
- /* This functiopn gets the template of an array; if we can't figure
- out what template an array's elements belong to we're in grave trouble
- when it's time to free or resize it. */
- t_template *garray_template(t_garray *x) {
- t_array *array = garray_getarray(x);
- t_template *template = array ? template_findbyname(array->a_templatesym) : 0;
- if (!template) bug("garray_template");
- return template;
- }
-
/* get the length */
int garray_npoints(t_garray *x) {return garray_getarray(x)->a_n;}
--- 2288,2291 ----
***************
*** 2692,2695 ****
--- 2660,2665 ----
}
+ static void scalar_getbasexy(t_scalar *x, float *basex, float *basey);
+
static float gobj_getxforsort(t_gobj *g) {
if (pd_class(&g->g_pd) == scalar_class) {
***************
*** 3176,3180 ****
we're ready to delete the object; otherwise we wait either for signoff
or for a timeout. */
! void guiconnect_notarget(t_guiconnect *x, double timedelay) {
if (!x->x_sym) pd_free((t_pd *)x);
else {
--- 3146,3150 ----
we're ready to delete the object; otherwise we wait either for signoff
or for a timeout. */
! static void guiconnect_notarget(t_guiconnect *x, double timedelay) {
if (!x->x_sym) pd_free((t_pd *)x);
else {
***************
*** 3732,3736 ****
if (!x->gl_owner) canvas_rename(x, filename, dir);
post("saved to: %s/%s", dir->s_name, filename->s_name);
- canvas_dirty(x, 0);
canvas_reload(filename, dir, (t_gobj *)x);
}
--- 3702,3705 ----
***************
*** 4360,4365 ****
}
! /* -------------------- widget behavior for scalar ------------ */
! void scalar_getbasexy(t_scalar *x, float *basex, float *basey) {
t_template *template = template_findbyname(x->sc_template);
*basex = template_getfloat(template, gensym("x"), x->sc_vec, 0);
--- 4329,4333 ----
}
! static void scalar_getbasexy(t_scalar *x, float *basex, float *basey) {
t_template *template = template_findbyname(x->sc_template);
*basex = template_getfloat(template, gensym("x"), x->sc_vec, 0);
***************
*** 6860,6864 ****
/*EXTERN*/ void canvas_savecontainerto(t_canvas *x, t_binbuf *b);
- //typedef void (*t_iemfunptr)(void *x, t_glist *glist, int mode);
#define IEMGUI_FIELDS \
--- 6828,6831 ----
***************
*** 6940,6949 ****
t_symbol *s_empty;
- int convert_color2(int x);
- void binbuf_update(t_iemgui *x, t_symbol *qlass, int argc, t_atom *argv);
typedef struct t_foo { int argc; t_atom *argv; t_binbuf *b; } t_foo;
! int pd_pickle(t_foo *foo, char *fmt, ...);
! int pd_savehead(t_binbuf *b, void /*t_iemgui*/ *x, char *name);
#ifdef MSW
--- 6907,6914 ----
t_symbol *s_empty;
typedef struct t_foo { int argc; t_atom *argv; t_binbuf *b; } t_foo;
! static int pd_pickle(t_foo *foo, char *fmt, ...);
! static int pd_savehead(t_binbuf *b, void /*t_iemgui*/ *x, char *name);
#ifdef MSW
***************
*** 6993,6996 ****
--- 6958,6967 ----
}
+ void canvas_getargs(int *argcp, t_atom **argvp) {
+ t_canvasenvironment *e = canvas_getenv(canvas_getcurrent());
+ *argcp = e->ce_argc;
+ *argvp = e->ce_argv;
+ }
+
static void canvas_objtext(t_glist *gl, int xpix, int ypix, int selected, t_binbuf *b) {
t_text *x=0;
***************
*** 7199,7203 ****
return gensym(shmo);
}
- /* else return iemgui_dollar2raute(s);*/
else return s;
}
--- 7170,7173 ----
***************
*** 7206,7210 ****
static t_symbol *gatom_unescapit(t_symbol *s) {
if (*s->s_name == '-') return gensym(s->s_name+1);
- /* return iemgui_raute2dollar(s);*/
return s;
}
--- 7176,7179 ----
***************
*** 7733,7737 ****
}
! int pd_savehead(t_binbuf *b, void /*t_text*/ *x_, char *name) {
t_text *x = (t_text *)x_;
binbuf_addv(b, "ssiis", gensym("#X"),gensym("obj"),
--- 7702,7706 ----
}
! static int pd_savehead(t_binbuf *b, void /*t_text*/ *x_, char *name) {
t_text *x = (t_text *)x_;
binbuf_addv(b, "ssiis", gensym("#X"),gensym("obj"),
More information about the Pd-cvs
mailing list