[PD-cvs] pd/src desire.c, 1.1.2.142, 1.1.2.143 desire.h, 1.1.2.17, 1.1.2.18
Mathieu Bouchard
matju at users.sourceforge.net
Sun Sep 3 06:57:36 CEST 2006
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10575
Modified Files:
Tag: devel_0_39
desire.c desire.h
Log Message:
rtext is dead.
Index: desire.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.h,v
retrieving revision 1.1.2.17
retrieving revision 1.1.2.18
diff -C2 -d -r1.1.2.17 -r1.1.2.18
*** desire.h 3 Sep 2006 04:52:39 -0000 1.1.2.17
--- desire.h 3 Sep 2006 04:57:34 -0000 1.1.2.18
***************
*** 258,267 ****
EXTERN int text_shouldvis(t_text *x, t_glist *glist);
- EXTERN t_rtext *rtext_new(t_glist *glist, t_text *who);
- EXTERN t_rtext *glist_findrtext(t_glist *gl, t_text *who);
- EXTERN void rtext_free(t_rtext *x);
- EXTERN void rtext_retext(t_rtext *x);
- EXTERN void rtext_gettext(t_rtext *x, char **buf, int *bufsize);
-
EXTERN t_class *canvas_class;
EXTERN t_canvas *canvas_new(void *dummy, t_symbol *sel, int argc, t_atom *argv);
--- 258,261 ----
Index: desire.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v
retrieving revision 1.1.2.142
retrieving revision 1.1.2.143
diff -C2 -d -r1.1.2.142 -r1.1.2.143
*** desire.c 3 Sep 2006 04:52:38 -0000 1.1.2.142
--- desire.c 3 Sep 2006 04:57:33 -0000 1.1.2.143
***************
*** 716,739 ****
void canvas_create_editor(t_glist *x, int createit) {
t_gobj *y;
- t_object *ob;
if (createit) {
if (x->gl_editor) bug("canvas_create_editor");
! else {
! x->gl_editor = editor_new(x);
! glist_each(y,x) {
! ob = pd_checkobject(&y->g_pd);
! if (ob) rtext_new(x, ob);
! }
! }
} else {
if (!x->gl_editor) bug("canvas_create_editor");
else {
- glist_each(y,x) {
- ob = pd_checkobject(&y->g_pd);
- if (ob) {
- t_rtext *r = glist_findrtext(x, ob);
- if (r) rtext_free(r);
- }
- }
editor_free(x->gl_editor, x);
x->gl_editor = 0;
--- 716,725 ----
void canvas_create_editor(t_glist *x, int createit) {
t_gobj *y;
if (createit) {
if (x->gl_editor) bug("canvas_create_editor");
! else x->gl_editor = editor_new(x);
} else {
if (!x->gl_editor) bug("canvas_create_editor");
else {
editor_free(x->gl_editor, x);
x->gl_editor = 0;
***************
*** 2654,2658 ****
void glist_delete(t_glist *x, t_gobj *y) {
t_gobj *g;
- t_object *ob;
t_gotfn chkdsp = zgetfn(&y->g_pd, gensym("dsp"));
int drawcommand = class_isdrawcommand(y->g_pd);
--- 2640,2643 ----
***************
*** 2667,2671 ****
sys_mgui(y,"delete","");
- if (x->gl_editor && (ob = pd_checkobject(&y->g_pd))) rtext_new(x, ob);
if (x->gl_list == y) {
x->gl_list = y->g_next;
--- 2652,2655 ----
***************
*** 2698,2706 ****
void glist_retext(t_glist *glist, t_text *y) {
! if (glist->gl_editor && glist->gl_editor->e_rtext) {
! t_rtext *rt = glist_findrtext(glist, y);
! if (rt) rtext_retext(rt);
! gobj_changed(y,0);
! }
}
--- 2682,2686 ----
void glist_retext(t_glist *glist, t_text *y) {
! if (glist->gl_editor && glist->gl_editor->e_rtext) gobj_changed(y,0);
}
***************
*** 9053,9138 ****
}
}
-
- /* ---------------------------------------------------------------- */
- /* formerly g_rtext.c */
-
- struct _rtext {
- char *x_buf;
- int x_bufsize;
- t_text *x_text;
- t_glist *x_glist;
- struct _rtext *x_next;
- };
-
- t_rtext *rtext_new(t_glist *glist, t_text *who) {
- t_rtext *x = (t_rtext *)getbytes(sizeof *x);
- x->x_text = who;
- x->x_glist = glist;
- x->x_next = glist->gl_editor->e_rtext;
- binbuf_gettext(who->te_binbuf, &x->x_buf, &x->x_bufsize);
- glist->gl_editor->e_rtext = x;
- return x;
- }
-
- void rtext_free(t_rtext *x) {
- t_editor *e = x->x_glist->gl_editor;
- if (e->e_textedfor == x) e->e_textedfor = 0;
- if (e->e_rtext == x) e->e_rtext = x->x_next;
- else {
- t_rtext *e2;
- for (e2 = e->e_rtext; e2; e2 = e2->x_next) if (e2->x_next == x) {
- e2->x_next = x->x_next;
- break;
- }
- }
- freebytes(x->x_buf, x->x_bufsize);
- freebytes(x, sizeof *x);
- }
-
- /* LATER deal with tcl-significant characters */
- void rtext_retext(t_rtext *x) {
- t_text *text = x->x_text;
- t_freebytes(x->x_buf, x->x_bufsize);
- binbuf_gettext(text->te_binbuf, &x->x_buf, &x->x_bufsize);
- /* special case: for number boxes, try to pare the number down
- to the specified width of the box. */
- if (text->te_width > 0 && text->te_type == T_ATOM && x->x_bufsize > text->te_width) {
- t_atom *atomp = binbuf_getvec(text->te_binbuf);
- int natom = binbuf_getnatom(text->te_binbuf);
- int bufsize = x->x_bufsize;
- if (natom == 1 && atomp->a_type == A_FLOAT) {
- /* try to reduce size by dropping decimal digits */
- int wantreduce = bufsize - text->te_width;
- char *decimal = 0, *nextchar, *ebuf = x->x_buf + bufsize, *s1, *s2;
- for (decimal = x->x_buf; decimal < ebuf; decimal++) if (*decimal == '.') break;
- if (decimal >= ebuf) goto giveup;
- for (nextchar = decimal + 1; nextchar < ebuf; nextchar++)
- if (*nextchar < '0' || *nextchar > '9') break;
- if (nextchar - decimal - 1 < wantreduce) goto giveup;
- for (s1 = nextchar - wantreduce, s2 = s1 + wantreduce; s2 < ebuf; s1++, s2++) *s1 = *s2;
- x->x_buf = t_resizebytes(x->x_buf, bufsize, text->te_width);
- bufsize = text->te_width;
- goto done;
- giveup:
- /* give up and bash it to "+" or "-" */
- x->x_buf[0] = (atomp->a_w.w_float < 0 ? '-' : '+');
- x->x_buf = t_resizebytes(x->x_buf, bufsize, 1);
- bufsize = 1;
- } else if (bufsize > text->te_width) {
- x->x_buf[text->te_width - 1] = '>';
- x->x_buf = t_resizebytes(x->x_buf, bufsize, text->te_width);
- bufsize = text->te_width;
- }
- done:
- x->x_bufsize = bufsize;
- }
- }
-
- /* find the rtext that goes with a text item */
- t_rtext *glist_findrtext(t_glist *gl, t_text *who) {
- t_rtext *x = gl->gl_editor->e_rtext;
- while (x && x->x_text != who) x = x->x_next;
- if (!x) bug("glist_findrtext");
- return x;
- }
-
--- 9033,9034 ----
More information about the Pd-cvs
mailing list