From 4811ba24944df14b2a5a368e6f2d3564e815d531 Mon Sep 17 00:00:00 2001 From: Guenter Geiger Date: Sun, 25 Jul 2004 13:45:55 +0000 Subject: readded svn path=/trunk/externals/ggee/; revision=1889 --- gui/slider.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 gui/slider.c (limited to 'gui') diff --git a/gui/slider.c b/gui/slider.c new file mode 100755 index 0000000..8e74a8e --- /dev/null +++ b/gui/slider.c @@ -0,0 +1,52 @@ +#include +#include +#include "g_canvas.h" /* for widgetbehaviour */ +#include "fatom.h" + +static t_class *slider_class; + +static void slider_save(t_gobj *z, t_binbuf *b) +{ + t_fatom *x = (t_fatom *)z; + + binbuf_addv(b, "ssiisiii", gensym("#X"),gensym("obj"), + x->x_obj.te_xpix, x->x_obj.te_ypix , + gensym("slider"),x->x_max,x->x_min,x->x_width); + binbuf_addv(b, ";"); +} + + +static void *slider_new(t_floatarg max, t_floatarg min, t_floatarg h) +{ + t_fatom *x = (t_fatom *)pd_new(slider_class); + x->x_type = gensym("vslider"); + return fatom_new(x,max,min,h,&s_); +} + + +t_widgetbehavior slider_widgetbehavior; + + +void slider_setup() { + slider_class = class_new(gensym("slider"), (t_newmethod)slider_new, 0, + sizeof(t_fatom),0,A_DEFFLOAT,A_DEFFLOAT,A_DEFFLOAT,0); + + slider_widgetbehavior.w_getrectfn = fatom_getrect, + slider_widgetbehavior.w_displacefn = fatom_displace, + slider_widgetbehavior.w_selectfn = fatom_select, + slider_widgetbehavior.w_activatefn = fatom_activate, + slider_widgetbehavior.w_deletefn = fatom_delete, + slider_widgetbehavior.w_visfn= fatom_vis, +#if PD_MINOR_VERSION < 37 + slider_widgetbehavior.w_savefn = slider_save, + slider_widgetbehavior.w_propertiesfn = NULL, +#endif + slider_widgetbehavior.w_clickfn = NULL, + + fatom_setup_common(slider_class); + class_setwidget(slider_class,&slider_widgetbehavior); +#if PD_MINOR_VERSION >= 37 + class_setsavefn(slider_class,&slider_save); +#endif + class_setpropertiesfn(slider_class,&fatom_properties); +} -- cgit v1.2.1