SpiecsEngine
 
Loading...
Searching...
No Matches
ImguiVisualizer.h
Go to the documentation of this file.
1/**
2* @file ImguiVisualizer.h
3* @brief The ImguiVisualizer 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 */
18
19 /**
20 * @brief The ImguiVisualizer Class.
21 * This class defines how to render a Visualizer.
22 */
24 {
25 public:
26
27 /**
28 * @brief Constructor Function.
29 * @param[in] panelName The Slate's name to show.
30 * @param[in] frameInfo The Frame Date that in use.
31 */
33 const std::string& panelName ,
34 FrameInfo& frameInfo
35 );
36
37 /**
38 * @brief Destructor Function.
39 */
40 virtual ~ImguiVisualizer() override = default;
41
42 /**
43 * @brief This interface is called On SlateSystem Update.
44 * @param[in] ts TimeStep.
45 */
46 virtual void OnUpdate(TimeStep& ts) override {};
47
48 /**
49 * @brief This interface is called On SlateRenderer Render.
50 */
51 virtual void OnRender() override;
52
53 /**
54 * @brief This interface is called On Global Event Function Pointer is called.
55 */
56 virtual void OnEvent(Event& event) override {};
57
58 private:
59
60 /**
61 * @brief The shared pointer of ImguiGBufferVisualizer.
62 */
64
65 /**
66 * @brief The shared pointer of ImguiVirtualGeometryVisualizer.
67 */
69 };
70}
#define ICON_TEXT(icon, text)
Definition ImguiHelper.h:24
#define ICON_EMPTY
Definition ImguiHelper.h:26
#define SPICES_PROFILE_ZONE
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
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
virtual ~ImguiVisualizer() override=default
Destructor Function.
std::shared_ptr< ImguiGBufferVisualizer > m_GBufferVisualizer
The shared pointer of ImguiGBufferVisualizer.
virtual void OnEvent(Event &event) override
This interface is called On Global Event Function Pointer is called.
std::shared_ptr< ImguiVirtualGeometryVisualizer > m_VirtualGeometryVisualizer
The shared pointer of ImguiVirtualGeometryVisualizer.
virtual void OnUpdate(TimeStep &ts) override
This interface is called On SlateSystem Update.
virtual void OnRender() override
This interface is called On SlateRenderer Render.
ImguiVisualizer(const std::string &panelName, FrameInfo &frameInfo)
Constructor Function.
The ImguiVisualizer Class. This class defines how to render a Visualizer.
ImguiWindow(const std::string &panelName, FrameInfo &frameInfo)
Constructor Function.
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
This Class handles our engine time step during frames. Global Unique.
Definition TimeStep.h:22