lib/ewl_range.h
Go to the documentation of this file.00001 /* vim: set sw=8 ts=8 sts=8 expandtab: */ 00002 #ifndef EWL_RANGE_H 00003 #define EWL_RANGE_H 00004 00022 #define EWL_RANGE_TYPE "range" 00023 00028 #define EWL_RANGE_IS(w) (ewl_widget_type_is(EWL_WIDGET(w), EWL_RANGE_TYPE)) 00029 00034 typedef struct Ewl_Range Ewl_Range; 00035 00040 #define EWL_RANGE(range) ((Ewl_Range *) range) 00041 00046 struct Ewl_Range 00047 { 00048 Ewl_Container container; 00050 double value; 00051 double min_val; 00052 double max_val; 00053 double step; 00054 unsigned int invert:1; 00055 unsigned int unknown_range:1; 00056 }; 00057 00058 int ewl_range_init(Ewl_Range *r); 00059 00060 void ewl_range_value_set(Ewl_Range *r, double v); 00061 double ewl_range_value_get(Ewl_Range *r); 00062 00063 void ewl_range_minimum_value_set(Ewl_Range *r, double minv); 00064 double ewl_range_minimum_value_get(Ewl_Range *r); 00065 00066 void ewl_range_maximum_value_set(Ewl_Range *r, double maxv); 00067 double ewl_range_maximum_value_get(Ewl_Range *r); 00068 00069 void ewl_range_step_set(Ewl_Range *r, double step); 00070 double ewl_range_step_get(Ewl_Range *r); 00071 00072 void ewl_range_unknown_set(Ewl_Range *r, unsigned int unknown); 00073 unsigned int ewl_range_unknown_get(Ewl_Range *r); 00074 00075 void ewl_range_invert_set(Ewl_Range *r, unsigned int invert); 00076 unsigned int ewl_range_invert_get(Ewl_Range *r); 00077 00078 void ewl_range_decrease(Ewl_Range *r); 00079 void ewl_range_increase(Ewl_Range *r); 00080 00085 #endif