TurtleBrains  0.3.5
High quality, portable, C++ framework for rapid 2D game development.
tb_application_handler_interface.hpp
1 
9 #ifndef TurtleBrains_ApplicationHandlerInterface_hpp
10 #define TurtleBrains_ApplicationHandlerInterface_hpp
11 
12 #include <turtle_brains/application/tb_application_menu.hpp>
13 #include <turtle_brains/application/tb_application_dialog.hpp>
14 #include <turtle_brains/application/tb_application_window.hpp>
15 
16 namespace TurtleBrains
17 {
18  namespace Application
19  {
20  class RealtimeApplication;
21 
33  {
34  public:
39  virtual ~ApplicationHandlerInterface(void) = 0;
40 
41  //This part of the API should not be called by the user directly, and thus should likely be protected to keep
42  // the mistakes lower. This caused several errors in TurtleBrains as it would require more friends and or a
43  // wrapper/delegate object to handle extra permissions. 2020-06-19 TIM
44  //protected:
49  virtual void OnWindowOpen(void);
50 
55  virtual void OnWindowClose(void);
56 
66  virtual bool OnWindowRequestClose(void);
67 
76  virtual bool CanWindowResize(void) const;
77 
81  virtual void OnWindowResize(tbCore::uint16& windowWidth, tbCore::uint16& windowHeight);
82 
86  virtual void OnBecomeActive(void);
87 
91  virtual void OnBecomeInactive(void);
92 
97  virtual void OnRealtimeUpdate(void);
98 
106  virtual void OnMenuAction(const MenuIdentifier& menu, const MenuItemIdentifier& menuItem);
107 
122  virtual void OnDialogAction(const DialogIdentifier& dialog, const DialogControlIdentifier& dialogControl);
123 
131  virtual void CollectWindowProperties(WindowProperties& windowProperties);
132 
136  virtual void OnCreateGraphicsContext(void);
137 
141  virtual void OnDestroyGraphicsContext(void);
142 
146  virtual void SetApplication(RealtimeApplication* application);
147 
148  private:
149  };
150 
151  }; /* namespace Application */
152 }; /* namespace TurtleBrains */
153 
155 
156 #endif /* TurtleBrains_ApplicationHandlerInterface_hpp */
virtual void SetApplication(RealtimeApplication *application)
uint16_t uint16
Unsigned integer with a size of 16 bits. Supports values from 0 to 65535.
Definition: tb_types.hpp:26
Here is some information about the primary namespace.
Definition: tb_application_dialog.hpp:21
Contains classes, functions and constants to create Applications, Menus, Dialogs with native controls...
Definition: tb_application_dialog.hpp:23
virtual void OnDialogAction(const DialogIdentifier &dialog, const DialogControlIdentifier &dialogControl)
Definition: tb_application_window.hpp:29
Handle events from the application/window and actions from the user of your application by deriving a...
Definition: tb_application_handler_interface.hpp:32
Definition: tb_realtime_application.hpp:43
virtual void CollectWindowProperties(WindowProperties &windowProperties)
unsigned short DialogControlIdentifier
Definition: tb_application_dialog.hpp:53
virtual void OnWindowResize(tbCore::uint16 &windowWidth, tbCore::uint16 &windowHeight)
unsigned short DialogIdentifier
Definition: tb_application_dialog.hpp:44
virtual void OnMenuAction(const MenuIdentifier &menu, const MenuItemIdentifier &menuItem)
unsigned short MenuIdentifier
Definition: tb_application_menu.hpp:22
unsigned short MenuItemIdentifier
Definition: tb_application_menu.hpp:43