widget_i.h 681 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "gui_i.h"
  3. struct Widget {
  4. Gui* gui;
  5. bool is_enabled;
  6. uint8_t width;
  7. uint8_t height;
  8. WidgetDrawCallback draw_callback;
  9. void* draw_callback_context;
  10. WidgetInputCallback input_callback;
  11. void* input_callback_context;
  12. };
  13. /*
  14. * Set GUI referenec.
  15. * @param gui - gui instance pointer.
  16. */
  17. void widget_gui_set(Widget* widget, Gui* gui);
  18. /*
  19. * Process draw call. Calls draw callback.
  20. * @param canvas_api - canvas to draw at.
  21. */
  22. void widget_draw(Widget* widget, CanvasApi* canvas_api);
  23. /*
  24. * Process input. Calls input callback.
  25. * @param event - pointer to input event.
  26. */
  27. void widget_input(Widget* widget, InputEvent* event);