38 Panel(
const std::string &name =
"Panel");
50 inline void set_color(
const glm::vec4 &color) { m_color = color; }
57 inline const glm::vec4 &
get_color()
const {
return m_color; }
66 void render(
float canvas_width,
float canvas_height,
const glm::mat4 &projection)
override;
70 glm::vec4 m_color{1.0f, 1.0f, 1.0f, 1.0f};
73 static std::shared_ptr<renderer::Shader> s_shader;
76 static std::shared_ptr<renderer::VertexArray> s_vao;
79 static void initialize_resources();
82 static bool s_initialized;
void set_color(const glm::vec4 &color)
Set the background color of the panel.
Definition panel.hpp:50
void render(float canvas_width, float canvas_height, const glm::mat4 &projection) override
Render the panel.
Definition panel.cpp:64
~Panel() override=default
Destructor for Panel.
Panel(const std::string &name="Panel")
Constructor for Panel.
Definition panel.cpp:26
const glm::vec4 & get_color() const
Get the background color of the panel.
Definition panel.hpp:57
UIElement(const std::string &name="UIElement")
Constructor for UIElement.
Definition ui_element.cpp:10
Forward declarations for Assimp Material structure.
Definition model_loader.cpp:12
Declaration of the Shader class for managing shader programs in OpenGL.
Base class for all UI elements.
Declaration of the VertexArray class for managing Vertex Array Objects (VAOs) in OpenGL.