#pragma once #include #include #include "../Panels/Panel.h" typedef enum PanelManagementMode { DEFAULT, CONFIGURE, FULLSCREEN, INTERACTIVE } PanelManagementMode; typedef enum Panels { BRUSHES, COLORS, LAYERS, SETTINGS } Panels; class PanelManagementContext { static std::stack modes; static std::map panels; static int uses; public: PanelManagementContext(); ~PanelManagementContext(); static void Open(Panels panel); static void Close(Panel* panel); static void CloseAll(); static bool IsOpen(Panels panel); static void PushMode(PanelManagementMode mode); static void PopMode(); static PanelManagementMode GetMode(); void OnRender(); };