37 using WindowID = uint64_t;
40 static WindowID ID() {
return open_cpp_utils::unique_id<WindowID, T>(); }
43 static T* Open() { T* window; (window = Get<T>())->Open();
return window; }
46 static T* Close() { T* window; (window = Get<T>())->Close();
return window; }
51 T* window =
reinterpret_cast<T*
>(Windows_[ID<T>()]);
52 if(window ==
nullptr) Windows_[ID<T>()] = window =
new T();
57 static T* SetMainMenuBar() {
delete MainMenuBar_; T* bar =
new T(); MainMenuBar_ = bar;
return bar; }
60 static T* GetMainMenuBar() {
return static_cast<T*
>(MainMenuBar_); }
62 static void Initialize();
64 static void Shutdown();
65 static void HandleEvents(SDL_Event* event);
68 inline static EditorWindow* Windows_[MAX_EDITORS] {
nullptr };
Definition MainMenuBar.h:14