ferx/engine/include/UI.h

44 lines
949 B
C
Raw Normal View History

#pragma once
#define GLFW_INCLUDE_NONE
#include "FrameBuffer.h"
#include <GLFW/glfw3.h>
#include <imgui.h>
#include <string>
struct InspectorData
{
glm::vec3 m_Position;
glm::vec3 m_Rotation;
glm::vec3 m_Scale = {1.0f, 1.0f, 1.0f};
glm::vec3 m_ShaderColor = {1.0f, 1.0f, 1.0f};
glm::vec3 m_BgColor = {0.0, 0.1f, 0.2f};
};
class UI
{
public:
UI();
~UI();
static void Init(GLFWwindow* window);
static void Run();
static void Render(const FrameBuffer& sceneBuffer);
static void Shutdown();
static void Print(const std::string& message);
static InspectorData GetData();
static void ShowMenu();
static void ShowHierarchy();
static void ShowProject();
static void ShowConsole();
static void ShowScene(const FrameBuffer& sceneBuffer);
static void ShowInspector();
private:
static InspectorData s_Data;
static std::string m_Log;
static ImVec4* m_StyleColors;
};