LkEngine 0.1.2
 
Loading...
Searching...
No Matches
OpenGLImGuiLayer.h
1#pragma once
2
3#include "LkEngine/Renderer/UI/UILayer.h"
4
6
10#define IM_VEC2_CLASS_EXTRA \
11 ImVec2(const ::LkEngine::LVector2& InVector) { x = InVector.X; y = InVector.Y; } \
12 operator ::LkEngine::LVector2() const { return ::LkEngine::LVector2(x, y); }
13
14#include <imgui/imgui.h>
15#include <imgui/imgui_internal.h>
16#include <imgui/backends/imgui_impl_glfw.h>
17#include <imgui/backends/imgui_impl_opengl3.h>
18#include <ImGuizmo/ImGuizmo.h>
19
20
21namespace LkEngine {
22
24 {
25 public:
27 ~LOpenGLImGuiLayer() = default;
28
29 virtual void Initialize() override;
30 virtual void Destroy() override;
31
32 virtual void Tick(const float DeltaTime) {}
33 virtual void RenderUI() override {};
34
35 virtual void OnAttach() override {}
36 virtual void OnDetach() override {}
37
38 virtual void BeginFrame() override;
39 virtual void EndFrame() override;
40
41 virtual void SetDarkTheme() override;
42
43 private:
44 virtual void InitializeFonts() override;
45
46 private:
47 std::filesystem::path LayoutConfig{};
49 };
50
51}
Mathematical vectors.
Definition OpenGLImGuiLayer.h:24
virtual void Destroy() override
Destroy object, releasing all resources.
Definition OpenGLImGuiLayer.cpp:80
virtual void Initialize() override
Initialize object.
Definition OpenGLImGuiLayer.cpp:26
Definition UILayer.h:25
#define LCLASS(Class)
Definition CoreMacros.h:226
Definition Asset.h:11