popup-vm.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include "popup-vm.h"
  2. PopupVM::PopupVM() {
  3. popup = popup_alloc();
  4. }
  5. PopupVM::~PopupVM() {
  6. popup_free(popup);
  7. }
  8. View* PopupVM::get_view() {
  9. return popup_get_view(popup);
  10. }
  11. void PopupVM::clean() {
  12. set_callback(NULL);
  13. set_context(NULL);
  14. set_header(NULL, 0, 0, AlignLeft, AlignBottom);
  15. set_text(NULL, 0, 0, AlignLeft, AlignBottom);
  16. set_icon(0, 0, NULL);
  17. disable_timeout();
  18. set_timeout(1000);
  19. }
  20. void PopupVM::set_callback(PopupCallback callback) {
  21. popup_set_callback(popup, callback);
  22. }
  23. void PopupVM::set_context(void* context) {
  24. popup_set_context(popup, context);
  25. }
  26. void PopupVM::set_header(const char* text, uint8_t x, uint8_t y, Align horizontal, Align vertical) {
  27. popup_set_header(popup, text, x, y, horizontal, vertical);
  28. }
  29. void PopupVM::set_text(const char* text, uint8_t x, uint8_t y, Align horizontal, Align vertical) {
  30. popup_set_text(popup, text, x, y, horizontal, vertical);
  31. }
  32. void PopupVM::set_icon(int8_t x, int8_t y, const Icon* icon) {
  33. popup_set_icon(popup, x, y, icon);
  34. }
  35. void PopupVM::set_timeout(uint32_t timeout_in_ms) {
  36. popup_set_timeout(popup, timeout_in_ms);
  37. }
  38. void PopupVM::enable_timeout() {
  39. popup_enable_timeout(popup);
  40. }
  41. void PopupVM::disable_timeout() {
  42. popup_enable_timeout(popup);
  43. }