ui_option.h 881 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef ui_option_h
  2. #define ui_option_h
  3. #include "ui/ui_button.h"
  4. typedef struct ui_option {
  5. ui_button* label;
  6. int num_options;
  7. ui_button** options;
  8. bool active;
  9. int selected;
  10. void (*onselect)(struct ui_option*);
  11. } ui_option;
  12. ui_option* ui_option_new(void);
  13. void ui_option_delete(ui_option* o);
  14. void ui_option_set_active(ui_option* o, bool active);
  15. void ui_option_move(ui_option* o, vec2 position);
  16. void ui_option_set_options(ui_option* o, char* label, int num, char** values);
  17. int ui_option_get_selected(ui_option* o);
  18. void ui_option_set_selected(ui_option* o, int selected);
  19. void ui_option_set_onselect(ui_option* o, void(*onselect)(ui_option*));
  20. void ui_option_deactivate(ui_option* o);
  21. void ui_option_activate(ui_option* o);
  22. void ui_option_event(ui_option* o, SDL_Event e);
  23. void ui_option_update(ui_option* o);
  24. void ui_option_render(ui_option* o);
  25. #endif