SpiecsEngine
 
Loading...
Searching...
No Matches
ImguiWindow.h
Go to the documentation of this file.
1/**
2* @file ImguiWindow.h
3* @brief The ImguiMainMenu Class Definitions.
4* @author Spices.
5*/
6
7#pragma once
8#include "Core/Core.h"
9#include "Slate/Imgui/ImguiUtils.h"
10
11namespace Spices {
12
13 /**
14 * @brief Forward Declare.
15 */
16 class ImguiVisualizer;
17
18 /**
19 * @brief Forward Declare.
20 */
21 class ImguiUtilities;
22
23 /**
24 * @brief Forward Declare.
25 */
27
28 /**
29 * @brief The ImguiWindow Class.
30 * This class defines how to render a window menu.
31 */
32 class ImguiWindow : public ImguiSlate
33 {
34 public:
35
36 /**
37 * @brief Constructor Function.
38 * @param[in] panelName The Slate's name to show.
39 * @param[in] frameInfo The Frame Date that in use.
40 */
42 const std::string& panelName ,
43 FrameInfo& frameInfo
44 );
45
46 /**
47 * @brief Destructor Function.
48 */
49 virtual ~ImguiWindow() override = default;
50
51 /**
52 * @brief This interface is called On SlateSystem Update.
53 * @param[in] ts TimeStep.
54 */
55 virtual void OnUpdate(TimeStep& ts) override {};
56
57 /**
58 * @brief This interface is called On SlateRenderer Render.
59 */
60 virtual void OnRender() override;
61
62 /**
63 * @brief This interface is called On Global Event Function Pointer is called.
64 */
65 virtual void OnEvent(Event& event) override {};
66
67 private:
68
69 /**
70 * @brief The shared pointer of ImguiVisualizer.
71 */
72 std::shared_ptr<ImguiVisualizer> m_Visualizer;
73
74 /**
75 * @brief The shared pointer of ImguiUtilities.
76 */
77 std::shared_ptr<ImguiUtilities> m_Utilities;
78
79 /**
80 * @brief The shared pointer of ImguiUtilities.
81 */
83 };
84}
#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
static std::shared_ptr< SlateStyleLayout > Get()
Get this single instance.
Wrappers of Slate StyleLayout Functions.
This Class handles our engine time step during frames. Global Unique.
Definition TimeStep.h:22