SpiecsEngine
 
Loading...
Searching...
No Matches
SlateStyleLayout.h
Go to the documentation of this file.
1/**
2* @file SlateStyleLayout.h.
3* @brief The SlateStyleLayout Class Definitions.
4* @author Spices.
5*/
6
7#pragma once
8#include "Core/Core.h"
9
10namespace Spices {
11
12 /**
13 * @brief Enum of Slate StyleLayout
14 */
15 enum class StyleLayoutEnum
16 {
17 Default = 0,
18 Animation = 1,
20 Paint = 3,
21 Rendering = 4,
24 };
25
26 /**
27 * @brief Wrappers of Slate StyleLayout Functions.
28 */
30 {
31 public:
32
33 /**
34 * @brief Constructor Function.
35 */
36 SlateStyleLayout() = default;
37
38 /**
39 * @brief Destructor Function.
40 */
41 virtual ~SlateStyleLayout() = default;
42
43 /**
44 * @brief Get this single instance.
45 * @return Returns this single instance.
46 */
47 static std::shared_ptr<SlateStyleLayout> Get();
48
49 /**
50 * @brief Set Slate Layout.
51 * @param[in] layout StyleLayoutEnum.
52 */
53 void SetLayout(StyleLayoutEnum layout);
54
55 /**
56 * @brief Store Slate Layout to disk.
57 */
58 void StoreLayout();
59
60 /**
61 * @brief Load Slate Layout in disk.
62 */
63 void LoadLayout();
64
65 /**
66 * @brief Store Slate Layout Cache.
67 */
68 void StoreLayoutCache();
69
70 /**
71 * @brief Load Slate Layout Cache.
72 */
73 void LoadLayoutCache();
74
75 /**
76 * @brief Quick Store Slate Layout to disk.
77 */
78 void QuickStoreLayout();
79
80 /**
81 * @brief Quick Load Slate Layout to disk.
82 */
83 void QuickLoadLayout();
84
85 private:
86
87 /**
88 * @brief SlateStyleLayout single instance.
89 */
90 static std::shared_ptr<SlateStyleLayout> m_Layout;
91 };
92}
#define ICON_TEXT(icon, text)
Definition ImguiHelper.h:24
#define SPICES_PROFILE_ZONEN(...)
#define SPICES_PROFILE_ZONE
EventDispatcher(Event &event)
Constructor Function.
Definition Event.h:172
This Class store a Specific Event type first and Dispatch a event handle function to it.
Definition Event.h:156
This Class is the basic Event Class. Inherit from it and create specific event class.
Definition Event.h:96
FrameInfo Class. This class defines the FrameInfo data.
Definition FrameInfo.h:32
static void MainMenuTitleSeparator()
Draw main menu titile separator.
The ImGuiH Class. This class defines helper function for slate render.
Definition ImguiHelper.h:61
virtual void OnRender() override
This interface is called On SlateRenderer Render.
ImguiMainMenu(const std::string &panelName, FrameInfo &frameInfo)
Constructor Function.
virtual void OnEvent(Event &event) override
This interface is called On Global Event Function Pointer is called.
The ImguiMainMenu Class. This class defines how to render a main menu.
ImguiSlate(const std::string &panelName, FrameInfo &frameInfo)
Constructor Function. Init with Slate's name.
Definition ImguiUtils.h:35
This Class defines the basic behaves of specific slate. When we add an new Slate, we need inherit fro...
Definition ImguiUtils.h:27
The ImguiUtilities Class. This class defines how to render a Utilities.
The ImguiViewportMenu Class. This class defines how to render a ImguiViewport menu.
The ImguiVisualizer Class. This class defines how to render a Visualizer.
virtual void OnUpdate(TimeStep &ts) override
This interface is called On SlateSystem Update.
Definition ImguiWindow.h:55
virtual void OnEvent(Event &event) override
This interface is called On Global Event Function Pointer is called.
Definition ImguiWindow.h:65
std::shared_ptr< ImguiVisualizer > m_Visualizer
The shared pointer of ImguiVisualizer.
Definition ImguiWindow.h:72
ImguiWindow(const std::string &panelName, FrameInfo &frameInfo)
Constructor Function.
std::shared_ptr< ImguiViewportMenu > m_ViewportMenu
The shared pointer of ImguiUtilities.
Definition ImguiWindow.h:82
virtual ~ImguiWindow() override=default
Destructor Function.
std::shared_ptr< ImguiUtilities > m_Utilities
The shared pointer of ImguiUtilities.
Definition ImguiWindow.h:77
virtual void OnRender() override
This interface is called On SlateRenderer Render.
The ImguiWindow Class. This class defines how to render a window menu.
Definition ImguiWindow.h:33
static bool IsKeyPressed(const int &keycode)
Query If given Key is Pressed.
Definition Input.h:34
This Class Is a wrapper of Platform Specific Input Query.
Definition Input.h:16
const int & GetKeyCode() const
Get Key Input Code.
Definition KeyEvent.h:30
This Class is inherited from KeyEvent Class.
Definition KeyEvent.h:57
void SetLayout(StyleLayoutEnum layout)
Set Slate Layout.
void QuickStoreLayout()
Quick Store Slate Layout to disk.
void StoreLayout()
Store Slate Layout to disk.
static std::shared_ptr< SlateStyleLayout > m_Layout
SlateStyleLayout single instance.
void QuickLoadLayout()
Quick Load Slate Layout to disk.
void StoreLayoutCache()
Store Slate Layout Cache.
static std::shared_ptr< SlateStyleLayout > Get()
Get this single instance.
virtual ~SlateStyleLayout()=default
Destructor Function.
void LoadLayout()
Load Slate Layout in disk.
void LoadLayoutCache()
Load Slate Layout Cache.
SlateStyleLayout()=default
Constructor Function.
Wrappers of Slate StyleLayout Functions.
This Class handles our engine time step during frames. Global Unique.
Definition TimeStep.h:22
StyleLayoutEnum
Enum of Slate StyleLayout.