summaryrefslogtreecommitdiff
path: root/apps/plugins/pdbox/PDa/extra/slider.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/pdbox/PDa/extra/slider.c')
-rw-r--r--apps/plugins/pdbox/PDa/extra/slider.c106
1 files changed, 106 insertions, 0 deletions
diff --git a/apps/plugins/pdbox/PDa/extra/slider.c b/apps/plugins/pdbox/PDa/extra/slider.c
new file mode 100644
index 0000000000..4650050006
--- /dev/null
+++ b/apps/plugins/pdbox/PDa/extra/slider.c
@@ -0,0 +1,106 @@
1#include <stdio.h>
2#include "m_pd.h"
3#include "g_canvas.h" /* for widgetbehaviour */
4#include "fatom.h"
5
6static t_class *slider_class;
7
8static void slider_save(t_gobj *z, t_binbuf *b)
9{
10 t_fatom *x = (t_fatom *)z;
11
12 binbuf_addv(b, "ssiisiiisss", gensym("#X"),gensym("obj"),
13 x->x_obj.te_xpix, x->x_obj.te_ypix ,
14 gensym("slider"),x->x_max,x->x_min,x->x_width,x->x_send,x->x_color,x->x_bgcolor);
15 binbuf_addv(b, ";");
16}
17
18
19static void *slider_new(t_symbol* s,t_int argc, t_atom* argv)
20{
21 t_fatom *x = (t_fatom *)pd_new(slider_class);
22 x->x_type = gensym("vslider");
23 return fatom_new(x,argc,argv);
24}
25
26
27t_widgetbehavior slider_widgetbehavior;
28
29
30void slider_setup(void) {
31 slider_class = class_new(gensym("slider"), (t_newmethod)slider_new, 0,
32 sizeof(t_fatom),0,A_GIMME,0);
33
34 slider_widgetbehavior.w_getrectfn = fatom_getrect;
35 slider_widgetbehavior.w_displacefn = fatom_displace;
36 slider_widgetbehavior.w_selectfn = fatom_select;
37 slider_widgetbehavior.w_activatefn = fatom_activate;
38 slider_widgetbehavior.w_deletefn = fatom_delete;
39 slider_widgetbehavior.w_visfn= fatom_vis;
40 slider_widgetbehavior.w_clickfn = NULL;
41
42 fatom_setup_common(slider_class);
43 class_setwidget(slider_class,&slider_widgetbehavior);
44
45#if PD_MINOR_VERSION < 37
46 slider_widgetbehavior.w_savefn = slider_save;
47 slider_widgetbehavior.w_propertiesfn = NULL;
48#else
49 class_setsavefn(slider_class,&slider_save);
50 class_setpropertiesfn(slider_class,&fatom_properties);
51#endif
52
53}
54#include <stdio.h>
55#include "m_pd.h"
56#include "g_canvas.h" /* for widgetbehaviour */
57#include "fatom.h"
58
59static t_class *slider_class;
60
61static void slider_save(t_gobj *z, t_binbuf *b)
62{
63 t_fatom *x = (t_fatom *)z;
64
65 binbuf_addv(b, "ssiisiiisss", gensym("#X"),gensym("obj"),
66 x->x_obj.te_xpix, x->x_obj.te_ypix ,
67 gensym("slider"),x->x_max,x->x_min,x->x_width,x->x_send,x->x_color,x->x_bgcolor);
68 binbuf_addv(b, ";");
69}
70
71
72static void *slider_new(t_symbol* s,t_int argc, t_atom* argv)
73{
74 t_fatom *x = (t_fatom *)pd_new(slider_class);
75 x->x_type = gensym("vslider");
76 return fatom_new(x,argc,argv);
77}
78
79
80t_widgetbehavior slider_widgetbehavior;
81
82
83void slider_setup(void) {
84 slider_class = class_new(gensym("slider"), (t_newmethod)slider_new, 0,
85 sizeof(t_fatom),0,A_GIMME,0);
86
87 slider_widgetbehavior.w_getrectfn = fatom_getrect;
88 slider_widgetbehavior.w_displacefn = fatom_displace;
89 slider_widgetbehavior.w_selectfn = fatom_select;
90 slider_widgetbehavior.w_activatefn = fatom_activate;
91 slider_widgetbehavior.w_deletefn = fatom_delete;
92 slider_widgetbehavior.w_visfn= fatom_vis;
93 slider_widgetbehavior.w_clickfn = NULL;
94
95 fatom_setup_common(slider_class);
96 class_setwidget(slider_class,&slider_widgetbehavior);
97
98#if PD_MINOR_VERSION < 37
99 slider_widgetbehavior.w_savefn = slider_save;
100 slider_widgetbehavior.w_propertiesfn = NULL;
101#else
102 class_setsavefn(slider_class,&slider_save);
103 class_setpropertiesfn(slider_class,&fatom_properties);
104#endif
105
106}