Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Wynn
purr-data
Commits
c28d8118
Commit
c28d8118
authored
Oct 29, 2017
by
Jonathan Wilkes
Browse files
add t_array pointer and index to the scalar event interface for the GUI
parent
8a2d70b4
Changes
5
Hide whitespace changes
Inline
Side-by-side
pd/nw/pd_canvas.js
View file @
c28d8118
...
...
@@ -450,7 +450,8 @@ var canvas_events = (function() {
ty
=
minv
.
b
*
dx
+
minv
.
d
*
dy
;
var
obj
=
scalar_draggables
[
draggable_elem
.
id
];
pdgui
.
pdsend
(
obj
.
cid
,
"
scalar_event
"
,
obj
.
scalar_sym
,
obj
.
drawcommand_sym
,
obj
.
event_name
,
dx
,
dy
,
tx
,
ty
);
obj
.
drawcommand_sym
,
obj
.
event_name
,
dx
,
dy
,
tx
,
ty
,
obj
.
array_sym
,
obj
.
index
);
last_draggable_x
=
new_x
;
last_draggable_y
=
new_y
;
},
...
...
@@ -963,12 +964,14 @@ var canvas_events = (function() {
last_search_term
=
""
;
},
add_scalar_draggable
:
function
(
cid
,
tag
,
scalar_sym
,
drawcommand_sym
,
event_name
)
{
event_name
,
array_sym
,
index
)
{
scalar_draggables
[
tag
]
=
{
cid
:
cid
,
scalar_sym
:
scalar_sym
,
drawcommand_sym
:
drawcommand_sym
,
event_name
:
event_name
event_name
:
event_name
,
array_sym
:
array_sym
,
index
:
index
};
},
remove_scalar_draggable
:
function
(
id
)
{
...
...
pd/nw/pdgui.js
View file @
c28d8118
...
...
@@ -3345,7 +3345,7 @@ function gui_draw_coords(cid, tag, shape, points) {
// of the bbox of the shape will still register as part of the event.
// (Attempting to set the event more than once is ignored.)
function
gui_draw_drag_event
(
cid
,
tag
,
scalar_sym
,
drawcommand_sym
,
event_name
,
state
)
{
event_name
,
array_sym
,
index
,
state
)
{
var
win
=
patchwin
[
cid
].
window
;
if
(
state
===
0
)
{
win
.
canvas_events
.
remove_scalar_draggable
(
tag
);
...
...
@@ -3357,13 +3357,13 @@ function gui_draw_drag_event(cid, tag, scalar_sym, drawcommand_sym,
// Events for scalars-- mouseover, mouseout, etc.
function
gui_draw_event
(
cid
,
tag
,
scalar_sym
,
drawcommand_sym
,
event_name
,
state
)
{
array_sym
,
index
,
state
)
{
var
item
=
get_item
(
cid
,
tag
),
event_type
=
"
on
"
+
event_name
;
if
(
state
===
1
)
{
item
[
event_type
]
=
function
(
e
)
{
pdsend
(
cid
,
"
scalar_event
"
,
scalar_sym
,
drawcommand_sym
,
event_name
,
e
.
pageX
,
e
.
pageY
);
e
.
pageX
,
e
.
pageY
,
array_sym
,
index
);
};
}
else
{
item
[
event_type
]
=
null
;
...
...
pd/src/g_canvas.h
View file @
c28d8118
...
...
@@ -344,7 +344,7 @@ struct _widgetbehavior
t_deletefn
w_deletefn
;
t_visfn
w_visfn
;
t_clickfn
w_clickfn
;
t_displacefnwtag
w_displacefnwtag
;
t_displacefnwtag
w_displacefnwtag
;
};
/* -------- behaviors for scalars defined by objects in template --------- */
...
...
@@ -376,7 +376,7 @@ typedef void (*t_parentactivatefn)(t_gobj *x, struct _glist *glist,
typedef
void
(
*
t_parentvisfn
)(
t_gobj
*
x
,
struct
_glist
*
glist
,
struct
_glist
*
parentglist
,
t_scalar
*
sc
,
t_word
*
data
,
t_template
*
tmpl
,
t_float
basex
,
t_float
basey
,
int
flag
);
struct
_array
*
parentarray
,
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
,
...
...
pd/src/g_scalar.c
View file @
c28d8118
...
...
@@ -777,10 +777,11 @@ extern void svg_parentwidgettogui(t_gobj *z, t_scalar *sc, t_glist *owner,
t_word
*
data
,
t_template
*
template
);
extern
void
svg_register_events
(
t_gobj
*
z
,
t_canvas
*
c
,
t_scalar
*
sc
,
t_template
*
template
,
t_word
*
data
);
t_template
*
template
,
t_word
*
data
,
t_array
*
parentarray
);
static
void
scalar_group_configure
(
t_scalar
*
x
,
t_glist
*
owner
,
t_template
*
template
,
t_word
*
data
,
t_glist
*
gl
,
t_glist
*
parent
)
t_template
*
template
,
t_word
*
data
,
t_glist
*
gl
,
t_glist
*
parent
,
t_array
*
parentarray
)
{
t_gobj
*
y
;
char
tagbuf
[
MAXPDSTRING
];
...
...
@@ -796,20 +797,21 @@ static void scalar_group_configure(t_scalar *x, t_glist *owner,
glist_getcanvas
(
owner
),
tagbuf
);
svg_grouptogui
(
gl
,
template
,
data
);
gui_end_vmess
();
svg_register_events
((
t_gobj
*
)
gl
,
owner
,
x
,
template
,
data
);
svg_register_events
((
t_gobj
*
)
gl
,
owner
,
x
,
template
,
data
,
parentarray
);
for
(
y
=
gl
->
gl_list
;
y
;
y
=
y
->
g_next
)
{
if
(
pd_class
(
&
y
->
g_pd
)
==
canvas_class
&&
((
t_glist
*
)
y
)
->
gl_svg
)
{
scalar_group_configure
(
x
,
owner
,
template
,
data
,
(
t_glist
*
)
y
,
gl
);
scalar_group_configure
(
x
,
owner
,
template
,
data
,
(
t_glist
*
)
y
,
gl
,
0
);
}
t_parentwidgetbehavior
*
wb
=
pd_getparentwidget
(
&
y
->
g_pd
);
if
(
!
wb
)
continue
;
//(*wb->w_parentvisfn)(y, owner, gl, x, data, template,
// 0, 0, vis);
// 0, 0,
0,
vis);
svg_parentwidgettogui
(
y
,
x
,
owner
,
data
,
template
);
svg_register_events
(
y
,
owner
,
x
,
template
,
data
);
svg_register_events
(
y
,
owner
,
x
,
template
,
data
,
parentarray
);
}
}
...
...
@@ -853,14 +855,14 @@ void scalar_doconfigure(t_gobj *xgobj, t_glist *owner)
((
t_glist
*
)
y
)
->
gl_svg
)
{
scalar_group_configure
(
x
,
owner
,
template
,
x
->
sc_vec
,
(
t_glist
*
)
y
,
templatecanvas
);
(
t_glist
*
)
y
,
templatecanvas
,
0
);
}
continue
;
}
//(*wb->w_parentvisfn)(y, owner, 0, x, x->sc_vec, template,
// basex, basey, vis);
// basex, basey,
0,
vis);
svg_parentwidgettogui
(
y
,
x
,
owner
,
x
->
sc_vec
,
template
);
svg_register_events
(
y
,
owner
,
x
,
template
,
x
->
sc_vec
);
svg_register_events
(
y
,
owner
,
x
,
template
,
x
->
sc_vec
,
0
);
}
if
(
glist_isselected
(
owner
,
&
x
->
sc_gobj
))
{
...
...
@@ -909,12 +911,12 @@ void array_configure(t_scalar *x, t_glist *owner, t_array *a, t_word *data)
((
t_glist
*
)
y
)
->
gl_svg
)
{
scalar_group_configure
(
x
,
owner
,
template
,
data
,
(
t_glist
*
)
y
,
elemtemplatecanvas
);
(
t_glist
*
)
y
,
elemtemplatecanvas
,
a
);
}
continue
;
}
svg_parentwidgettogui
(
y
,
x
,
owner
,
data
,
elemtemplate
);
svg_register_events
(
y
,
owner
,
x
,
elemtemplate
,
data
);
svg_register_events
(
y
,
owner
,
x
,
elemtemplate
,
data
,
a
);
}
}
...
...
@@ -938,7 +940,7 @@ static void scalar_groupvis(t_scalar *x, t_glist *owner, t_template *template,
gui_end_vmess
();
/* register events */
svg_register_events
((
t_gobj
*
)
gl
,
owner
,
x
,
template
,
x
->
sc_vec
);
svg_register_events
((
t_gobj
*
)
gl
,
owner
,
x
,
template
,
x
->
sc_vec
,
0
);
}
for
(
y
=
gl
->
gl_list
;
y
;
y
=
y
->
g_next
)
{
...
...
@@ -950,7 +952,7 @@ static void scalar_groupvis(t_scalar *x, t_glist *owner, t_template *template,
t_parentwidgetbehavior
*
wb
=
pd_getparentwidget
(
&
y
->
g_pd
);
if
(
!
wb
)
continue
;
(
*
wb
->
w_parentvisfn
)(
y
,
owner
,
gl
,
x
,
x
->
sc_vec
,
template
,
0
,
0
,
vis
);
0
,
0
,
0
,
vis
);
}
}
...
...
@@ -1076,7 +1078,7 @@ static void scalar_vis(t_gobj *z, t_glist *owner, int vis)
continue
;
}
(
*
wb
->
w_parentvisfn
)(
y
,
owner
,
0
,
x
,
x
->
sc_vec
,
template
,
basex
,
basey
,
vis
);
basex
,
basey
,
0
,
vis
);
}
if
(
!
vis
)
{
...
...
pd/src/g_template.c
View file @
c28d8118
...
...
@@ -1736,14 +1736,14 @@ extern void scalar_drawselectrect(t_scalar *x, t_glist *glist, int state);
void svg_sendupdate(t_svg *x, t_canvas *c, t_symbol *s,
t_template *template, t_word *data, int *predraw_bbox, void *parent,
t_scalar *sc)
t_scalar *sc
, t_array *array
)
{
/* todo-- I'm mixing "c" with glist_getcanvas(c) too freely...
need to experiment with gop scalars to make sure I'm not breaking
anything */
int in_array = (sc->sc_vec != data);
//post("in_array is %d", in_array);
char tag[MAXPDSTRING];
int index = (array ?
((((char *)data) - array->a_vec) / array->a_elemsize) : -1);
if (x->x_type == gensym("g") || x->x_type == gensym("svg"))
{
sprintf(tag, "dgroup%lx.%lx",
...
...
@@ -1846,57 +1846,57 @@ void svg_sendupdate(t_svg *x, t_canvas *c, t_symbol *s,
}
else if (s == gensym("mouseover"))
{
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tag, sc, x, "mouseover",
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tag, sc, x, "mouseover",
array, index,
(int)fielddesc_getcoord(
&x->x_events.e_mouseover.a_attr, template, data, 0));
}
else if (s == gensym("mouseout"))
{
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tag, sc, x, "mouseout",
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tag, sc, x, "mouseout",
array, index,
(int)fielddesc_getcoord(
&x->x_events.e_mouseout.a_attr, template, data, 0));
}
else if (s == gensym("mousemove"))
{
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tag, sc, x, "mousemove",
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tag, sc, x, "mousemove",
array, index,
(int)fielddesc_getcoord(
&x->x_events.e_mousemove.a_attr, template, data, 0));
}
else if (s == gensym("mouseup"))
{
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tag, sc, x, "mouseup",
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tag, sc, x, "mouseup",
array, index,
(int)fielddesc_getcoord(
&x->x_events.e_mouseup.a_attr, template, data, 0));
}
else if (s == gensym("mousedown"))
{
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tag, sc, x, "mousedown",
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tag, sc, x, "mousedown",
array, index,
(int)fielddesc_getcoord(
&x->x_events.e_mousedown.a_attr, template, data, 0));
}
else if (s == gensym("mouseenter"))
{
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tag, sc, x, "mouseenter",
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tag, sc, x, "mouseenter",
array, index,
(int)fielddesc_getcoord(
&x->x_events.e_mouseenter.a_attr, template, data, 0));
}
else if (s == gensym("mouseleave"))
{
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tag, sc, x, "mouseleave",
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tag, sc, x, "mouseleave",
array, index,
(int)fielddesc_getcoord(
&x->x_events.e_mouseleave.a_attr, template, data, 0));
}
else if (s == gensym("drag"))
{
gui_vmess("gui_draw_drag_event", "xsxxsi",
glist_getcanvas(c), tag, sc, x, "drag",
gui_vmess("gui_draw_drag_event", "xsxxs
xi
i",
glist_getcanvas(c), tag, sc, x, "drag",
array, index,
(int)fielddesc_getcoord(
&x->x_events.e_drag.a_attr, template, data, 0));
}
...
...
@@ -2058,7 +2058,7 @@ void svg_updatevec(t_canvas *c, t_word *data, t_template *template,
{
svg_sendupdate(x, glist_getcanvas(c), s,
elemtemplate, (t_word *)(elem + elemsize * j),
predraw_bbox, parent, sc);
predraw_bbox, parent, sc
, array
);
}
}
svg_updatevec(c, (t_word *)elem, elemtemplate, target, parent,
...
...
@@ -2096,7 +2096,7 @@ void svg_doupdate(t_svg *x, t_canvas *c, t_symbol *s)
if (parenttemplate == template)
{
svg_sendupdate(x, visible, s, template,
data, &redraw_bbox, parent, (t_scalar *)g);
data, &redraw_bbox, parent, (t_scalar *)g
, 0
);
}
else
{
...
...
@@ -2136,9 +2136,10 @@ void svg_update(t_svg *x, t_symbol *s)
/* not sure if this will work with array elements */
void svg_register_events(t_gobj *z, t_canvas *c, t_scalar *sc,
t_template *template, t_word *data)
t_template *template, t_word *data
, t_array *a
)
{
t_svg *svg;
int index = (a ? ((((char *)data) - a->a_vec) / a->a_elemsize) : -1);
char tagbuf[MAXPDSTRING];
if (pd_class(&z->g_pd) == canvas_class)
{
...
...
@@ -2164,45 +2165,43 @@ void svg_register_events(t_gobj *z, t_canvas *c, t_scalar *sc,
return;
}
if (svg->x_events.e_mouseover.a_flag)
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tagbuf, sc, svg, "mouseover",
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tagbuf, sc, svg, "mouseover",
a, index,
(int)fielddesc_getcoord(&svg->x_events.e_mouseover.a_attr, template,
data, 1));
if (svg->x_events.e_mouseout.a_flag)
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tagbuf, sc, svg, "mouseout",
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tagbuf, sc, svg, "mouseout",
a, index,
(int)fielddesc_getcoord(&svg->x_events.e_mouseout.a_attr, template,
data, 1));
if (svg->x_events.e_mousemove.a_flag)
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tagbuf, sc, svg, "mousemove",
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tagbuf, sc, svg, "mousemove",
a, index,
(int)fielddesc_getcoord(&svg->x_events.e_mousemove.a_attr, template,
data, 1));
if (svg->x_events.e_mousedown.a_flag)
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tagbuf, sc, svg, "mousedown",
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tagbuf, sc, svg, "mousedown",
a, index,
(int)fielddesc_getcoord(&svg->x_events.e_mousedown.a_attr, template,
data, 1));
if (svg->x_events.e_mouseup.a_flag)
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tagbuf, sc, svg, "mouseup",
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tagbuf, sc, svg, "mouseup",
a, index,
(int)fielddesc_getcoord(&svg->x_events.e_mouseup.a_attr, template,
data, 1));
if (svg->x_events.e_mouseenter.a_flag)
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tagbuf, sc, svg, "mouseenter",
(int)fielddesc_getcoord(&svg->x_events.e_mouseenter.a_attr,
template,
data, 1));
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tagbuf, sc, svg, "mouseenter",
a, index,
(int)fielddesc_getcoord(&svg->x_events.e_mouseenter.a_attr,
template,
data, 1));
if (svg->x_events.e_mouseleave.a_flag)
gui_vmess("gui_draw_event", "xsxxsi",
glist_getcanvas(c), tagbuf, sc, svg, "mouseleave",
(int)fielddesc_getcoord(&svg->x_events.e_mouseleave.a_attr,
template,
data, 1));
gui_vmess("gui_draw_event", "xsxxs
xi
i",
glist_getcanvas(c), tagbuf, sc, svg, "mouseleave",
a, index,
(int)fielddesc_getcoord(&svg->x_events.e_mouseleave.a_attr,
template,
data, 1));
if (svg->x_events.e_drag.a_flag)
gui_vmess("gui_draw_drag_event", "xsxxsi",
glist_getcanvas(c), tagbuf, sc, svg, "drag",
gui_vmess("gui_draw_drag_event", "xsxxs
xi
i",
glist_getcanvas(c), tagbuf, sc, svg, "drag",
a, index,
(int)fielddesc_getcoord(&svg->x_events.e_drag.a_attr, template,
data, 1));
}
...
...
@@ -4145,7 +4144,7 @@ void svg_grouptogui(t_glist *g, t_template *template, t_word *data)
static void draw_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
t_scalar *sc, t_word *data, t_template *template,
t_float basex, t_float basey, int vis)
t_float basex, t_float basey,
t_array *parentarray,
int vis)
{
t_draw *x = (t_draw *)z;
t_svg *sa = (t_svg *)x->x_attr;
...
...
@@ -4228,7 +4227,7 @@ static void draw_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
}
/* register events */
svg_register_events(z, glist, sc, template, data);
svg_register_events(z, glist, sc, template, data
, parentarray
);
}
else
{
...
...
@@ -5094,7 +5093,7 @@ static void numbertocolor(int n, char *s)
static void curve_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
t_scalar *sc, t_word *data, t_template *template,
t_float basex, t_float basey, int vis)
t_float basex, t_float basey,
t_array *parentarray,
int vis)
{
t_curve *x = (t_curve *)z;
int i, n = x->x_npoints;
...
...
@@ -5870,7 +5869,8 @@ static void plot_activate(t_gobj *z, t_glist *glist,
static void plot_groupvis(t_scalar *x, t_glist *owner, t_word *data,
t_template *template,
t_glist *groupcanvas, t_glist *parent, t_float basex, t_float basey)
t_glist *groupcanvas, t_glist *parent, t_float basex, t_float basey,
t_array *parentarray)
{
t_gobj *y;
char tagbuf[MAXPDSTRING], parent_tagbuf[MAXPDSTRING];
...
...
@@ -5891,12 +5891,12 @@ static void plot_groupvis(t_scalar *x, t_glist *owner, t_word *data,
((t_glist *)y)->gl_svg)
{
plot_groupvis(x, owner, data, template, (t_glist *)y, groupcanvas,
basex, basey);
basex, basey
, parentarray
);
}
t_parentwidgetbehavior *wb = pd_getparentwidget(&y->g_pd);
if (!wb) continue;
(*wb->w_parentvisfn)(y, owner, groupcanvas, x, data, template,
basex, basey, 1);
basex, basey,
parentarray,
1);
}
}
...
...
@@ -5916,7 +5916,7 @@ int plot_has_drawcommand(t_canvas *elemtemplatecanvas)
static void plot_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
t_scalar *sc, t_word *data, t_template *template,
t_float basex, t_float basey, int tovis)
t_float basex, t_float basey,
t_array *parentarray,
int tovis)
{
t_plot *x = (t_plot *)z;
int elemsize, yonset, wonset, xonset, i;
...
...
@@ -5970,7 +5970,6 @@ static void plot_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
if (symoutline == &s_) symoutline = gensym("#000000");
if (symfill == &s_) symfill = gensym("#000000");
t_float xscale = glist_xtopixels(glist, 1) - glist_xtopixels(glist, 0);
t_float yscale = glist_ytopixels(glist, 1) - glist_ytopixels(glist, 0);
t_float x_inverse = 1 / xscale;
...
...
@@ -6371,13 +6370,13 @@ static void plot_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
plot_groupvis(sc, glist,
(t_word *)(elem + elemsize * i),
template, (t_glist *)y,
elemtemplatecanvas, usexloc, useyloc);
elemtemplatecanvas, usexloc, useyloc
, array
);
}
t_parentwidgetbehavior *wb = pd_getparentwidget(&y->g_pd);
if (!wb) continue;
(*wb->w_parentvisfn)(y, glist, elemtemplatecanvas, sc,
(t_word *)(elem + elemsize * i),
elemtemplate, usexloc, useyloc, tovis);
elemtemplate, usexloc, useyloc,
array,
tovis);
}
}
}
...
...
@@ -6417,7 +6416,7 @@ static void plot_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
if (!wb) continue;
(*wb->w_parentvisfn)(y, glist, elemtemplatecanvas, sc,
(t_word *)(elem + elemsize * i), elemtemplate,
0, 0, 0);
0, 0,
parentarray,
0);
}
}
}
...
...
@@ -6726,7 +6725,8 @@ static void drawarray_activate(t_gobj *z, t_glist *glist,
static void drawarray_groupvis(t_scalar *x, t_glist *owner, t_word *data,
t_template *template,
t_glist *groupcanvas, t_glist *parent, t_float basex, t_float basey)
t_glist *groupcanvas, t_glist *parent, t_float basex, t_float basey,
t_array *parentarray)
{
t_gobj *y;
char tagbuf[MAXPDSTRING], parent_tagbuf[MAXPDSTRING];
...
...
@@ -6747,12 +6747,12 @@ static void drawarray_groupvis(t_scalar *x, t_glist *owner, t_word *data,
((t_glist *)y)->gl_svg)
{
drawarray_groupvis(x, owner, data, template, (t_glist *)y,
groupcanvas, basex, basey);
groupcanvas, basex, basey
, parentarray
);
}
t_parentwidgetbehavior *wb = pd_getparentwidget(&y->g_pd);
if (!wb) continue;
(*wb->w_parentvisfn)(y, owner, groupcanvas, x, data, template,
basex, basey, 1);
basex, basey,
parentarray,
1);
}
}
...
...
@@ -6773,7 +6773,7 @@ int drawarray_has_drawcommand(t_canvas *elemtemplatecanvas)
static void drawarray_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
t_scalar *sc, t_word *data, t_template *template,
t_float basex, t_float basey, int tovis)
t_float basex, t_float basey,
t_array *parentarray,
int tovis)
{
t_drawarray *x = (t_drawarray *)z;
int elemsize, yonset, wonset, xonset, i;
...
...
@@ -6884,13 +6884,13 @@ static void drawarray_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
drawarray_groupvis(sc, glist,
(t_word *)(elem + elemsize * i),
template, (t_glist *)y,
elemtemplatecanvas, usexloc, useyloc);
elemtemplatecanvas, usexloc, useyloc
, parentarray
);
}
t_parentwidgetbehavior *wb = pd_getparentwidget(&y->g_pd);
if (!wb) continue;
(*wb->w_parentvisfn)(y, glist, elemtemplatecanvas, sc,
(t_word *)(elem + elemsize * i),
elemtemplate, usexloc, useyloc, tovis);
elemtemplate, usexloc, useyloc,
parentarray,
tovis);
}
}
}
...
...
@@ -6918,7 +6918,7 @@ static void drawarray_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
if (!wb) continue;
(*wb->w_parentvisfn)(y, glist, elemtemplatecanvas, sc,
(t_word *)(elem + elemsize * i), elemtemplate,
0, 0, 0);
0, 0,
parentarray,
0);
}
}
/* Now remove our drawarray svg container */
...
...
@@ -7240,7 +7240,7 @@ static void drawnumber_activate(t_gobj *z, t_glist *glist,
static void drawnumber_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
t_scalar *sc, t_word *data, t_template *template,
t_float basex, t_float basey, int vis)
t_float basex, t_float basey,
t_array *parentarray,
int vis)
{
//fprintf(stderr,"drawnumber_vis %d\n", vis);
t_drawnumber *x = (t_drawnumber *)z;
...
...
@@ -7726,7 +7726,7 @@ static void drawsymbol_activate(t_gobj *z, t_glist *glist,
static void drawsymbol_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
t_scalar *sc, t_word *data, t_template *template,
t_float basex, t_float basey, int vis)
t_float basex, t_float basey,
t_array *parentarray,
int vis)
{
t_drawsymbol *x = (t_drawsymbol *)z;
...
...
@@ -8233,7 +8233,7 @@ static void drawimage_activate(t_gobj *z, t_glist *glist,
static void drawimage_vis(t_gobj *z, t_glist *glist, t_glist *parentglist,
t_scalar *sc, t_word *data, t_template *template,
t_float basex, t_float basey, int vis)
t_float basex, t_float basey,
t_array *parentarray,
int vis)
{
t_drawimage *x = (t_drawimage *)z;
t_svg *svg = (t_svg *)x->x_attr;
...
...
@@ -8607,12 +8607,12 @@ void svg_parentwidgettogui(t_gobj *z, t_scalar *sc, t_glist *owner,
changing attributes instead of creating a new one.
Not sure what to do with arrays yet-- we'll probably
need a parentglist below instead of a "0" */
curve_vis(z, owner, 0, sc, data, template, 0, 0, -1);
curve_vis(z, owner, 0, sc, data, template, 0, 0,
0,
-1);
}
else if (pd_class(&z->g_pd) == drawnumber_class)
drawnumber_vis(z, owner, 0, sc, data, template, 0, 0, -1);
drawnumber_vis(z, owner, 0, sc, data, template, 0, 0,
0,
-1);
else if (pd_class(&z->g_pd) == drawsymbol_class)
drawsymbol_vis(z, owner, 0, sc, data, template, 0, 0, -1);
drawsymbol_vis(z, owner, 0, sc, data, template, 0, 0,
0,
-1);
}
/* ---------------------- setup function ---------------------------- */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment