Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
purr-data
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
brittney allen
purr-data
Commits
04b0af36
Commit
04b0af36
authored
10 years ago
by
pokergaming
Browse files
Options
Downloads
Patches
Plain Diff
First attempt at an [objectinfo] class
parent
55a936dc
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
pd/src/x_interface.c
+169
-26
169 additions, 26 deletions
pd/src/x_interface.c
with
169 additions
and
26 deletions
pd/src/x_interface.c
+
169
−
26
View file @
04b0af36
...
@@ -102,7 +102,7 @@ static void print_setup(void)
...
@@ -102,7 +102,7 @@ static void print_setup(void)
class_addanything
(
print_class
,
print_anything
);
class_addanything
(
print_class
,
print_anything
);
}
}
/* --------------
---
canvasinfo,
pd
info,
classinfo ---------------
--------------- */
/* --------------
pdinfo,
canvasinfo,
class
info,
objectinfo
--------------- */
static
t_class
*
canvasinfo_class
;
static
t_class
*
canvasinfo_class
;
typedef
struct
_canvasinfo
{
typedef
struct
_canvasinfo
{
...
@@ -125,9 +125,19 @@ typedef struct _classinfo {
...
@@ -125,9 +125,19 @@ typedef struct _classinfo {
t_symbol
*
x_name
;
t_symbol
*
x_name
;
}
t_classinfo
;
}
t_classinfo
;
static
t_class
*
objectinfo_class
;
typedef
struct
_objectinfo
{
t_object
x_obj
;
t_outlet
*
x_out2
;
t_canvas
*
x_canvas
;
t_float
x_index
;
t_float
x_depth
;
}
t_objectinfo
;
/* used by all the *info objects */
/* used by all the *info objects */
static
t_
int
info_to_console
=
0
;
static
int
info_to_console
=
0
;
void
info_out
(
t_text
*
te
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
info_out
(
t_text
*
te
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
...
@@ -158,27 +168,32 @@ void info_print(t_text *te)
...
@@ -158,27 +168,32 @@ void info_print(t_text *te)
for
(
i
=
c
->
c_nmethod
,
m
=
c
->
c_methods
;
i
;
i
--
,
m
++
)
for
(
i
=
c
->
c_nmethod
,
m
=
c
->
c_methods
;
i
;
i
--
,
m
++
)
if
(
m
->
me_name
!=
gensym
(
"print"
))
if
(
m
->
me_name
!=
gensym
(
"print"
))
(
m
->
me_fun
)(
te
,
m
->
me_name
,
0
,
0
);
(
m
->
me_fun
)(
te
,
m
->
me_name
,
0
,
0
);
/* pd_forwardmess(te->te_pd, 0, 0); not sure why this doesn't work */
/* not sure why this doesn't work... */
/* pd_forwardmess(te->te_pd, 0, 0); */
info_to_console
=
0
;
info_to_console
=
0
;
}
}
/* -------------------------- canvasinfo ------------------------------ */
/* -------------------------- canvasinfo ------------------------------ */
t_canvas
*
canvasinfo_dig
(
t_canvasinfo
*
x
)
/* climb up to a parent canvas */
t_canvas
*
canvas_climb
(
t_canvas
*
c
,
int
level
)
{
{
int
depth
=
(
int
)
x
->
x_depth
;
if
(
level
<=
0
)
t_canvas
*
c
=
x
->
x_canvas
;
return
c
;
if
(
depth
<
0
)
depth
=
0
;
else
{
while
(
depth
&&
c
->
gl_owner
)
{
t_canvas
*
ret
=
c
;
c
=
c
->
gl_owner
;
while
(
level
&&
ret
->
gl_owner
)
depth
--
;
{
ret
=
ret
->
gl_owner
;
level
--
;
}
return
c
;
}
}
return
c
;
}
}
void
canvasinfo_args
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
canvasinfo_args
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
int
n
=
0
;
int
n
=
0
;
t_atom
*
a
=
0
;
t_atom
*
a
=
0
;
t_binbuf
*
b
;
t_binbuf
*
b
;
...
@@ -202,7 +217,7 @@ void canvasinfo_args(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
...
@@ -202,7 +217,7 @@ void canvasinfo_args(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
void
canvasinfo_coords
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
canvasinfo_coords
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
t_int
gop
=
c
->
gl_isgraph
+
c
->
gl_hidetext
;
t_int
gop
=
c
->
gl_isgraph
+
c
->
gl_hidetext
;
t_atom
at
[
9
];
t_atom
at
[
9
];
SETFLOAT
(
at
,
(
c
->
gl_isgraph
)
?
c
->
gl_x1
:
0
);
SETFLOAT
(
at
,
(
c
->
gl_isgraph
)
?
c
->
gl_x1
:
0
);
...
@@ -219,7 +234,7 @@ void canvasinfo_coords(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
...
@@ -219,7 +234,7 @@ void canvasinfo_coords(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
void
canvasinfo_dir
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
canvasinfo_dir
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
c
=
canvas_getrootfor
(
c
);
c
=
canvas_getrootfor
(
c
);
t_atom
at
[
1
];
t_atom
at
[
1
];
SETSYMBOL
(
at
,
canvas_getdir
(
c
));
SETSYMBOL
(
at
,
canvas_getdir
(
c
));
...
@@ -228,7 +243,7 @@ void canvasinfo_dir(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
...
@@ -228,7 +243,7 @@ void canvasinfo_dir(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
void
canvasinfo_dirty
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
canvasinfo_dirty
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
t_atom
at
[
1
];
t_atom
at
[
1
];
SETFLOAT
(
at
,
c
->
gl_dirty
);
SETFLOAT
(
at
,
c
->
gl_dirty
);
info_out
((
t_text
*
)
x
,
s
,
1
,
at
);
info_out
((
t_text
*
)
x
,
s
,
1
,
at
);
...
@@ -236,7 +251,7 @@ void canvasinfo_dirty(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
...
@@ -236,7 +251,7 @@ void canvasinfo_dirty(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
void
canvasinfo_dollarzero
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
canvasinfo_dollarzero
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
c
=
canvas_getrootfor
(
c
);
c
=
canvas_getrootfor
(
c
);
t_symbol
*
d
=
gensym
(
"$0"
);
t_symbol
*
d
=
gensym
(
"$0"
);
t_symbol
*
ret
=
canvas_realizedollar
(
c
,
d
);
t_symbol
*
ret
=
canvas_realizedollar
(
c
,
d
);
...
@@ -248,7 +263,7 @@ void canvasinfo_dollarzero(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
...
@@ -248,7 +263,7 @@ void canvasinfo_dollarzero(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
void
canvasinfo_editmode
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
canvasinfo_editmode
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
t_atom
at
[
1
];
t_atom
at
[
1
];
SETFLOAT
(
at
,
c
->
gl_edit
);
SETFLOAT
(
at
,
c
->
gl_edit
);
info_out
((
t_text
*
)
x
,
s
,
1
,
at
);
info_out
((
t_text
*
)
x
,
s
,
1
,
at
);
...
@@ -256,7 +271,7 @@ void canvasinfo_editmode(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
...
@@ -256,7 +271,7 @@ void canvasinfo_editmode(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
void
canvasinfo_filename
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
canvasinfo_filename
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
c
=
canvas_getrootfor
(
c
);
c
=
canvas_getrootfor
(
c
);
t_atom
at
[
1
];
t_atom
at
[
1
];
SETSYMBOL
(
at
,
c
->
gl_name
);
SETSYMBOL
(
at
,
c
->
gl_name
);
...
@@ -265,7 +280,7 @@ void canvasinfo_filename(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
...
@@ -265,7 +280,7 @@ void canvasinfo_filename(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
void
canvasinfo_hitbox
(
t_canvasinfo
*
x
,
t_floatarg
xpos
,
t_floatarg
ypos
)
void
canvasinfo_hitbox
(
t_canvasinfo
*
x
,
t_floatarg
xpos
,
t_floatarg
ypos
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
int
x1
,
y1
,
x2
,
y2
,
indexno
;
int
x1
,
y1
,
x2
,
y2
,
indexno
;
t_gobj
*
ob
=
canvas_findhitbox
(
c
,
xpos
,
ypos
,
&
x1
,
&
y1
,
&
x2
,
&
y2
);
t_gobj
*
ob
=
canvas_findhitbox
(
c
,
xpos
,
ypos
,
&
x1
,
&
y1
,
&
x2
,
&
y2
);
if
(
ob
)
if
(
ob
)
...
@@ -289,7 +304,7 @@ void canvasinfo_hitbox(t_canvasinfo *x, t_floatarg xpos, t_floatarg ypos)
...
@@ -289,7 +304,7 @@ void canvasinfo_hitbox(t_canvasinfo *x, t_floatarg xpos, t_floatarg ypos)
void
canvasinfo_name
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
canvasinfo_name
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
char
buf
[
MAXPDSTRING
];
char
buf
[
MAXPDSTRING
];
snprintf
(
buf
,
MAXPDSTRING
,
".x%lx"
,
(
long
unsigned
int
)
c
);
snprintf
(
buf
,
MAXPDSTRING
,
".x%lx"
,
(
long
unsigned
int
)
c
);
t_atom
at
[
1
];
t_atom
at
[
1
];
...
@@ -299,7 +314,7 @@ void canvasinfo_name(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
...
@@ -299,7 +314,7 @@ void canvasinfo_name(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
void
canvasinfo_pointer
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
canvasinfo_pointer
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
t_atom
at
[
1
];
t_atom
at
[
1
];
t_gpointer
gp
;
t_gpointer
gp
;
gpointer_init
(
&
gp
);
gpointer_init
(
&
gp
);
...
@@ -312,7 +327,7 @@ void canvasinfo_pointer(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
...
@@ -312,7 +327,7 @@ void canvasinfo_pointer(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
void
canvasinfo_posonparent
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
void
canvasinfo_posonparent
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
t_atom
at
[
2
];
t_atom
at
[
2
];
SETFLOAT
(
at
,
c
->
gl_obj
.
te_xpix
);
SETFLOAT
(
at
,
c
->
gl_obj
.
te_xpix
);
SETFLOAT
(
at
+
1
,
c
->
gl_obj
.
te_ypix
);
SETFLOAT
(
at
+
1
,
c
->
gl_obj
.
te_ypix
);
...
@@ -321,7 +336,7 @@ void canvasinfo_posonparent(t_canvasinfo *x, t_symbol *s,
...
@@ -321,7 +336,7 @@ void canvasinfo_posonparent(t_canvasinfo *x, t_symbol *s,
void
canvasinfo_screenpos
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
canvasinfo_screenpos
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
t_atom
at
[
4
];
t_atom
at
[
4
];
SETFLOAT
(
at
,
c
->
gl_screenx1
);
SETFLOAT
(
at
,
c
->
gl_screenx1
);
SETFLOAT
(
at
+
1
,
c
->
gl_screeny1
);
SETFLOAT
(
at
+
1
,
c
->
gl_screeny1
);
...
@@ -332,7 +347,7 @@ void canvasinfo_screenpos(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
...
@@ -332,7 +347,7 @@ void canvasinfo_screenpos(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
void
canvasinfo_toplevel
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
canvasinfo_toplevel
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
t_float
f
=
c
->
gl_owner
?
0
:
1
;
t_float
f
=
c
->
gl_owner
?
0
:
1
;
t_atom
at
[
1
];
t_atom
at
[
1
];
SETFLOAT
(
at
,
f
);
SETFLOAT
(
at
,
f
);
...
@@ -341,7 +356,7 @@ void canvasinfo_toplevel(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
...
@@ -341,7 +356,7 @@ void canvasinfo_toplevel(t_canvasinfo *x, t_symbol *s, int argc, t_atom *argv)
void
canvasinfo_vis
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
void
canvasinfo_vis
(
t_canvasinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
{
t_canvas
*
c
=
canvas
info_dig
(
x
);
t_canvas
*
c
=
canvas
_climb
(
x
->
x_canvas
,
x
->
x_depth
);
t_atom
at
[
1
];
t_atom
at
[
1
];
SETFLOAT
(
at
,
glist_isvisible
(
c
));
SETFLOAT
(
at
,
glist_isvisible
(
c
));
info_out
((
t_text
*
)
x
,
s
,
1
,
at
);
info_out
((
t_text
*
)
x
,
s
,
1
,
at
);
...
@@ -961,10 +976,138 @@ void classinfo_setup(void)
...
@@ -961,10 +976,138 @@ void classinfo_setup(void)
*/
*/
}
}
/* -------------------------- objectinfo ------------------------------ */
t_gobj
*
objectinfo_getobject
(
t_canvas
*
c
,
int
index
)
{
int
i
=
index
;
t_gobj
*
y
=
c
->
gl_list
;
while
(
i
--
&&
y
)
y
=
y
->
g_next
;
return
y
;
}
void
objectinfo_float
(
t_floatarg
f
)
{
}
void
objectinfo_boxtext
(
t_objectinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
t_canvas
*
c
=
canvas_climb
(
x
->
x_canvas
,
x
->
x_depth
);
t_gobj
*
ob
;
if
(
ob
=
objectinfo_getobject
(
c
,
x
->
x_index
))
{
int
n
=
0
;
t_atom
*
a
=
0
;
t_binbuf
*
b
;
/* if it's not t_object (e.g., a scalar), or if it is but
does not have any binbuf content, send a bang... */
if
(
!
pd_checkobject
(
&
ob
->
g_pd
)
||
!
(
b
=
((
t_text
*
)
ob
)
->
te_binbuf
))
{
info_out
((
t_text
*
)
x
,
&
s_bang
,
0
,
0
);
}
else
{
n
=
binbuf_getnatom
(
b
);
a
=
binbuf_getvec
(
b
);
info_out
((
t_text
*
)
x
,
s
,
n
,
a
);
}
}
else
outlet_bang
(
x
->
x_out2
);
}
void
objectinfo_bbox
(
t_objectinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
t_gobj
*
ob
;
t_canvas
*
c
=
canvas_climb
(
x
->
x_canvas
,
x
->
x_depth
);
int
x1
,
y1
,
x2
,
y2
;
if
(
ob
=
objectinfo_getobject
(
c
,
x
->
x_index
))
{
/* check for a getrectfn */
if
(
ob
->
g_pd
->
c_wb
&&
ob
->
g_pd
->
c_wb
->
w_getrectfn
)
{
t_atom
at
[
4
];
gobj_getrect
(
ob
,
c
,
&
x1
,
&
y1
,
&
x2
,
&
y2
);
SETFLOAT
(
at
,
(
t_float
)
x1
);
SETFLOAT
(
at
+
1
,
(
t_float
)
y1
);
SETFLOAT
(
at
+
2
,
(
t_float
)
x2
);
SETFLOAT
(
at
+
3
,
(
t_float
)
y2
);
info_out
((
t_text
*
)
x
,
s
,
4
,
at
);
}
else
{
info_out
((
t_text
*
)
x
,
&
s_bang
,
0
,
0
);
}
}
else
outlet_bang
(
x
->
x_out2
);
}
void
objectinfo_classname
(
t_objectinfo
*
x
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
t_atom
at
[
1
];
t_gobj
*
ob
;
t_canvas
*
c
=
canvas_climb
(
x
->
x_canvas
,
x
->
x_depth
);
if
(
ob
=
objectinfo_getobject
(
c
,
x
->
x_index
))
{
char
*
classname
=
class_getname
(
ob
->
g_pd
);
SETSYMBOL
(
at
,
gensym
(
classname
));
info_out
((
t_text
*
)
x
,
s
,
1
,
at
);
}
else
outlet_bang
(
x
->
x_out2
);
}
void
objectinfo_print
(
t_classinfo
*
x
)
{
info_print
((
t_text
*
)
x
);
}
void
*
objectinfo_new
(
t_floatarg
f
)
{
t_objectinfo
*
x
=
(
t_objectinfo
*
)
pd_new
(
objectinfo_class
);
t_glist
*
glist
=
(
t_glist
*
)
canvas_getcurrent
();
x
->
x_canvas
=
(
t_canvas
*
)
glist_getcanvas
(
glist
);
x
->
x_index
=
f
;
floatinlet_new
(
&
x
->
x_obj
,
&
x
->
x_index
);
floatinlet_new
(
&
x
->
x_obj
,
&
x
->
x_depth
);
outlet_new
(
&
x
->
x_obj
,
&
s_anything
);
x
->
x_out2
=
outlet_new
(
&
x
->
x_obj
,
&
s_bang
);
return
(
void
*
)
x
;
}
void
objectinfo_setup
(
void
)
{
objectinfo_class
=
class_new
(
gensym
(
"objectinfo"
),
(
t_newmethod
)
objectinfo_new
,
0
,
sizeof
(
t_objectinfo
),
CLASS_DEFAULT
,
A_DEFFLOAT
,
0
);
class_addfloat
(
objectinfo_class
,
objectinfo_float
);
class_addmethod
(
objectinfo_class
,
(
t_method
)
objectinfo_bbox
,
gensym
(
"bbox"
),
A_GIMME
,
0
);
class_addmethod
(
objectinfo_class
,
(
t_method
)
objectinfo_boxtext
,
gensym
(
"boxtext"
),
A_GIMME
,
0
);
class_addmethod
(
objectinfo_class
,
(
t_method
)
objectinfo_classname
,
gensym
(
"class"
),
A_GIMME
,
0
);
class_addmethod
(
objectinfo_class
,
(
t_method
)
objectinfo_print
,
gensym
(
"print"
),
0
);
post
(
"objectinfo: v.0.1"
);
post
(
"stable objectinfo methods: class"
);
}
void
x_interface_setup
(
void
)
void
x_interface_setup
(
void
)
{
{
print_setup
();
print_setup
();
canvasinfo_setup
();
canvasinfo_setup
();
pdinfo_setup
();
pdinfo_setup
();
classinfo_setup
();
classinfo_setup
();
objectinfo_setup
();
}
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment