[PD-cvs] pd/src desire.c, 1.1.2.150, 1.1.2.151 desire.h, 1.1.2.23, 1.1.2.24

Mathieu Bouchard matju at users.sourceforge.net
Thu Sep 7 02:07:47 CEST 2006


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6043

Modified Files:
      Tag: devel_0_39
	desire.c desire.h 
Log Message:
removing some gl_ prefixes


Index: desire.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.h,v
retrieving revision 1.1.2.23
retrieving revision 1.1.2.24
diff -C2 -d -r1.1.2.23 -r1.1.2.24
*** desire.h	7 Sep 2006 00:01:51 -0000	1.1.2.23
--- desire.h	7 Sep 2006 00:07:45 -0000	1.1.2.24
***************
*** 101,106 ****
      int gl_xmargin, gl_ymargin;
      /* ticks and tick labels */
!     t_tick gl_xtick; int gl_nxlabels; t_symbol **gl_xlabel; float gl_xlabely;
!     t_tick gl_ytick; int gl_nylabels; t_symbol **gl_ylabel; float gl_ylabelx;
      t_editor *gl_editor;        /* editor structure when visible */
      t_symbol *gl_name;          /* symbol bound here */
--- 101,106 ----
      int gl_xmargin, gl_ymargin;
      /* ticks and tick labels */
!     t_tick xtick; int nxlabels; t_symbol **xlabel; float xlabely;
!     t_tick ytick; int nylabels; t_symbol **ylabel; float ylabelx;
      t_editor *gl_editor;        /* editor structure when visible */
      t_symbol *gl_name;          /* symbol bound here */
***************
*** 108,117 ****
      struct _glist *gl_next;         /* link in list of toplevels */
      t_canvasenvironment *gl_env;    /* for root canvases and abstractions only */
!     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_loading:1;      /* am now loading from file */
!     unsigned int gl_willvis:1;      /* make me visible after loading */ 
!     unsigned int gl_goprect:1;      /* draw rectangle for graph-on-parent */
!     unsigned int gl_isgraph:1;      /* show as graph on parent */
      long gl_next_add;               /* insertion point for next call to glist_add (for future use!?) */
  };
--- 108,117 ----
      struct _glist *gl_next;         /* link in list of toplevels */
      t_canvasenvironment *gl_env;    /* for root canvases and abstractions only */
!     unsigned int havewindow:1;   /* true if we own a window */
!     unsigned int mapped:1;       /* true if, moreover, it's "mapped" */
!     unsigned int loading:1;      /* am now loading from file */
!     unsigned int willvis:1;      /* make me visible after loading */ 
!     unsigned int goprect:1;      /* draw rectangle for graph-on-parent */
!     unsigned int isgraph:1;      /* show as graph on parent */
      long gl_next_add;               /* insertion point for next call to glist_add (for future use!?) */
  };

Index: desire.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v
retrieving revision 1.1.2.150
retrieving revision 1.1.2.151
diff -C2 -d -r1.1.2.150 -r1.1.2.151
*** desire.c	7 Sep 2006 00:00:43 -0000	1.1.2.150
--- desire.c	7 Sep 2006 00:07:44 -0000	1.1.2.151
***************
*** 316,320 ****
      x->gl_next = canvas_list;
      canvas_list = x;
!     if (x->gl_havewindow || x->gl_willvis) {
  	gobj_subscribe((t_gobj *)x,(t_gobj *)manager);
  	gobj_changed(x,0);
--- 316,320 ----
      x->gl_next = canvas_list;
      canvas_list = x;
!     if (x->havewindow || x->willvis) {
  	gobj_subscribe((t_gobj *)x,(t_gobj *)manager);
  	gobj_changed(x,0);
***************
*** 453,458 ****
      x->gl_stub = gstub_new(x, 0);
      x->gl_valid = ++glist_valid;
!     x->gl_xlabel = (t_symbol **)t_getbytes(0);
!     x->gl_ylabel = (t_symbol **)t_getbytes(0);
      if (hack) { /* only manage this canvas if it's not one of the 3 invisible builtin canvases */
  	gobj_subscribe((t_gobj *)x,(t_gobj *)manager);
--- 453,458 ----
      x->gl_stub = gstub_new(x, 0);
      x->gl_valid = ++glist_valid;
!     x->xlabel = (t_symbol **)t_getbytes(0);
!     x->ylabel = (t_symbol **)t_getbytes(0);
      if (hack) { /* only manage this canvas if it's not one of the 3 invisible builtin canvases */
  	gobj_subscribe((t_gobj *)x,(t_gobj *)manager);
***************
*** 507,512 ****
      if (strcmp(x->gl_name->s_name, "Pd"))
          pd_bind((t_pd *)x, canvas_makebindsym(x->gl_name));
!     x->gl_loading = 1;
!     x->gl_goprect = 0;      /* no GOP rectangle unless it's turned on later */
          /* cancel "vis" flag if we're a subpatch of an
           abstraction inside another patch.  A separate mechanism prevents
--- 507,512 ----
      if (strcmp(x->gl_name->s_name, "Pd"))
          pd_bind((t_pd *)x, canvas_makebindsym(x->gl_name));
!     x->loading = 1;
!     x->goprect = 0;      /* no GOP rectangle unless it's turned on later */
          /* cancel "vis" flag if we're a subpatch of an
           abstraction inside another patch.  A separate mechanism prevents
***************
*** 517,521 ****
          if (zzz && canvas_isabstraction(zzz) && zzz->gl_owner) vis = 0;
      }
!     x->gl_willvis = vis;
      x->gl_font = sys_nearestfontsize(font);
      pd_pushsym((t_pd *)x);
--- 517,521 ----
          if (zzz && canvas_isabstraction(zzz) && zzz->gl_owner) vis = 0;
      }
!     x->willvis = vis;
      x->gl_font = sys_nearestfontsize(font);
      pd_pushsym((t_pd *)x);
***************
*** 580,585 ****
      if (strcmp(x->gl_name->s_name, "Pd")) pd_bind((t_pd *)x, canvas_makebindsym(x->gl_name));
      x->gl_owner = g;
!     x->gl_isgraph = 1;
!     x->gl_goprect = 0;
      x->gl_obj.te_binbuf = binbuf_new();
      binbuf_addv(x->gl_obj.te_binbuf, "s", gensym("graph"));
--- 580,585 ----
      if (strcmp(x->gl_name->s_name, "Pd")) pd_bind((t_pd *)x, canvas_makebindsym(x->gl_name));
      x->gl_owner = g;
!     x->isgraph = 1;
!     x->goprect = 0;
      x->gl_obj.te_binbuf = binbuf_new();
      binbuf_addv(x->gl_obj.te_binbuf, "s", gensym("graph"));
***************
*** 610,614 ****
      x->gl_screenx2 = x2;
      x->gl_screeny2 = y2;
!     if (!x->gl_isgraph && (x->gl_y2 < x->gl_y1)) {
              /* if it's flipped so that y grows upward,
              fix so that zero is bottom edge and redraw.  This is
--- 610,614 ----
      x->gl_screenx2 = x2;
      x->gl_screeny2 = y2;
!     if (!x->isgraph && (x->gl_y2 < x->gl_y1)) {
              /* if it's flipped so that y grows upward,
              fix so that zero is bottom edge and redraw.  This is
***************
*** 641,653 ****
  void canvas_map(t_canvas *x, t_floatarg f) {
      if (f!=0 && !glist_isvisible(x)) {
! 	x->gl_mapped = 1;
  	t_gobj *y;
! 	if (!x->gl_havewindow) {bug("canvas_map"); canvas_vis(x,1);}
  	glist_each(y,x) gobj_changed(y,0);
  	canvas_drawlines(x);
! 	if (x->gl_isgraph && x->gl_goprect) canvas_drawredrect(x, 1);
      }
      if (f==0 && glist_isvisible(x)) {
! 	x->gl_mapped = 0;
  	gobj_unsubscribe((t_gobj *)x,(t_gobj *)manager);
      }
--- 641,653 ----
  void canvas_map(t_canvas *x, t_floatarg f) {
      if (f!=0 && !glist_isvisible(x)) {
! 	x->mapped = 1;
  	t_gobj *y;
! 	if (!x->havewindow) {bug("canvas_map"); canvas_vis(x,1);}
  	glist_each(y,x) gobj_changed(y,0);
  	canvas_drawlines(x);
! 	if (x->isgraph && x->goprect) canvas_drawredrect(x, 1);
      }
      if (f==0 && glist_isvisible(x)) {
! 	x->mapped = 0;
  	gobj_unsubscribe((t_gobj *)x,(t_gobj *)manager);
      }
***************
*** 658,662 ****
          glists_each(x,canvas_list) {
  		canvas_redraw(x);
! 		x->gl_mapped=0;
  		canvas_map(x,1);
  	}
--- 658,662 ----
          glists_each(x,canvas_list) {
  		canvas_redraw(x);
! 		x->mapped=0;
  		canvas_map(x,1);
  	}
***************
*** 701,705 ****
      }
      glist_each(y,x) {
!         if (pd_class(&y->g_pd) == canvas_class && ((t_canvas *)y)->gl_isgraph)
                  canvas_create_editor((t_canvas *)y, createit);
      }
--- 701,705 ----
      }
      glist_each(y,x) {
!         if (pd_class(&y->g_pd) == canvas_class && ((t_canvas *)y)->isgraph)
                  canvas_create_editor((t_canvas *)y, createit);
      }
***************
*** 712,716 ****
      if (f && !x->gl_editor) {
              canvas_create_editor(x, 1);
!             x->gl_havewindow = 1;
  	    gobj_subscribe((t_gobj *)x,(t_gobj *)manager);
  	    gobj_changed(x,0);
--- 712,716 ----
      if (f && !x->gl_editor) {
              canvas_create_editor(x, 1);
!             x->havewindow = 1;
  	    gobj_subscribe((t_gobj *)x,(t_gobj *)manager);
  	    gobj_changed(x,0);
***************
*** 721,729 ****
          if (glist_isvisible(x)) canvas_map(x, 0);
  	/* if we're a graph on our parent and the parent exists and is visible, show ourselves on parent. */
!         if (x->gl_isgraph && x->gl_owner) {
              canvas_create_editor(x, 1);
!             x->gl_havewindow = 0;
          } else {
! 	    x->gl_havewindow = 0;
  	}
      }
--- 721,729 ----
          if (glist_isvisible(x)) canvas_map(x, 0);
  	/* if we're a graph on our parent and the parent exists and is visible, show ourselves on parent. */
!         if (x->isgraph && x->gl_owner) {
              canvas_create_editor(x, 1);
!             x->havewindow = 0;
          } else {
! 	    x->havewindow = 0;
  	}
      }
***************
*** 738,742 ****
          else {
              canvas_create_editor(x,0);
!             x->gl_havewindow = 1;
              gobj_changed(x,0);
          }
--- 738,742 ----
          else {
              canvas_create_editor(x,0);
!             x->havewindow = 1;
              gobj_changed(x,0);
          }
***************
*** 745,754 ****
  }
  
! int glist_isvisible(t_glist *x) {return !x->gl_loading && glist_getcanvas(x)->gl_mapped;}
  
  /* we consider a graph "toplevel" if it has its own window
  or if it appears as a box in its parent window so that we
  don't draw the actual contents there. */
! int glist_istoplevel(t_glist *x) {return x->gl_havewindow || !x->gl_isgraph;}
  
  static int glist_getfont(t_glist *x) {
--- 745,754 ----
  }
  
! int glist_isvisible(t_glist *x) {return !x->loading && glist_getcanvas(x)->mapped;}
  
  /* we consider a graph "toplevel" if it has its own window
  or if it appears as a box in its parent window so that we
  don't draw the actual contents there. */
! int glist_istoplevel(t_glist *x) {return x->havewindow || !x->isgraph;}
  
  static int glist_getfont(t_glist *x) {
***************
*** 771,776 ****
      }
      canvas_resume_dsp(dspstate);
!     freebytes(x->gl_xlabel, x->gl_nxlabels * sizeof(*(x->gl_xlabel)));
!     freebytes(x->gl_ylabel, x->gl_nylabels * sizeof(*(x->gl_ylabel)));
      gstub_cutoff(x->gl_stub);
      gfxstub_deleteforkey(x); /* probably unnecessary */
--- 771,776 ----
      }
      canvas_resume_dsp(dspstate);
!     freebytes(x->xlabel, x->nxlabels * sizeof(*(x->xlabel)));
!     freebytes(x->ylabel, x->nylabels * sizeof(*(x->ylabel)));
      gstub_cutoff(x->gl_stub);
      gfxstub_deleteforkey(x); /* probably unnecessary */
***************
*** 809,813 ****
      canvas_resortinlets(x);
      canvas_resortoutlets(x);
!     x->gl_loading = 0;
  }
  
--- 809,813 ----
      canvas_resortinlets(x);
      canvas_resortoutlets(x);
!     x->loading = 0;
  }
  
***************
*** 838,842 ****
            canvas_rename(x, argv[3].a_w.w_symbol, 0);
      }
!     canvas_pop(x, x->gl_willvis);
      z = gensym("#X")->s_thing;
      if (!z) error("canvas_restore: out of context");
--- 838,842 ----
            canvas_rename(x, argv[3].a_w.w_symbol, 0);
      }
!     canvas_pop(x, x->willvis);
      z = gensym("#X")->s_thing;
      if (!z) error("canvas_restore: out of context");
***************
*** 904,908 ****
      newest = (t_pd *)x;
      pd_popsym((t_pd *)x);
!     x->gl_loading = 0;
      canvas_resortinlets(x);
      canvas_resortoutlets(x);
--- 904,908 ----
      newest = (t_pd *)x;
      pd_popsym((t_pd *)x);
!     x->loading = 0;
      canvas_resortinlets(x);
      canvas_resortoutlets(x);
***************
*** 1238,1242 ****
                  do g = g->g_next in this case. */
              int j = glist_getindex(gl, g);
!             int hadwindow = gl->gl_havewindow;
              if (!hadwindow) canvas_vis(glist_getcanvas(gl), 1);
              g = glist_nth(gl, j);
--- 1238,1242 ----
                  do g = g->g_next in this case. */
              int j = glist_getindex(gl, g);
!             int hadwindow = gl->havewindow;
              if (!hadwindow) canvas_vis(glist_getcanvas(gl), 1);
              g = glist_nth(gl, j);
***************
*** 1276,1294 ****
      any missing paramters and redraw things if necessary. */
  void canvas_setgraph(t_glist *x, int flag, int nogoprect) {
!     if (!flag && x->gl_isgraph) {
!         x->gl_isgraph = 0;
!     } else if (flag && !x->gl_isgraph) {
          if (x->gl_pixwidth  <= 0) x->gl_pixwidth  = GLIST_DEFGRAPHWIDTH;
          if (x->gl_pixheight <= 0) x->gl_pixheight = GLIST_DEFGRAPHHEIGHT;
!         x->gl_isgraph = 1;
!         if (!nogoprect && !x->gl_goprect) {
              t_gobj *g;
              glist_each(g,x) if (pd_checkobject(&g->g_pd)) {
!                 x->gl_goprect = 1;
                  break;
              }
          }
!         if (glist_isvisible(x) && x->gl_goprect) glist_redraw(x);
!         if (x->gl_loading && x->gl_owner && glist_isvisible(x->gl_owner)) canvas_create_editor(x, 1);
      }
  }
--- 1276,1294 ----
      any missing paramters and redraw things if necessary. */
  void canvas_setgraph(t_glist *x, int flag, int nogoprect) {
!     if (!flag && x->isgraph) {
!         x->isgraph = 0;
!     } else if (flag && !x->isgraph) {
          if (x->gl_pixwidth  <= 0) x->gl_pixwidth  = GLIST_DEFGRAPHWIDTH;
          if (x->gl_pixheight <= 0) x->gl_pixheight = GLIST_DEFGRAPHHEIGHT;
!         x->isgraph = 1;
!         if (!nogoprect && !x->goprect) {
              t_gobj *g;
              glist_each(g,x) if (pd_checkobject(&g->g_pd)) {
!                 x->goprect = 1;
                  break;
              }
          }
!         if (glist_isvisible(x) && x->goprect) glist_redraw(x);
!         if (x->loading && x->gl_owner && glist_isvisible(x->gl_owner)) canvas_create_editor(x, 1);
      }
  }
***************
*** 1846,1850 ****
              pd_bind(&x->x_gobj.g_pd, x->x_realname);
              /* redraw the whole glist, just so the name change shows up */
!             if (x->x_glist->gl_havewindow) canvas_redraw(x->x_glist);
              else if (glist_isvisible(x->x_glist->gl_owner)) gobj_changed(x,0);
          }
--- 1846,1850 ----
              pd_bind(&x->x_gobj.g_pd, x->x_realname);
              /* redraw the whole glist, just so the name change shows up */
!             if (x->x_glist->havewindow) canvas_redraw(x->x_glist);
              else if (glist_isvisible(x->x_glist->gl_owner)) gobj_changed(x,0);
          }
***************
*** 2572,2577 ****
      /* voodoo */
      /* if (x->gl_editor && (ob = pd_checkobject(&y->g_pd))) rtext_new(x, ob); */
!     if (x->gl_editor && x->gl_isgraph && !x->gl_goprect && pd_checkobject(&y->g_pd)) {
!         x->gl_goprect = 1;
          canvas_drawredrect(x, 1);
      }
--- 2572,2577 ----
      /* voodoo */
      /* if (x->gl_editor && (ob = pd_checkobject(&y->g_pd))) rtext_new(x, ob); */
!     if (x->gl_editor && x->isgraph && !x->goprect && pd_checkobject(&y->g_pd)) {
!         x->goprect = 1;
          canvas_drawredrect(x, 1);
      }
***************
*** 2626,2630 ****
  
  t_canvas *glist_getcanvas(t_glist *x) {
!     while (x->gl_owner && !x->gl_havewindow && x->gl_isgraph) x = x->gl_owner;
      return x;
  }
--- 2626,2630 ----
  
  t_canvas *glist_getcanvas(t_glist *x) {
!     while (x->gl_owner && !x->havewindow && x->isgraph) x = x->gl_owner;
      return x;
  }
***************
*** 2693,2697 ****
      t_inlet *ip = inlet_new(&x->gl_obj, who, s, 0);
      inlet_settip(ip,h);
!     if (!x->gl_loading) canvas_resortinlets(x);
      gobj_changed(x,0);
      return ip;
--- 2693,2697 ----
      t_inlet *ip = inlet_new(&x->gl_obj, who, s, 0);
      inlet_settip(ip,h);
!     if (!x->loading) canvas_resortinlets(x);
      gobj_changed(x,0);
      return ip;
***************
*** 2737,2741 ****
  static 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) canvas_resortoutlets(x);
      gobj_changed(x,0);
      return op;
--- 2737,2741 ----
  static t_outlet *canvas_addoutlet(t_canvas *x, t_pd *who, t_symbol *s) {
      t_outlet *op = outlet_new(&x->gl_obj, s);
!     if (!x->loading) canvas_resortoutlets(x);
      gobj_changed(x,0);
      return op;
***************
*** 2796,2805 ****
  
  static void graph_xticks(t_glist *x, t_floatarg point, t_floatarg inc, t_floatarg f) {
!     t_tick *t = &x->gl_xtick;
      t->point = point; t->inc = inc; t->lperb = f;
      glist_redraw(x);
  }
  static void graph_yticks(t_glist *x, t_floatarg point, t_floatarg inc, t_floatarg f) {
!     t_tick *t = &x->gl_ytick;
      t->point = point; t->inc = inc; t->lperb = f;
      glist_redraw(x);
--- 2796,2805 ----
  
  static void graph_xticks(t_glist *x, t_floatarg point, t_floatarg inc, t_floatarg f) {
!     t_tick *t = &x->xtick;
      t->point = point; t->inc = inc; t->lperb = f;
      glist_redraw(x);
  }
  static void graph_yticks(t_glist *x, t_floatarg point, t_floatarg inc, t_floatarg f) {
!     t_tick *t = &x->ytick;
      t->point = point; t->inc = inc; t->lperb = f;
      glist_redraw(x);
***************
*** 2809,2818 ****
      int i;
      if (argc < 1) {pd_error(x,"graph_xlabel: no y value given"); return;}
!     x->gl_xlabely = atom_getfloat(argv);
      argv++; argc--;
!     x->gl_xlabel = (t_symbol **)t_resizebytes(x->gl_xlabel, 
!         x->gl_nxlabels*sizeof(t_symbol *), argc*sizeof(t_symbol *));
!     x->gl_nxlabels = argc;
!     for (i = 0; i < argc; i++) x->gl_xlabel[i] = atom_gensym(&argv[i]);
      glist_redraw(x);
  }
--- 2809,2818 ----
      int i;
      if (argc < 1) {pd_error(x,"graph_xlabel: no y value given"); return;}
!     x->xlabely = atom_getfloat(argv);
      argv++; argc--;
!     x->xlabel = (t_symbol **)t_resizebytes(x->xlabel, 
!         x->nxlabels*sizeof(t_symbol *), argc*sizeof(t_symbol *));
!     x->nxlabels = argc;
!     for (i = 0; i < argc; i++) x->xlabel[i] = atom_gensym(&argv[i]);
      glist_redraw(x);
  }
***************
*** 2821,2830 ****
      int i;
      if (argc < 1) {pd_error(x,"graph_ylabel: no x value given"); return;}
!     x->gl_ylabelx = atom_getfloat(argv);
      argv++; argc--;
!     x->gl_ylabel = (t_symbol **)t_resizebytes(x->gl_ylabel, 
!         x->gl_nylabels*sizeof(t_symbol *), argc*sizeof(t_symbol *));
!     x->gl_nylabels = argc;
!     for (i = 0; i < argc; i++) x->gl_ylabel[i] = atom_gensym(&argv[i]);
      glist_redraw(x);
  }
--- 2821,2830 ----
      int i;
      if (argc < 1) {pd_error(x,"graph_ylabel: no x value given"); return;}
!     x->ylabelx = atom_getfloat(argv);
      argv++; argc--;
!     x->ylabel = (t_symbol **)t_resizebytes(x->ylabel, 
!         x->nylabels*sizeof(t_symbol *), argc*sizeof(t_symbol *));
!     x->nylabels = argc;
!     for (i = 0; i < argc; i++) x->ylabel[i] = atom_gensym(&argv[i]);
      glist_redraw(x);
  }
***************
*** 2845,2850 ****
      int x1, y1, x2, y2;
      float width = x->gl_x2-x->gl_x1;
!     if (!x->gl_isgraph)   return x->gl_x1 + width * xpix;
!     if (x->gl_havewindow) return x->gl_x1 + width * xpix / (x->gl_screenx2-x->gl_screenx1);
      if (!x->gl_owner) bug("glist_pixelstox");
      graph_graphrect((t_gobj *)x, x->gl_owner, &x1, &y1, &x2, &y2);
--- 2845,2850 ----
      int x1, y1, x2, y2;
      float width = x->gl_x2-x->gl_x1;
!     if (!x->isgraph)   return x->gl_x1 + width * xpix;
!     if (x->havewindow) return x->gl_x1 + width * xpix / (x->gl_screenx2-x->gl_screenx1);
      if (!x->gl_owner) bug("glist_pixelstox");
      graph_graphrect((t_gobj *)x, x->gl_owner, &x1, &y1, &x2, &y2);
***************
*** 2854,2859 ****
      int x1, y1, x2, y2;
      float height = x->gl_y2-x->gl_y1;
!     if (!x->gl_isgraph)   return x->gl_y1 + height * ypix;
!     if (x->gl_havewindow) return x->gl_y1 + height * ypix / (x->gl_screeny2-x->gl_screeny1);
      if (!x->gl_owner) bug("glist_pixelstox");
      graph_graphrect((t_gobj *)x, x->gl_owner, &x1, &y1, &x2, &y2);
--- 2854,2859 ----
      int x1, y1, x2, y2;
      float height = x->gl_y2-x->gl_y1;
!     if (!x->isgraph)   return x->gl_y1 + height * ypix;
!     if (x->havewindow) return x->gl_y1 + height * ypix / (x->gl_screeny2-x->gl_screeny1);
      if (!x->gl_owner) bug("glist_pixelstox");
      graph_graphrect((t_gobj *)x, x->gl_owner, &x1, &y1, &x2, &y2);
***************
*** 2865,2870 ****
      int x1, y1, x2, y2;
      float width = x->gl_x2-x->gl_x1;
!     if (!x->gl_isgraph) return (xval - x->gl_x1) / width;
!     if (x->gl_havewindow) return (x->gl_screenx2-x->gl_screenx1) * (xval-x->gl_x1) / width;
      if (!x->gl_owner) bug("glist_pixelstox");
      graph_graphrect((t_gobj *)x, x->gl_owner, &x1, &y1, &x2, &y2);
--- 2865,2870 ----
      int x1, y1, x2, y2;
      float width = x->gl_x2-x->gl_x1;
!     if (!x->isgraph) return (xval - x->gl_x1) / width;
!     if (x->havewindow) return (x->gl_screenx2-x->gl_screenx1) * (xval-x->gl_x1) / width;
      if (!x->gl_owner) bug("glist_pixelstox");
      graph_graphrect((t_gobj *)x, x->gl_owner, &x1, &y1, &x2, &y2);
***************
*** 2874,2879 ****
      int x1, y1, x2, y2;
      float height = x->gl_y2-x->gl_y1;
!     if (!x->gl_isgraph) return (yval - x->gl_y1) / height;
!     if (x->gl_havewindow) return (x->gl_screeny2-x->gl_screeny1) * (yval-x->gl_y1) / height;
      if (!x->gl_owner) bug("glist_pixelstox");
      graph_graphrect((t_gobj *)x, x->gl_owner, &x1, &y1, &x2, &y2);
--- 2874,2879 ----
      int x1, y1, x2, y2;
      float height = x->gl_y2-x->gl_y1;
!     if (!x->isgraph) return (yval - x->gl_y1) / height;
!     if (x->havewindow) return (x->gl_screeny2-x->gl_screeny1) * (yval-x->gl_y1) / height;
      if (!x->gl_owner) bug("glist_pixelstox");
      graph_graphrect((t_gobj *)x, x->gl_owner, &x1, &y1, &x2, &y2);
***************
*** 2884,2898 ****
  object's x and y positions are in pixels when the glist they're
  in is toplevel.  Otherwise, if it's a new-style graph-on-parent
! (so gl_goprect is set) we use the offset into the framing subrectangle
  as an offset into the parent rectangle.  Finally, it might be an old,
  proportional-style GOP.  In this case we do a coordinate transformation. */
  static int text_xpix(t_text *x, t_glist *glist) {
!     if (glist->gl_havewindow || !glist->gl_isgraph) return x->te_xpix;
!     if (glist->gl_goprect) return glist->gl_obj.te_xpix + x->te_xpix - glist->gl_xmargin;
      return glist_xtopixels(glist, glist->gl_x1 + (glist->gl_x2 - glist->gl_x1) * x->te_xpix / (glist->gl_screenx2 - glist->gl_screenx1));
  }
  static int text_ypix(t_text *x, t_glist *glist) {
!     if (glist->gl_havewindow || !glist->gl_isgraph) return x->te_ypix;
!     if (glist->gl_goprect) return glist->gl_obj.te_ypix + x->te_ypix - glist->gl_ymargin;
      return glist_ytopixels(glist, glist->gl_y1 + (glist->gl_y2 - glist->gl_y1) * x->te_ypix / (glist->gl_screeny2 - glist->gl_screeny1));
  }
--- 2884,2898 ----
  object's x and y positions are in pixels when the glist they're
  in is toplevel.  Otherwise, if it's a new-style graph-on-parent
! (so goprect is set) we use the offset into the framing subrectangle
  as an offset into the parent rectangle.  Finally, it might be an old,
  proportional-style GOP.  In this case we do a coordinate transformation. */
  static int text_xpix(t_text *x, t_glist *glist) {
!     if (glist->havewindow || !glist->isgraph) return x->te_xpix;
!     if (glist->goprect) return glist->gl_obj.te_xpix + x->te_xpix - glist->gl_xmargin;
      return glist_xtopixels(glist, glist->gl_x1 + (glist->gl_x2 - glist->gl_x1) * x->te_xpix / (glist->gl_screenx2 - glist->gl_screenx1));
  }
  static int text_ypix(t_text *x, t_glist *glist) {
!     if (glist->havewindow || !glist->isgraph) return x->te_ypix;
!     if (glist->goprect) return glist->gl_obj.te_ypix + x->te_ypix - glist->gl_ymargin;
      return glist_ytopixels(glist, glist->gl_y1 + (glist->gl_y2 - glist->gl_y1) * x->te_ypix / (glist->gl_screeny2 - glist->gl_screeny1));
  }
***************
*** 2907,2911 ****
              glist_each(g,x) gobj_changed(x,0);
              canvas_drawredrect(x, 0);
!             if (x->gl_goprect) canvas_drawredrect(x, 1);
          }
          if (x->gl_owner && glist_isvisible(x->gl_owner)) {
--- 2907,2911 ----
              glist_each(g,x) gobj_changed(x,0);
              canvas_drawredrect(x, 0);
!             if (x->goprect) canvas_drawredrect(x, 1);
          }
          if (x->gl_owner && glist_isvisible(x->gl_owner)) {
***************
*** 2939,2943 ****
      /* if we look like a graph but have been moved to a toplevel,
          just show the bounding rectangle */
!     if (x->gl_havewindow) {
          if (vis) sys_vgui(".x%lx.c create polygon %d %d %d %d %d %d %d %d %d %d -tags %s -fill #c0c0c0\n",
                  (long)c, x1, y1, x1, y2, x2, y2, x2, y1, x1, y1, tag);
--- 2939,2943 ----
      /* if we look like a graph but have been moved to a toplevel,
          just show the bounding rectangle */
!     if (x->havewindow) {
          if (vis) sys_vgui(".x%lx.c create polygon %d %d %d %d %d %d %d %d %d %d -tags %s -fill #c0c0c0\n",
                  (long)c, x1, y1, x1, y2, x2, y2, x2, y1, x1, y1, tag);
***************
*** 2964,2980 ****
          }
          /* draw ticks on horizontal borders.  If lperb field is zero, this is disabled. */
!         if (x->gl_xtick.lperb) {
              float upix, lpix;
              if (y2 < y1)
  	         upix = y1, lpix = y2;
              else upix = y2, lpix = y1;
!             for (i=0,f=x->gl_xtick.point; f<0.99*x->gl_x2+0.01*x->gl_x1; i++, f+=x->gl_xtick.inc) {
!                 int tickpix = i%x->gl_xtick.lperb ? 2 : 4;
  		int x0 = glist_xtopixels(x, f);
                  sys_vgui(".x%lx.c create line %d %d %d %d -tags %s\n", (long)c, x0, (int)upix, x0, (int)(upix-tickpix), tag);
                  sys_vgui(".x%lx.c create line %d %d %d %d -tags %s\n", (long)c, x0, (int)lpix, x0, (int)(lpix+tickpix), tag);
              }
!             for (i=1,f=x->gl_xtick.point-x->gl_xtick.inc; f>0.99*x->gl_x1+0.01*x->gl_x2; i++,f-=x->gl_xtick.inc) {
!                 int tickpix = i%x->gl_xtick.lperb ? 2 : 4;
  		int x0 = glist_xtopixels(x, f);
                  sys_vgui(".x%lx.c create line %d %d %d %d -tags %s\n", (long)c, x0, (int)upix, x0, (int)(upix-tickpix), tag);
--- 2964,2980 ----
          }
          /* draw ticks on horizontal borders.  If lperb field is zero, this is disabled. */
!         if (x->xtick.lperb) {
              float upix, lpix;
              if (y2 < y1)
  	         upix = y1, lpix = y2;
              else upix = y2, lpix = y1;
!             for (i=0,f=x->xtick.point; f<0.99*x->gl_x2+0.01*x->gl_x1; i++, f+=x->xtick.inc) {
!                 int tickpix = i%x->xtick.lperb ? 2 : 4;
  		int x0 = glist_xtopixels(x, f);
                  sys_vgui(".x%lx.c create line %d %d %d %d -tags %s\n", (long)c, x0, (int)upix, x0, (int)(upix-tickpix), tag);
                  sys_vgui(".x%lx.c create line %d %d %d %d -tags %s\n", (long)c, x0, (int)lpix, x0, (int)(lpix+tickpix), tag);
              }
!             for (i=1,f=x->xtick.point-x->xtick.inc; f>0.99*x->gl_x1+0.01*x->gl_x2; i++,f-=x->xtick.inc) {
!                 int tickpix = i%x->xtick.lperb ? 2 : 4;
  		int x0 = glist_xtopixels(x, f);
                  sys_vgui(".x%lx.c create line %d %d %d %d -tags %s\n", (long)c, x0, (int)upix, x0, (int)(upix-tickpix), tag);
***************
*** 2984,3000 ****
  
  	/* draw ticks in vertical borders*/
!         if (x->gl_ytick.lperb) {
              float ubound, lbound;
              if (x->gl_y2 < x->gl_y1)
                  ubound = x->gl_y1, lbound = x->gl_y2;
              else ubound = x->gl_y2, lbound = x->gl_y1;
!             for (i=0,f=x->gl_ytick.point; f<0.99*ubound+0.01*lbound; i++, f += x->gl_ytick.inc) {
!                 int tickpix = i%x->gl_ytick.lperb ? 2 : 4;
  		int y0 = (int)glist_ytopixels(x, f);
                  sys_vgui(".x%lx.c create line %d %d %d %d -tags %s\n", (long)c, x1, y0, x1+tickpix, y0, tag);
                  sys_vgui(".x%lx.c create line %d %d %d %d -tags %s\n", (long)c, x2, y0, x2-tickpix, y0, tag);
              }
!             for (i=1,f=x->gl_ytick.point-x->gl_ytick.inc; f>0.99*lbound+0.01*ubound; i++,f-=x->gl_ytick.inc) {
!                 int tickpix = i%x->gl_ytick.lperb ? 2 : 4;
  		int y0 = (int)glist_ytopixels(x, f);
                  sys_vgui(".x%lx.c create line %d %d %d %d -tags %s\n", (long)c, x1, y0, x1+tickpix, y0, tag);
--- 2984,3000 ----
  
  	/* draw ticks in vertical borders*/
!         if (x->ytick.lperb) {
              float ubound, lbound;
              if (x->gl_y2 < x->gl_y1)
                  ubound = x->gl_y1, lbound = x->gl_y2;
              else ubound = x->gl_y2, lbound = x->gl_y1;
!             for (i=0,f=x->ytick.point; f<0.99*ubound+0.01*lbound; i++, f += x->ytick.inc) {
!                 int tickpix = i%x->ytick.lperb ? 2 : 4;
  		int y0 = (int)glist_ytopixels(x, f);
                  sys_vgui(".x%lx.c create line %d %d %d %d -tags %s\n", (long)c, x1, y0, x1+tickpix, y0, tag);
                  sys_vgui(".x%lx.c create line %d %d %d %d -tags %s\n", (long)c, x2, y0, x2-tickpix, y0, tag);
              }
!             for (i=1,f=x->ytick.point-x->ytick.inc; f>0.99*lbound+0.01*ubound; i++,f-=x->ytick.inc) {
!                 int tickpix = i%x->ytick.lperb ? 2 : 4;
  		int y0 = (int)glist_ytopixels(x, f);
                  sys_vgui(".x%lx.c create line %d %d %d %d -tags %s\n", (long)c, x1, y0, x1+tickpix, y0, tag);
***************
*** 3003,3019 ****
          }
      /* draw x labels */
!         for (i = 0; i < x->gl_nxlabels; i++)
              sys_vgui(".x%lx.c create text %d %d -text {%s} -font -*-courier-bold--normal--%d-* -tags %s\n",
                  (long)glist_getcanvas(x),
!                 (int)glist_xtopixels(x, atof(x->gl_xlabel[i]->s_name)),
!                 (int)glist_ytopixels(x, x->gl_xlabely), x->gl_xlabel[i]->s_name,
                  glist_getfont(x), tag);
      /* draw y labels */
!         for (i = 0; i < x->gl_nylabels; i++)
              sys_vgui(".x%lx.c create text %d %d -text {%s} -font -*-courier-bold--normal--%d-* -tags %s\n",
                  (long)glist_getcanvas(x),
!                 (int)glist_xtopixels(x, x->gl_ylabelx),
!                 (int)glist_ytopixels(x, atof(x->gl_ylabel[i]->s_name)),
!                 x->gl_ylabel[i]->s_name,
                  glist_getfont(x), tag);
          /* draw contents of graph as glist */
--- 3003,3019 ----
          }
      /* draw x labels */
!         for (i = 0; i < x->nxlabels; i++)
              sys_vgui(".x%lx.c create text %d %d -text {%s} -font -*-courier-bold--normal--%d-* -tags %s\n",
                  (long)glist_getcanvas(x),
!                 (int)glist_xtopixels(x, atof(x->xlabel[i]->s_name)),
!                 (int)glist_ytopixels(x, x->xlabely), x->xlabel[i]->s_name,
                  glist_getfont(x), tag);
      /* draw y labels */
!         for (i = 0; i < x->nylabels; i++)
              sys_vgui(".x%lx.c create text %d %d -text {%s} -font -*-courier-bold--normal--%d-* -tags %s\n",
                  (long)glist_getcanvas(x),
!                 (int)glist_xtopixels(x, x->ylabelx),
!                 (int)glist_ytopixels(x, atof(x->ylabel[i]->s_name)),
!                 x->ylabel[i]->s_name,
                  glist_getfont(x), tag);
          /* draw contents of graph as glist */
***************
*** 3067,3071 ****
      t_gobj *y = 0, *z;
      for (z = x->gl_list; z; z = z->g_next)
!         if (pd_class(&z->g_pd) == canvas_class && ((t_glist *)z)->gl_isgraph)
              y = z;
      return (t_glist *)y;
--- 3067,3071 ----
      t_gobj *y = 0, *z;
      for (z = x->gl_list; z; z = z->g_next)
!         if (pd_class(&z->g_pd) == canvas_class && ((t_glist *)z)->isgraph)
              y = z;
      return (t_glist *)y;
***************
*** 3243,3247 ****
      if (wasvis) {
          /* temporarily lie about vis flag while this is built */
!         glist_getcanvas(x)->gl_mapped = 0;
      }
      glist_add(x, &sc->sc_gobj);
--- 3243,3247 ----
      if (wasvis) {
          /* temporarily lie about vis flag while this is built */
!         glist_getcanvas(x)->mapped = 0;
      }
      glist_add(x, &sc->sc_gobj);
***************
*** 3250,3254 ****
      if (wasvis) {
          /* reset vis flag as before */
!         glist_getcanvas(x)->gl_mapped = 1;
          gobj_changed(&sc->sc_gobj,0);
      }
--- 3250,3254 ----
      if (wasvis) {
          /* reset vis flag as before */
!         glist_getcanvas(x)->mapped = 1;
          gobj_changed(&sc->sc_gobj,0);
      }
***************
*** 3557,3561 ****
      if (x->gl_owner && !x->gl_env) {
          binbuf_addv(b, "ssiiiisi;", gensym("#N"), gensym("canvas"), x1, y1, xs, ys,
!             *x->gl_name->s_name?x->gl_name:gensym("(subpatch)"), x->gl_mapped);
      } else {
      /* root or abstraction */
--- 3557,3561 ----
      if (x->gl_owner && !x->gl_env) {
          binbuf_addv(b, "ssiiiisi;", gensym("#N"), gensym("canvas"), x1, y1, xs, ys,
!             *x->gl_name->s_name?x->gl_name:gensym("(subpatch)"), x->mapped);
      } else {
      /* root or abstraction */
***************
*** 3568,3572 ****
      /* unless everything is the default (as in ordinary subpatches)
         print out a "coords" message to set up the coordinate systems */
!     /*if (!x->gl_isgraph && x->gl_x1==0 && x->gl_y1==0 &&
          x->gl_x2==1 && x->gl_y2==1 && x->gl_pixwidth==0 && x->gl_pixheight==0) return;*/
  
--- 3568,3572 ----
      /* unless everything is the default (as in ordinary subpatches)
         print out a "coords" message to set up the coordinate systems */
!     /*if (!x->isgraph && x->gl_x1==0 && x->gl_y1==0 &&
          x->gl_x2==1 && x->gl_y2==1 && x->gl_pixwidth==0 && x->gl_pixheight==0) return;*/
  
***************
*** 3576,3581 ****
      binbuf_addv(b, "ssfffffff", gensym("#X"), gensym("coords"),
  	x->gl_x1, x->gl_y1, x->gl_x2, x->gl_y2, (float)x->gl_pixwidth, (float)x->gl_pixheight,
! 	x->gl_isgraph);
!     if (x->gl_goprect) binbuf_addv(b, "ff", (float)x->gl_xmargin, (float)x->gl_ymargin);
      binbuf_addv(b,";");
  }
--- 3576,3581 ----
      binbuf_addv(b, "ssfffffff", gensym("#X"), gensym("coords"),
  	x->gl_x1, x->gl_y1, x->gl_x2, x->gl_y2, (float)x->gl_pixwidth, (float)x->gl_pixheight,
! 	x->isgraph);
!     if (x->goprect) binbuf_addv(b, "ff", (float)x->gl_xmargin, (float)x->gl_ymargin);
      binbuf_addv(b,";");
  }





More information about the Pd-cvs mailing list