slider.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef __RTGUI_SLIDER_H__
  2. #define __RTGUI_SLIDER_H__
  3. #include <rtgui/rtgui.h>
  4. #include <rtgui/kbddef.h>
  5. typedef struct rtgui_slider rtgui_slider_t;
  6. /** Gets the type of a slider */
  7. #define RTGUI_SLIDER_TYPE (rtgui_slider_type_get())
  8. /** Casts the object to an rtgui_slider */
  9. #define RTGUI_SLIDER(obj) (RTGUI_OBJECT_CAST((obj), RTGUI_SLIDER_TYPE, rtgui_slider_t))
  10. /** Checks if the object is an rtgui_slider */
  11. #define RTGUI_IS_SLIDER(obj) (RTGUI_OBJECT_CHECK_TYPE((obj), RTGUI_SLIDER_TYPE))
  12. struct rtgui_slider
  13. {
  14. rtgui_widget_t parent;
  15. /* widget private data */
  16. rt_size_t min, max, value, ticks;
  17. rt_size_t thumb_width;
  18. int orient;
  19. };
  20. rtgui_type_t *rtgui_slider_type_get(void);
  21. rtgui_slider_t* rtgui_slider_create(PVOID parent, rt_size_t min, rt_size_t max, int left, int top, int w, int h, int orient);
  22. void rtgui_slider_destroy(rtgui_slider_t* slider);
  23. rt_bool_t rtgui_slider_event_handler(PVOID wdt, rtgui_event_t* event);
  24. void rtgui_slider_set_range(rtgui_slider_t* slider, rt_size_t min, rt_size_t max);
  25. void rtgui_slider_set_value(rtgui_slider_t* slider, rt_size_t value);
  26. void rtgui_slider_set_orientation(rtgui_slider_t* slider, int orient);
  27. rt_size_t rtgui_slider_get_value(rtgui_slider_t* slider);
  28. #endif