8#include "Core/Drawable.hpp"
9#include "Core/Program.hpp"
10#include "Core/Texture.hpp"
11#include "Core/UniformBuffer.hpp"
12#include "Core/VertexArray.hpp"
14#include "Util/AssetStore.hpp"
34 Image(
const std::string &filepath,
bool useAA =
true);
43 glm::vec2
GetSize()
const override {
return m_Size; };
81 void InitVertexArray();
82 void InitUniformBuffer();
84 static constexpr int UNIFORM_SURFACE_LOCATION = 0;
86 static std::unique_ptr<Core::Program> s_Program;
87 static std::unique_ptr<Core::VertexArray> s_VertexArray;
88 std::unique_ptr<Core::UniformBuffer<Core::Matrices>> m_UniformBuffer;
93 std::unique_ptr<Core::Texture> m_Texture =
nullptr;
Definition: Drawable.hpp:14
A class template for managing assets.
Definition: AssetStore.hpp:20
A class representing an image.
Definition: Image.hpp:25
glm::vec2 GetSize() const override
Retrieves the size of the image.
Definition: Image.hpp:43
void Draw(const Core::Matrices &data) override
Draws the image with a given transform and z-index.
void SetImage(const std::string &filepath)
Sets the image to the specified file path.
void UseAntiAliasing(bool useAA)
Sets whether anti-aliasing (AA) should be enabled or disabled.
Image(const std::string &filepath, bool useAA=true)
Constructor that takes a file path to the image.
Useful tools for development.
Definition: Animation.hpp:12
Definition: Drawable.hpp:9