Lines Matching refs:button

68 static bool_t in_bbox( button_t *button, int x, int y )  in in_bbox()  argument
71 ( x >= button->pos.x ) && in in_bbox()
72 ( x <= button->pos.x + button->w ) && in in_bbox()
73 ( y >= button->pos.y ) && in in_bbox()
74 ( y <= button->pos.y + button->h ) ); in in_bbox()
89 button_t *button = (button_t*) widget; in button_mouse_down_cb() local
91 check_assertion( button != NULL, "button is NULL" ); in button_mouse_down_cb()
97 if ( !in_bbox( button, x, y ) ) { in button_mouse_down_cb()
101 if ( ! button->enabled ) { in button_mouse_down_cb()
105 if ( button->clicked == False ) { in button_mouse_down_cb()
107 button->clicked = True; in button_mouse_down_cb()
120 void button_perform_click_action( button_t *button ) in button_perform_click_action() argument
122 check_assertion( button != NULL, "button is NULL" ); in button_perform_click_action()
124 if ( button->click_cb ) { in button_perform_click_action()
125 button->click_cb( button, button->click_cb_userdata ); in button_perform_click_action()
142 button_t *button = (button_t*) widget; in button_mouse_up_cb() local
144 check_assertion( button != NULL, "button is NULL" ); in button_mouse_up_cb()
150 if ( ! button->enabled ) { in button_mouse_up_cb()
154 if ( !in_bbox( button, x, y ) ) { in button_mouse_up_cb()
155 if ( button->clicked ) { in button_mouse_up_cb()
157 button->clicked = False; in button_mouse_up_cb()
164 if ( button->clicked ) { in button_mouse_up_cb()
165 button->clicked = False; in button_mouse_up_cb()
167 button_perform_click_action( button ); in button_mouse_up_cb()
179 void button_simulate_mouse_click( button_t *button ) in button_simulate_mouse_click() argument
181 check_assertion( button != NULL, "button is NULL" ); in button_simulate_mouse_click()
183 if ( !button->enabled || !button->active ) { in button_simulate_mouse_click()
187 button_perform_click_action( button ); in button_simulate_mouse_click()
199 button_t *button = (button_t*) widget; in button_mouse_motion_cb() local
201 check_assertion( button != NULL, "button is NULL" ); in button_mouse_motion_cb()
203 if ( ! button->enabled ) { in button_mouse_motion_cb()
207 if ( in_bbox( button, x, y ) ) { in button_mouse_motion_cb()
208 if ( button->focused == False ) { in button_mouse_motion_cb()
210 button->focused = True; in button_mouse_motion_cb()
214 if ( button->focused == True ) { in button_mouse_motion_cb()
216 button->focused = False; in button_mouse_motion_cb()
232 void button_draw( button_t *button ) in button_draw() argument
240 check_assertion( button != NULL, "button is NULL" ); in button_draw()
242 pos = button->pos; in button_draw()
243 w = button->w; in button_draw()
244 h = button->h; in button_draw()
251 if ( !button->enabled ) { in button_draw()
252 if ( button->disabled_tex.binding ) { in button_draw()
253 tex = &button->disabled_tex; in button_draw()
254 } else if ( button->tex.binding ) { in button_draw()
255 tex = &button->tex; in button_draw()
258 if ( button->disabled_font_binding ) { in button_draw()
259 font_binding = button->disabled_font_binding; in button_draw()
260 } else if ( button->font_binding ) { in button_draw()
261 font_binding = button->font_binding; in button_draw()
263 } else if ( button->clicked ) { in button_draw()
264 if ( button->clicked_tex.binding ) { in button_draw()
265 tex = &button->clicked_tex; in button_draw()
266 } else if ( button->hilit_tex.binding ) { in button_draw()
267 tex = &button->hilit_tex; in button_draw()
268 } else if ( button->tex.binding ) { in button_draw()
269 tex = &button->tex; in button_draw()
272 if ( button->hilit_font_binding ) { in button_draw()
273 font_binding = button->hilit_font_binding; in button_draw()
274 } else if ( button->font_binding ) { in button_draw()
275 font_binding = button->font_binding; in button_draw()
277 } else if ( button->focused ) { in button_draw()
278 if ( button->hilit_tex.binding ) { in button_draw()
279 tex = &button->hilit_tex; in button_draw()
280 } else if ( button->tex.binding ) { in button_draw()
281 tex = &button->tex; in button_draw()
284 if ( button->hilit_font_binding ) { in button_draw()
285 font_binding = button->hilit_font_binding; in button_draw()
286 } else if ( button->font_binding ) { in button_draw()
287 font_binding = button->font_binding; in button_draw()
290 if ( button->tex.binding ) { in button_draw()
291 tex = &button->tex; in button_draw()
294 if ( button->font_binding ) { in button_draw()
295 font_binding = button->font_binding; in button_draw()
328 if ( font_binding && button->label != NULL ) { in button_draw()
340 get_font_metrics( font, button->label, &w, &asc, &desc ); in button_draw()
344 glTranslatef( button->pos.x + button->w/2.0 - w/2.0, in button_draw()
345 button->pos.y + button->h/2.0 - asc/2.0 + desc/2.0, in button_draw()
348 draw_string( font, button->label ); in button_draw()
388 button_t *button; in button_create() local
390 button = (button_t*)malloc( sizeof(button_t) ); in button_create()
392 check_assertion( button != NULL, "out of memory" ); in button_create()
394 button->pos = pos; in button_create()
395 button->w = w; in button_create()
396 button->h = h; in button_create()
397 button->tex.binding = NULL; in button_create()
398 button->hilit_tex.binding = NULL; in button_create()
399 button->clicked_tex.binding = NULL; in button_create()
400 button->disabled_tex.binding = NULL; in button_create()
401 button->font_binding = font_binding; in button_create()
402 button->disabled_font_binding = NULL; in button_create()
403 button->hilit_font_binding = NULL; in button_create()
404 button->label = label; in button_create()
405 button->click_cb = NULL; in button_create()
406 button->click_cb_userdata = NULL; in button_create()
408 button->clicked = False; in button_create()
409 button->focused = False; in button_create()
410 button->enabled = True; in button_create()
411 button->visible = False; in button_create()
412 button->active = False; in button_create()
414 return button; in button_create()
428 void button_delete( button_t *button ) in button_delete() argument
430 check_assertion( button != NULL, "button is NULL" ); in button_delete()
432 button_set_visible( button, False ); in button_delete()
433 button_set_active( button, False ); in button_delete()
435 free( button ); in button_delete()
451 void button_set_click_event_cb( button_t *button, button_click_event_cb_t cb, in button_set_click_event_cb() argument
454 check_assertion( button != NULL, "button is NULL" ); in button_set_click_event_cb()
456 button->click_cb = cb; in button_set_click_event_cb()
457 button->click_cb_userdata = userdata; in button_set_click_event_cb()
468 void button_set_hilit_font_binding( button_t *button, char *binding ) in button_set_hilit_font_binding() argument
470 check_assertion( button != NULL, "button is NULL" ); in button_set_hilit_font_binding()
472 button->hilit_font_binding = binding; in button_set_hilit_font_binding()
483 void button_set_disabled_font_binding( button_t *button, char *binding ) in button_set_disabled_font_binding() argument
485 check_assertion( button != NULL, "button is NULL" ); in button_set_disabled_font_binding()
487 button->disabled_font_binding = binding; in button_set_disabled_font_binding()
503 void button_set_image( button_t *button, char *texture_binding, in button_set_image() argument
506 check_assertion( button != NULL, "button is NULL" ); in button_set_image()
508 button->tex.binding = texture_binding; in button_set_image()
509 button->tex.ll = p0; in button_set_image()
510 button->tex.ur = p1; in button_set_image()
511 button->tex.colour = colour; in button_set_image()
522 void button_set_hilit_image( button_t *button, char *texture_binding, in button_set_hilit_image() argument
525 check_assertion( button != NULL, "button is NULL" ); in button_set_hilit_image()
527 button->hilit_tex.binding = texture_binding; in button_set_hilit_image()
528 button->hilit_tex.ll = p0; in button_set_hilit_image()
529 button->hilit_tex.ur = p1; in button_set_hilit_image()
530 button->hilit_tex.colour = colour; in button_set_hilit_image()
541 void button_set_disabled_image( button_t *button, char *texture_binding, in button_set_disabled_image() argument
544 check_assertion( button != NULL, "button is NULL" ); in button_set_disabled_image()
546 button->disabled_tex.binding = texture_binding; in button_set_disabled_image()
547 button->disabled_tex.ll = p0; in button_set_disabled_image()
548 button->disabled_tex.ur = p1; in button_set_disabled_image()
549 button->disabled_tex.colour = colour; in button_set_disabled_image()
561 void button_set_clicked_image( button_t *button, char *texture_binding, in button_set_clicked_image() argument
564 check_assertion( button != NULL, "button is NULL" ); in button_set_clicked_image()
566 button->clicked_tex.binding = texture_binding; in button_set_clicked_image()
567 button->clicked_tex.ll = p0; in button_set_clicked_image()
568 button->clicked_tex.ur = p1; in button_set_clicked_image()
569 button->clicked_tex.colour = colour; in button_set_clicked_image()
581 void button_set_position( button_t *button, point2d_t pos ) in button_set_position() argument
583 check_assertion( button != NULL, "button is NULL" ); in button_set_position()
585 button->pos = pos; in button_set_position()
598 scalar_t button_get_width( button_t *button ) in button_get_width() argument
600 check_assertion( button != NULL, "button is NULL" ); in button_get_width()
602 return button->w; in button_get_width()
614 scalar_t button_get_height( button_t *button ) in button_get_height() argument
616 check_assertion( button != NULL, "button is NULL" ); in button_get_height()
618 return button->h; in button_get_height()
631 void button_set_enabled( button_t *button, bool_t enabled ) in button_set_enabled() argument
633 check_assertion( button != NULL, "button is NULL" ); in button_set_enabled()
635 if ( button->enabled != enabled ) { in button_set_enabled()
639 button->enabled = enabled; in button_set_enabled()
642 button->clicked = False; in button_set_enabled()
643 button->focused = False; in button_set_enabled()
656 bool_t button_is_enabled( button_t *button ) in button_is_enabled() argument
658 check_assertion( button != NULL, "button is NULL" ); in button_is_enabled()
660 return button->enabled; in button_is_enabled()
674 void button_set_visible( button_t *button, bool_t visible ) in button_set_visible() argument
676 check_assertion( button != NULL, "button is NULL" ); in button_set_visible()
679 if ( button->active != visible ) { in button_set_visible()
680 button_set_active( button, visible ); in button_set_visible()
683 if ( !button->visible && visible ) { in button_set_visible()
685 ui_add_widget_draw_callback( button, button_draw_cb ); in button_set_visible()
688 } else if ( button->visible && !visible ) { in button_set_visible()
689 ui_delete_widget_draw_callback( button ); in button_set_visible()
694 button->visible = visible; in button_set_visible()
706 bool_t button_is_visible( button_t *button ) in button_is_visible() argument
708 check_assertion( button != NULL, "button is NULL" ); in button_is_visible()
710 return button->visible; in button_is_visible()
724 void button_set_active( button_t *button, bool_t active ) in button_set_active() argument
726 check_assertion( button != NULL, "button is NULL" ); in button_set_active()
728 if ( !button->active && active ) { in button_set_active()
729 ui_add_mouse_motion_callback( button, button_mouse_motion_cb ); in button_set_active()
730 ui_add_mouse_down_callback( button, button_mouse_down_cb ); in button_set_active()
731 ui_add_mouse_up_callback( button, button_mouse_up_cb ); in button_set_active()
734 } else if ( button->active && !active ) { in button_set_active()
736 ui_delete_mouse_motion_callback( button ); in button_set_active()
737 ui_delete_mouse_down_callback( button ); in button_set_active()
738 ui_delete_mouse_up_callback( button ); in button_set_active()
743 button->active = active; in button_set_active()
746 button_set_visible( button, False ); in button_set_active()
759 bool_t button_is_active( button_t *button ) in button_is_active() argument
761 check_assertion( button != NULL, "button is NULL" ); in button_is_active()
763 return button->active; in button_is_active()
773 void button_set_highlight( button_t *button, bool_t highlight ) in button_set_highlight() argument
775 check_assertion( button != NULL, "button is NULL" ); in button_set_highlight()
776 if (!(button->focused == highlight)) { in button_set_highlight()
779 button->focused = highlight; in button_set_highlight()