/* (C) Guenter Geiger */ #include "slider.h" static t_class *hslider_class; static void *hslider_new(t_floatarg h,t_floatarg o,t_floatarg w,t_floatarg n) { t_slider *x = (t_slider *)pd_new(hslider_class); x->x_glist = (t_glist*) canvas_getcurrent(); if (w) x->x_height = w; else x->x_height = 15; if (h) x->x_width = h - o; else x->x_width = 127; x->x_offset = o; x->x_pos = o; x->x_pos2 = o; x->a_pos.a_type = A_FLOAT; if (n) x->x_num = n; else x->x_num = 1; outlet_new(&x->x_obj, &s_float); x->x_horizontal = 1; return (x); } void hslider_setup(void) { hslider_class = class_new(gensym("hslider"), (t_newmethod) hslider_new, 0, sizeof(t_slider), 0,A_DEFFLOAT,A_DEFFLOAT,A_DEFFLOAT,A_DEFFLOAT,0); class_addbang(hslider_class,slider_bang); class_addfloat(hslider_class,slider_float); class_addmethod(hslider_class, (t_method)slider_mark, gensym("mark"), A_FLOAT, 0); class_addmethod(hslider_class, (t_method)slider_click, gensym("click"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0); class_addmethod(hslider_class, (t_method)slider_motion, gensym("motion"), A_FLOAT, A_FLOAT, 0); class_addmethod(hslider_class, (t_method)slider_set, gensym("set"), A_FLOAT, 0); slider_setwidget(); class_setwidget(hslider_class,&slider_widgetbehavior); }