2021-06-01 11:23:41 +04:30
|
|
|
|
#include "ltpch.h"
|
2021-05-27 10:41:32 +04:30
|
|
|
|
#include "glUserInterface.h"
|
|
|
|
|
|
|
|
|
|
#include <imgui.h>
|
|
|
|
|
#include <imgui_impl_glfw.h>
|
|
|
|
|
#include <imgui_impl_opengl3.h>
|
|
|
|
|
|
|
|
|
|
namespace Light {
|
|
|
|
|
|
|
|
|
|
glUserInterface::glUserInterface(GLFWwindow* windowHandle)
|
|
|
|
|
{
|
2021-06-19 15:12:42 +04:30
|
|
|
|
// create context
|
2021-05-27 10:41:32 +04:30
|
|
|
|
IMGUI_CHECKVERSION();
|
|
|
|
|
ImGui::CreateContext();
|
2021-06-19 15:12:42 +04:30
|
|
|
|
|
|
|
|
|
// configure io
|
2021-05-27 10:41:32 +04:30
|
|
|
|
ImGuiIO& io = ImGui::GetIO();
|
|
|
|
|
io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;
|
|
|
|
|
|
2021-06-19 15:12:42 +04:30
|
|
|
|
// style color
|
2021-05-27 10:41:32 +04:30
|
|
|
|
ImGui::StyleColorsDark();
|
|
|
|
|
|
2021-06-19 15:12:42 +04:30
|
|
|
|
// init
|
2021-05-27 12:51:39 +04:30
|
|
|
|
ImGui_ImplGlfw_InitForOpenGL(windowHandle, false);
|
2021-05-27 10:41:32 +04:30
|
|
|
|
ImGui_ImplOpenGL3_Init();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
glUserInterface::~glUserInterface()
|
|
|
|
|
{
|
|
|
|
|
ImGui_ImplOpenGL3_Shutdown();
|
|
|
|
|
ImGui_ImplGlfw_Shutdown();
|
|
|
|
|
ImGui::DestroyContext();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void glUserInterface::Begin()
|
|
|
|
|
{
|
|
|
|
|
ImGui_ImplOpenGL3_NewFrame();
|
|
|
|
|
ImGui_ImplGlfw_NewFrame();
|
|
|
|
|
ImGui::NewFrame();
|
|
|
|
|
|
2021-06-19 15:12:42 +04:30
|
|
|
|
//* TEMP_ IMGUI DEBUG WINDOW _TEMP *//
|
2021-05-27 10:41:32 +04:30
|
|
|
|
ImGui::ShowDemoWindow();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void glUserInterface::End()
|
|
|
|
|
{
|
|
|
|
|
ImGui::Render();
|
|
|
|
|
ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData());
|
|
|
|
|
}
|
|
|
|
|
|
2021-06-01 11:23:41 +04:30
|
|
|
|
void glUserInterface::LogDebugData()
|
|
|
|
|
{
|
2021-06-19 15:12:42 +04:30
|
|
|
|
// #todo: improve
|
2021-06-01 11:23:41 +04:30
|
|
|
|
LT_ENGINE_INFO("________________________________________");
|
|
|
|
|
LT_ENGINE_INFO("UserInterface::");
|
|
|
|
|
LT_ENGINE_INFO(" API : ImGui");
|
|
|
|
|
LT_ENGINE_INFO(" Version: {}", ImGui::GetVersion());
|
2021-06-02 17:20:15 +04:30
|
|
|
|
LT_ENGINE_INFO(" GfxAPI : OpenGL");
|
2021-06-01 11:23:41 +04:30
|
|
|
|
LT_ENGINE_INFO("________________________________________");
|
|
|
|
|
}
|
|
|
|
|
|
2021-05-27 10:41:32 +04:30
|
|
|
|
}
|