diff options
author | Peter D'Hoye <peter.dhoye@gmail.com> | 2009-05-22 21:58:48 +0000 |
---|---|---|
committer | Peter D'Hoye <peter.dhoye@gmail.com> | 2009-05-22 21:58:48 +0000 |
commit | 513389b4c1bc8afe4b2dc9947c534bfeb105e3da (patch) | |
tree | 10e673b35651ac567fed2eda0c679c7ade64cbc6 /apps/plugins/pdbox/PDa/extra/slider.c | |
parent | 95fa7f6a2ef466444fbe3fe87efc6d5db6b77b36 (diff) | |
download | rockbox-513389b4c1bc8afe4b2dc9947c534bfeb105e3da.tar.gz rockbox-513389b4c1bc8afe4b2dc9947c534bfeb105e3da.zip |
Add FS #10214. Initial commit of the original PDa code for the GSoC Pure Data plugin project of Wincent Balin. Stripped some non-sourcefiles and added a rockbox readme that needs a bit more info from Wincent. Is added to CATEGORIES and viewers, but not yet to SUBDIRS (ie doesn't build yet)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21044 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/pdbox/PDa/extra/slider.c')
-rw-r--r-- | apps/plugins/pdbox/PDa/extra/slider.c | 106 |
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 | |||
6 | static t_class *slider_class; | ||
7 | |||
8 | static 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 | |||
19 | static 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 | |||
27 | t_widgetbehavior slider_widgetbehavior; | ||
28 | |||
29 | |||
30 | void 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 | |||
59 | static t_class *slider_class; | ||
60 | |||
61 | static 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 | |||
72 | static 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 | |||
80 | t_widgetbehavior slider_widgetbehavior; | ||
81 | |||
82 | |||
83 | void 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 | } | ||