pm_application.h 821 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * File : pm_application.h
  3. * COPYRIGHT (C) 2012-2017, Shanghai Real-Thread Technology Co., Ltd
  4. *
  5. * Change Logs:
  6. * Date Author Notes
  7. * 2017-11-05 realthread the first version
  8. */
  9. #pragma once
  10. #include <rtgui/rtgui_app.h>
  11. #include <rtgui/rtgui_system.h>
  12. #include <pm_widget.h>
  13. DEFINE_CLASS_ENUM_FLAG_OPERATORS2(rtgui_app_flag);
  14. namespace Persimmon
  15. {
  16. class Application : private utils::noncopyable<Application>
  17. {
  18. public:
  19. Application(const char *title);
  20. virtual ~Application();
  21. virtual rt_bool_t eventHandler(struct rtgui_event *event);
  22. void run(void);
  23. struct rtgui_app *getApplication(void)
  24. {
  25. return application;
  26. }
  27. void activate(void)
  28. {
  29. rtgui_app_activate(application);
  30. }
  31. private:
  32. struct rtgui_app *application;
  33. };
  34. }