30 int width = metrics.
width-2;
31 int height = metrics.
height-2;
34 cairo_rectangle(w->
crb,2.0, 2.0, width, height);
37 cairo_set_line_width(w->
crb, 1.0);
39 cairo_fill_preserve(w->
crb);
41 }
else if(w->
state==1) {
43 cairo_fill_preserve(w->
crb);
44 cairo_set_line_width(w->
crb, 1.5);
46 }
else if(w->
state==2) {
48 cairo_fill_preserve(w->
crb);
49 cairo_set_line_width(w->
crb, 1.0);
51 }
else if(w->
state==3) {
53 cairo_fill_preserve(w->
crb);
54 cairo_set_line_width(w->
crb, 1.0);
56 }
else if(w->
state==4) {
58 cairo_fill_preserve(w->
crb);
59 cairo_set_line_width(w->
crb, 1.0);
64 cairo_rectangle(w->
crb,4.0, 4.0, width, height);
66 cairo_rectangle(w->
crb,3.0, 3.0, width, height);
69 cairo_text_extents_t extents;
72 const char* format[] = {
"%.1f",
"%.2f",
"%.3f"};
75 snprintf(s, 63,
"%d", (
int) value);
76 }
else if (fabs(w->
adj->
step)>0.09) {
77 snprintf(s, 63, format[1-1], value);
79 snprintf(s, 63, format[2-1], value);
85 cairo_set_font_size (w->
crb, font_size);
86 cairo_text_extents(w->
crb,s , &extents);
87 cairo_move_to (w->
crb, (width-extents.width)*0.5, (height+extents.height)*0.55);
88 cairo_show_text(w->
crb, s);
89 cairo_new_path (w->
crb);
100 int width = metrics.
width-2;
101 int height = metrics.
height-2;
104 cairo_rectangle(w->
crb,2.0, 2.0, width, height);
106 cairo_fill_preserve(w->
crb);
108 cairo_stroke(w->
crb);
110 cairo_text_extents_t extents;
113 const char* format[] = {
"%.1f",
"%.2f",
"%.3f"};
115 if (fabs(parent->
adj->
step)>0.99) {
116 snprintf(s, 63,
"%d", (
int) value);
117 }
else if (fabs(parent->
adj->
step)>0.09) {
118 snprintf(s, 63, format[1-1], value);
120 snprintf(s, 63, format[2-1], value);
126 cairo_set_font_size (w->
crb, font_size);
127 cairo_text_extents(w->
crb,s , &extents);
128 cairo_move_to (w->
crb, (width-extents.width)*0.5, (height+extents.height)*0.55);
129 cairo_show_text(w->
crb, s);
130 cairo_new_path (w->
crb);
137 int width = metrics.
width-2;
138 int height = metrics.
height-2;
141 cairo_rectangle(w->
crb,0.0, 2.0, width, height-2);
143 cairo_fill_preserve(w->
crb);
145 cairo_stroke(w->
crb);
146 cairo_rectangle(w->
crb,0.0, height/2, width, height-2);
147 cairo_stroke(w->
crb);
150 cairo_set_font_size (w->
crb, font_size);
151 cairo_move_to (w->
crb, 5,18);
152 cairo_show_text(w->
crb,
"+");
153 cairo_move_to (w->
crb, 7,38);
154 cairo_show_text(w->
crb,
"-");
165 int height = metrics.
height-2;
167 if (xbutton->
button == Button1) {
168 if (xbutton->
y > height/2)
173 }
else if (xbutton->
button == Button4) {
176 }
else if (xbutton->
button == Button5) {
191 if (err) debug_print(
"Error grap pointer\n");
Metrics_t - struct to receive window size, position & visibility Pass this struct to os_get_window_...
void adj_set_value(Adjustment_t *adj, float value)
adj_set_value - set the current value to the Adjustment_t
float adj_get_value(Adjustment_t *adj)
adj_get_value - get the current value of the Adjustment_t
void use_frame_color_scheme(Widget_t *w, Color_state st)
use_frame_color_scheme - use frame Colors to paint on Widget_t
Color_state get_color_state(Widget_t *wid)
get_color_state - get the Color_state to use in relation to the Widget_t state
void use_text_color_scheme(Widget_t *w, Color_state st)
use_text_color_scheme - use text Colors to paint on Widget_t
void use_bg_color_scheme(Widget_t *w, Color_state st)
use_bg_color_scheme - use background Colors to paint on Widget_t
void use_shadow_color_scheme(Widget_t *w, Color_state st)
use_shadow_color_scheme - use shadow Colors to paint on Widget_t
void _draw_buttons(void *w_, void *user_data)
_draw_buttons - draw the spinbox buttons
void _draw_spinbox(void *w_, void *user_data)
_draw_spinbox - draw a spinbox expose call
void _buttons_released(void *w_, void *button_, void *user_data)
_buttons_released - set the spinbox value on button releases
void _draw_valuedisplay(void *w_, void *user_data)
_draw_valuedisplay - draw a valuedisplay on expose call
void _popup_spinbox(void *w_, void *button, void *user_data)
_popup_spinbox - show a spinbox above a valuedisplay