Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28315
Modified Files: Tag: devel_0_39 desire.c desire.h Log Message: removing t_glistmotionfn and t_glistkeyfn and e_onmotion.
Index: desire.h =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.h,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -C2 -d -r1.1.2.7 -r1.1.2.8 *** desire.h 21 Aug 2006 03:13:05 -0000 1.1.2.7 --- desire.h 1 Sep 2006 17:55:58 -0000 1.1.2.8 *************** *** 73,79 **** } 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; --- 73,81 ---- } 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; *************** *** 101,105 **** } t_selection;
! /* this structure is instantiated whenever a glist becomes visible. */ typedef struct _editor { --- 103,108 ---- } t_selection;
! /* this structure is instantiated whenever a glist becomes visible. */ ! /* commented-out fields are not in DesireData */ typedef struct _editor { *************** *** 107,117 **** t_selection *e_updlist; /* list of objects to update */ t_rtext *e_rtext; /* text responder linked list */ ! #ifndef DESIRE ! t_selection *e_selection; /* head of the selection list */ ! #endif t_rtext *e_textedfor; /* the rtext if any that we are editing */ t_gobj *e_grab; /* object being "dragged" */ ! t_glistmotionfn e_motionfn; /* ... motion callback */ ! t_glistkeyfn e_keyfn; /* ... keypress callback */ t_binbuf *e_connectbuf; /* connections to deleted objects */ t_binbuf *e_deleted; /* last stuff we deleted */ --- 110,118 ---- t_selection *e_updlist; /* list of objects to update */ t_rtext *e_rtext; /* text responder linked list */ ! /* t_selection *e_selection; head of the selection list */ t_rtext *e_textedfor; /* the rtext if any that we are editing */ t_gobj *e_grab; /* object being "dragged" */ ! /* t_glistmotionfn e_motionfn; ... motion callback */ ! /* t_glistkeyfn e_keyfn; ... keypress callback */ t_binbuf *e_connectbuf; /* connections to deleted objects */ t_binbuf *e_deleted; /* last stuff we deleted */ *************** *** 125,129 **** int e_selectline_inno; t_outconnect *e_selectline_tag; ! unsigned int e_onmotion: 3; /* action to take on motion */ unsigned int e_lastmoved: 1; /* one if mouse has moved since click */ unsigned int e_textdirty: 1; /* one if e_textedfor has changed */ --- 126,130 ---- int e_selectline_inno; t_outconnect *e_selectline_tag; ! /* unsigned int e_onmotion: 3; action to take on motion */ unsigned int e_lastmoved: 1; /* one if mouse has moved since click */ unsigned int e_textdirty: 1; /* one if e_textedfor has changed */ *************** *** 131,141 **** } t_editor;
- #define MA_NONE 0 /* e_onmotion: do nothing on mouse motion */ - #define MA_MOVE 1 /* drag the selection around */ - #define MA_CONNECT 2 /* make a connection */ - #define MA_REGION 3 /* selection region */ - #define MA_PASSOUT 4 /* send on to e_grab */ - #define MA_DRAGTEXT 5 /* drag in text editor to alter selection */ - /* editor structure for "garrays". We don't bother to delete and regenerate this structure when the "garray" becomes invisible or visible, although we --- 132,135 ---- *************** *** 403,412 **** EXTERN void glist_noselect(t_glist *x); EXTERN void glist_selectall(t_glist *x); */
EXTERN void glist_delete(t_glist *x, t_gobj *y); EXTERN void glist_retext(t_glist *x, t_text *y); - EXTERN void glist_grab(t_glist *x, t_gobj *y, t_glistmotionfn motionfn, - t_glistkeyfn keyfn, int xpos, int ypos); EXTERN int glist_isvisible(t_glist *x); EXTERN int glist_istoplevel(t_glist *x); --- 397,406 ---- 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); EXTERN int glist_isvisible(t_glist *x); EXTERN int glist_istoplevel(t_glist *x);
Index: desire.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v retrieving revision 1.1.2.127 retrieving revision 1.1.2.128 diff -C2 -d -r1.1.2.127 -r1.1.2.128 *** desire.c 1 Sep 2006 15:39:48 -0000 1.1.2.127 --- desire.c 1 Sep 2006 17:55:58 -0000 1.1.2.128 *************** *** 1596,1599 **** --- 1596,1600 ---- }
+ /*DIE*/ void canvas_startmotion(t_canvas *x) { *************** *** 1602,1608 **** glist_getnextxy(x, &xval, &yval); if (xval == 0 && yval == 0) return; - x->gl_editor->e_onmotion = MA_MOVE; x->gl_editor->e_xwas = xval; ! x->gl_editor->e_ywas = yval; }
--- 1603,1608 ---- glist_getnextxy(x, &xval, &yval); if (xval == 0 && yval == 0) return; x->gl_editor->e_xwas = xval; ! x->gl_editor->e_ywas = yval; }
*************** *** 2353,2361 **** probably by attaching a gpointer here ... */
static void array_motion(void *z, t_floatarg dx, t_floatarg dy) { array_motion_xcumulative += dx * array_motion_xperpix; array_motion_ycumulative += dy * array_motion_yperpix; ! if (array_motion_xfield) { ! /* it's an x, y plot */ int i; for (i = 0; i < array_motion_npoints; i++) { --- 2353,2361 ---- probably by attaching a gpointer here ... */
+ #if 0 static void array_motion(void *z, t_floatarg dx, t_floatarg dy) { array_motion_xcumulative += dx * array_motion_xperpix; array_motion_ycumulative += dy * array_motion_yperpix; ! if (array_motion_xfield) {// xy plot int i; for (i = 0; i < array_motion_npoints; i++) { *************** *** 2384,2389 **** } } ! } else if (array_motion_yfield) { ! /* a y-only plot. */ int thisx = array_motion_initx + array_motion_xcumulative + 0.5, x2; int increment, i, nchange; --- 2384,2388 ---- } } ! } else if (array_motion_yfield) {// y plot int thisx = array_motion_initx + array_motion_xcumulative + 0.5, x2; int increment, i, nchange; *************** *** 2413,2416 **** --- 2412,2416 ---- if (array_motion_array) array_redraw(array_motion_array, array_motion_glist); } + #endif
int scalar_doclick(t_word *data, t_template *template, t_scalar *sc, *************** *** 2600,2604 **** array_motion_ycumulative = 0; } ! glist_grab(glist, 0, array_motion, 0, xpix, ypix); } if (alt) { --- 2600,2604 ---- array_motion_ycumulative = 0; } ! /* glist_grab(glist, 0, array_motion, 0, xpix, ypix); */ } if (alt) { *************** *** 3075,3079 ****
void glist_add(t_glist *x, t_gobj *y) { ! /* if (!y->g_pd->c_patchable) { printf("glist_add %p %p class=%s (non-t_text)\n",x,y,y->g_pd->c_name->s_name); --- 3075,3079 ----
void glist_add(t_glist *x, t_gobj *y) { ! #ifdef DEBUG_GLIST_ADD if (!y->g_pd->c_patchable) { printf("glist_add %p %p class=%s (non-t_text)\n",x,y,y->g_pd->c_name->s_name); *************** *** 3089,3093 **** } } ! */
gobj_subscribe(y,(t_gobj *)x); --- 3089,3093 ---- } } ! #endif
gobj_subscribe(y,(t_gobj *)x); *************** *** 3201,3268 **** }
! void glist_grab(t_glist *x, t_gobj *y, t_glistmotionfn motionfn, ! t_glistkeyfn keyfn, int xpos, int ypos) ! { ! t_glist *x2 = glist_getcanvas(x); ! if (motionfn) ! x2->gl_editor->e_onmotion = MA_PASSOUT; ! else x2->gl_editor->e_onmotion = 0; ! x2->gl_editor->e_grab = y; ! x2->gl_editor->e_motionfn = motionfn; ! x2->gl_editor->e_keyfn = keyfn; ! x2->gl_editor->e_xwas = xpos; ! x2->gl_editor->e_ywas = ypos; ! } ! ! t_canvas *glist_getcanvas(t_glist *x) ! { ! while (x->gl_owner && !x->gl_havewindow && x->gl_isgraph) ! x = x->gl_owner; ! return((t_canvas *)x); }
! static float gobj_getxforsort(t_gobj *g) ! { ! if (pd_class(&g->g_pd) == scalar_class) ! { float x1, y1; scalar_getbasexy((t_scalar *)g, &x1, &y1); ! return(x1); ! } ! else return (0); }
! static t_gobj *glist_merge(t_glist *x, t_gobj *g1, t_gobj *g2) ! { t_gobj *g = 0, *g9 = 0; float f1 = 0, f2 = 0; if (g1) f1 = gobj_getxforsort(g1); if (g2) f2 = gobj_getxforsort(g2); ! while (1) ! { ! if (g1) { ! if (g2 && f1>f2) goto put2; else goto put1; ! } else if (g2) goto put2; ! else break; ! put1: ! if (g9) ! g9->g_next = g1, g9 = g1; ! else g9 = g = g1; ! if ((g1 = g1->g_next)) f1 = gobj_getxforsort(g1); ! g9->g_next = 0; ! continue; ! put2: ! if (g9) ! g9->g_next = g2, g9 = g2; ! else g9 = g = g2; ! if ((g2 = g2->g_next)) f2 = gobj_getxforsort(g2); ! g9->g_next = 0; ! continue; } ! return (g); }
! static t_gobj *glist_dosort(t_glist *x, t_gobj *g, int nitems) ! { if (nitems < 2) return g; { --- 3201,3241 ---- }
! t_canvas *glist_getcanvas(t_glist *x) { ! while (x->gl_owner && !x->gl_havewindow && x->gl_isgraph) x = x->gl_owner; ! return (t_canvas *)x; }
! static float gobj_getxforsort(t_gobj *g) { ! if (pd_class(&g->g_pd) == scalar_class) { float x1, y1; scalar_getbasexy((t_scalar *)g, &x1, &y1); ! return x1; ! } else return 0; }
! static t_gobj *glist_merge(t_glist *x, t_gobj *g1, t_gobj *g2) { t_gobj *g = 0, *g9 = 0; float f1 = 0, f2 = 0; if (g1) f1 = gobj_getxforsort(g1); if (g2) f2 = gobj_getxforsort(g2); ! while (1) { ! if (g1 && !(g2 && f1>f2)) { ! if (g9) {g9->g_next = g1; g9 = g1;} else g9 = g = g1; ! if ((g1 = g1->g_next)) f1 = gobj_getxforsort(g1); ! g9->g_next = 0; ! continue; ! } ! if (g1 || g2) { ! if (g9) {g9->g_next = g2; g9 = g2;} else g9 = g = g2; ! if ((g2 = g2->g_next)) f2 = gobj_getxforsort(g2); ! g9->g_next = 0; ! continue; ! } ! break; } ! return g; }
! static t_gobj *glist_dosort(t_glist *x, t_gobj *g, int nitems) { if (nitems < 2) return g; { *************** *** 3279,3301 **** }
! void glist_sort(t_glist *x) ! { int nitems = 0, foo = 0; float lastx = -1e37; t_gobj *g; ! for (g = x->gl_list; g; g = g->g_next) ! { float x1 = gobj_getxforsort(g); ! if (x1 < lastx) ! foo = 1; lastx = x1; nitems++; } ! if (foo) ! x->gl_list = glist_dosort(x, x->gl_list, nitems); }
! void glist_cleanup(t_glist *x) ! { freebytes(x->gl_xlabel, x->gl_nxlabels * sizeof(*(x->gl_xlabel))); freebytes(x->gl_ylabel, x->gl_nylabels * sizeof(*(x->gl_ylabel))); --- 3252,3269 ---- }
! void glist_sort(t_glist *x) { int nitems = 0, foo = 0; float lastx = -1e37; t_gobj *g; ! for (g = x->gl_list; g; g = g->g_next) { float x1 = gobj_getxforsort(g); ! if (x1 < lastx) foo = 1; lastx = x1; nitems++; } ! if (foo) x->gl_list = glist_dosort(x, x->gl_list, nitems); }
! void glist_cleanup(t_glist *x) { freebytes(x->gl_xlabel, x->gl_nxlabels * sizeof(*(x->gl_xlabel))); freebytes(x->gl_ylabel, x->gl_nylabels * sizeof(*(x->gl_ylabel))); *************** *** 3303,3308 **** }
! void glist_free(t_glist *x) ! { glist_cleanup(x); freebytes(x, sizeof(*x)); --- 3271,3275 ---- }
! void glist_free(t_glist *x) { glist_cleanup(x); freebytes(x, sizeof(*x)); *************** *** 3311,3315 **** /* --------------- inlets and outlets ----------- */
- t_inlet *canvas_addinlet(t_canvas *x, t_pd *who, t_symbol *s, t_symbol* h) { t_inlet *ip = inlet_new(&x->gl_obj, who, s, 0); --- 3278,3281 ---- *************** *** 3362,3367 **** }
! t_outlet *canvas_addoutlet(t_canvas *x, t_pd *who, t_symbol *s) ! { t_outlet *op = outlet_new(&x->gl_obj, s); if (!x->gl_loading && x->gl_owner && glist_isvisible(x->gl_owner)) { --- 3328,3332 ---- }
! t_outlet *canvas_addoutlet(t_canvas *x, t_pd *who, t_symbol *s) { t_outlet *op = outlet_new(&x->gl_obj, s); if (!x->gl_loading && x->gl_owner && glist_isvisible(x->gl_owner)) { *************** *** 3370,3374 **** } if (!x->gl_loading) canvas_resortoutlets(x); ! return (op); }
--- 3335,3339 ---- } if (!x->gl_loading) canvas_resortoutlets(x); ! return op; }
*************** *** 6646,6672 **** probably by attaching a gpointer here ... */
! static void curve_motion(void *z, t_floatarg dx, t_floatarg dy) ! { t_curve *x = (t_curve *)z; t_fielddesc *f = x->x_vec + curve_motion_field; curve_motion_xcumulative += dx; curve_motion_ycumulative += dy; ! if (f->fd_var && (dx != 0)) ! { fielddesc_setcoord(f, curve_motion_template, curve_motion_wp, ! curve_motion_xbase + curve_motion_xcumulative * curve_motion_xper, ! 1); ! } ! if ((f+1)->fd_var && (dy != 0)) ! { fielddesc_setcoord(f+1, curve_motion_template, curve_motion_wp, ! curve_motion_ybase + curve_motion_ycumulative * curve_motion_yper, ! 1); ! } ! if (curve_motion_scalar) ! scalar_redraw(curve_motion_scalar, curve_motion_glist); ! if (curve_motion_array) ! array_redraw(curve_motion_array, curve_motion_glist); }
static int curve_click(t_gobj *z, t_glist *glist, --- 6611,6630 ---- probably by attaching a gpointer here ... */
! #if 0 ! static void curve_motion(void *z, t_floatarg dx, t_floatarg dy) { t_curve *x = (t_curve *)z; t_fielddesc *f = x->x_vec + curve_motion_field; curve_motion_xcumulative += dx; curve_motion_ycumulative += dy; ! if (f[0].fd_var && dx!=0) fielddesc_setcoord(f, curve_motion_template, curve_motion_wp, ! curve_motion_xbase + curve_motion_xcumulative * curve_motion_xper, 1); ! if (f[1].fd_var && dy!=0) fielddesc_setcoord(f+1, curve_motion_template, curve_motion_wp, ! curve_motion_ybase + curve_motion_ycumulative * curve_motion_yper, 1); ! if (curve_motion_scalar) scalar_redraw(curve_motion_scalar, curve_motion_glist); ! if (curve_motion_array) array_redraw(curve_motion_array, curve_motion_glist); } + #endif
static int curve_click(t_gobj *z, t_glist *glist, *************** *** 6680,6702 **** int besterror = 0x7fffffff; t_fielddesc *f; ! if (!fielddesc_getfloat(&x->x_vis, template, data, 0)) ! return (0); ! for (i = 0, f = x->x_vec; i < n; i++, f += 2) ! { ! int xval = fielddesc_getcoord(f, template, data, 0), ! xloc = glist_xtopixels(glist, basex + xval); ! int yval = fielddesc_getcoord(f+1, template, data, 0), ! yloc = glist_ytopixels(glist, basey + yval); int xerr = xloc - xpix, yerr = yloc - ypix; ! if (!f->fd_var && !(f+1)->fd_var) ! continue; ! if (xerr < 0) ! xerr = -xerr; ! if (yerr < 0) ! yerr = -yerr; ! if (yerr > xerr) ! xerr = yerr; ! if (xerr < besterror) ! { curve_motion_xbase = xval; curve_motion_ybase = yval; --- 6638,6651 ---- int besterror = 0x7fffffff; t_fielddesc *f; ! if (!fielddesc_getfloat(&x->x_vis, template, data, 0)) return 0; ! for (i = 0, f = x->x_vec; i < n; i++, f += 2) { ! int xval = fielddesc_getcoord(f, template, data, 0), xloc = glist_xtopixels(glist, basex + xval); ! int yval = fielddesc_getcoord(f+1, template, data, 0), yloc = glist_ytopixels(glist, basey + yval); int xerr = xloc - xpix, yerr = yloc - ypix; ! if (!f->fd_var && !(f+1)->fd_var) continue; ! if (xerr < 0) xerr = -xerr; ! if (yerr < 0) yerr = -yerr; ! if (yerr > xerr) xerr = yerr; ! if (xerr < besterror) { curve_motion_xbase = xval; curve_motion_ybase = yval; *************** *** 6705,6716 **** } } ! if (besterror > 10) ! return (0); ! if (doit) ! { ! curve_motion_xper = glist_pixelstox(glist, 1) ! - glist_pixelstox(glist, 0); ! curve_motion_yper = glist_pixelstoy(glist, 1) ! - glist_pixelstoy(glist, 0); curve_motion_xcumulative = 0; curve_motion_ycumulative = 0; --- 6654,6661 ---- } } ! if (besterror > 10) return 0; ! if (doit) { ! curve_motion_xper = glist_pixelstox(glist, 1) - glist_pixelstox(glist, 0); ! curve_motion_yper = glist_pixelstoy(glist, 1) - glist_pixelstoy(glist, 0); curve_motion_xcumulative = 0; curve_motion_ycumulative = 0; *************** *** 6721,6731 **** curve_motion_field = 2*bestn; curve_motion_template = template; ! glist_grab(glist, z, curve_motion, 0, xpix, ypix); } ! return (1); }
! t_parentwidgetbehavior curve_widgetbehavior = ! { curve_getrect, curve_displace, --- 6666,6675 ---- curve_motion_field = 2*bestn; curve_motion_template = template; ! /* glist_grab(glist, z, curve_motion, 0, xpix, ypix); */ } ! return 1; }
! t_parentwidgetbehavior curve_widgetbehavior = { curve_getrect, curve_displace, *************** *** 6736,6746 **** };
! static void curve_free(t_curve *x) ! { t_freebytes(x->x_vec, 2 * x->x_npoints * sizeof(*x->x_vec)); }
! static void curve_setup(void) ! { curve_class = class_new(gensym("drawpolygon"), (t_newmethod)curve_new, (t_method)curve_free, sizeof(t_curve), 0, A_GIMME, 0); --- 6680,6688 ---- };
! static void curve_free(t_curve *x) { t_freebytes(x->x_vec, 2 * x->x_npoints * sizeof(*x->x_vec)); }
! static void curve_setup(void) { curve_class = class_new(gensym("drawpolygon"), (t_newmethod)curve_new, (t_method)curve_free, sizeof(t_curve), 0, A_GIMME, 0); *************** *** 7406,7411 **** probably by attaching a gpointer here ... */
! static void drawnumber_motion(void *z, t_floatarg dx, t_floatarg dy) ! { t_drawnumber *x = (t_drawnumber *)z; t_fielddesc *f = &x->x_value; --- 7348,7353 ---- probably by attaching a gpointer here ... */
! #if 0 ! static void drawnumber_motion(void *z, t_floatarg dx, t_floatarg dy) { t_drawnumber *x = (t_drawnumber *)z; t_fielddesc *f = &x->x_value; *************** *** 7416,7419 **** --- 7358,7362 ---- if (drawnumber_motion_array) array_redraw(drawnumber_motion_array, drawnumber_motion_glist); } + #endif
static int drawnumber_click(t_gobj *z, t_glist *glist, *************** *** 7437,7441 **** drawnumber_motion_ycumulative = fielddesc_getfloat(&x->x_value, template, data, 0); ! glist_grab(glist, z, drawnumber_motion, 0, xpix, ypix); } return 1; --- 7380,7384 ---- drawnumber_motion_ycumulative = fielddesc_getfloat(&x->x_value, template, data, 0); ! /* glist_grab(glist, z, drawnumber_motion, 0, xpix, ypix); */ } return 1;