desktop_view_debug.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include <stdint.h>
  3. #include <gui/view.h>
  4. #include "desktop_events.h"
  5. typedef struct DesktopDebugView DesktopDebugView;
  6. typedef void (*DesktopDebugViewCallback)(DesktopEvent event, void* context);
  7. // Debug info
  8. typedef enum {
  9. DesktopViewStatsFw,
  10. DesktopViewStatsMeta,
  11. DesktopViewStatsTotalCount,
  12. } DesktopViewStatsScreens;
  13. struct DesktopDebugView {
  14. View* view;
  15. DesktopDebugViewCallback callback;
  16. void* context;
  17. };
  18. typedef struct {
  19. uint32_t icounter;
  20. uint32_t butthurt;
  21. uint64_t timestamp;
  22. DesktopViewStatsScreens screen;
  23. } DesktopDebugViewModel;
  24. void desktop_debug_set_callback(
  25. DesktopDebugView* debug_view,
  26. DesktopDebugViewCallback callback,
  27. void* context);
  28. View* desktop_debug_get_view(DesktopDebugView* debug_view);
  29. DesktopDebugView* desktop_debug_alloc();
  30. void desktop_debug_free(DesktopDebugView* debug_view);
  31. void desktop_debug_get_dolphin_data(DesktopDebugView* debug_view);
  32. void desktop_debug_reset_screen_idx(DesktopDebugView* debug_view);