zori_widget.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef zori_widget_H_INCLUDED
  2. #define zori_widget_H_INCLUDED
  3. struct zori_widget;
  4. void zori_widget_cleanup_widget_only(struct zori_widget * widget);
  5. void zori_widget_destroy_widget_only(struct zori_widget * widget);
  6. void zori_widget_call_destructor_and_destroy(struct zori_widget * widget);
  7. void zori_widget_destroy(struct zori_widget * widget);
  8. int zori_widget_accepts_event(struct zori_widget *widget, union zori_event *event);
  9. int zori_widget_self_raise_event(struct zori_widget *widget, union zori_event *event);
  10. int zori_widget_raise_event(struct zori_widget *widget, union zori_event *event);
  11. int zori_widget_raise_system_event(struct zori_widget *widget, zori_system_event *sysev);
  12. int zori_widget_raise_draw_event(struct zori_widget *widget);
  13. int zori_widget_raise_overdraw_event(struct zori_widget *widget);
  14. int zori_widget_raise_done_event(struct zori_widget *widget);
  15. int zori_widget_raise_free_event(struct zori_widget *widget);
  16. int zori_widget_raise_update_event(struct zori_widget *widget, double dt);
  17. int zori_widget_raise_action_event(struct zori_widget *widget);
  18. int zori_widget_raise_close_event(struct zori_widget *widget, struct zori_widget *from);
  19. int zori_widget_compare(const void *v1, const void *v2);
  20. struct zori_handler *zori_widget_add_handler(struct zori_widget *widget, zori_event_type type, zori_handler_func *handler, void *data);
  21. struct zori_handler *zori_widget_add_handlers(struct zori_widget *widget, struct zori_handler *handlers, size_t amount);
  22. struct zori_widget *zori_widget_done(struct zori_widget *widget);
  23. void zori_widget_free(struct zori_widget *widget);
  24. struct zori_widget *zori_widget_add_child(struct zori_widget *parent, struct zori_widget *child);
  25. zori_id zori_widget_margins_(struct zori_widget *widget, int left, int top, int right, int bottom);
  26. zori_id zori_widget_margin_(struct zori_widget *widget, int size);
  27. void zori_widget_draw_background(struct zori_widget *widget);
  28. int zori_widget_visible(struct zori_widget *widget);
  29. int zori_widget_active(struct zori_widget *widget);
  30. int zori_widget_active_(struct zori_widget *widget, int set);
  31. int zori_widget_visible_(struct zori_widget *widget, int set);
  32. int zori_widget_hover(struct zori_widget *widget);
  33. int zori_widget_hover_(struct zori_widget *widget, int set);
  34. int zori_widget_marked(struct zori_widget *widget);
  35. int zori_widget_marked_(struct zori_widget *widget, int set);
  36. int zori_xy_inside_widget_p(struct zori_widget *widget, double x, double y);
  37. zori_font *zori_widget_font(struct zori_widget *widget);
  38. zori_color zori_widget_forecolor(struct zori_widget *widget);
  39. zori_color zori_widget_backcolor(struct zori_widget *widget);
  40. int zori_widget_h(struct zori_widget *widget);
  41. int zori_widget_w(struct zori_widget *widget);
  42. int zori_widget_x(struct zori_widget *widget);
  43. int zori_widget_y(struct zori_widget *widget);
  44. int zori_widget_count_children(struct zori_widget *widget);
  45. struct zori_widget *zori_widget_get_child(struct zori_widget *widget, int index);
  46. zori_id zori_widget_paddings_(struct zori_widget *widget, int left, int top, int right, int bottom);
  47. zori_id zori_widget_padding_(struct zori_widget *widget, int size);
  48. zori_font *zori_widget_text_font(struct zori_widget *widget);
  49. struct zori_widget *zori_widget_init(struct zori_widget *widget, zori_widget_type type, zori_id id, struct zori_widget *parent, zori_rebox *box, struct zori_style *style);
  50. struct zori_widget *zori_widget_initall(struct zori_widget *widget, zori_widget_type type, int id, struct zori_widget *parent, zori_rebox *box, struct zori_style *style, struct zori_handler *handlers, size_t amount);
  51. void zori_widget_handle_event(struct zori_widget *widget, union zori_event *event);
  52. struct zori_widget *zori_widget_find_parent(struct zori_widget *widget, _Bool (*predicate)(struct zori_widget *parent, void *extra), void *extra);
  53. bool zori_widget_is_type(struct zori_widget * widget, zori_widget_type type);
  54. _Bool zori_widget_is_type_predicate(struct zori_widget *widget, void *extra);
  55. struct zori_widget *zori_widget_get_parent_of_type(struct zori_widget *widget, zori_widget_type type);
  56. struct zori_screen *zori_widget_get_screen(struct zori_widget *widget);
  57. int zori_mark_widget(struct zori_widget *widget);
  58. #endif