47 alignas(16) glm::uvec4 _color[2];
48 alignas(16) glm::vec2 _offset;
53 void setTexture(
Texture const& texture,
bool resetRect =
false);
56 void setFillColor(
Color color, std::size_t instance = 0);
57 void setOutlineColor(
Color color, std::size_t instance = 0);
58 void setOffset(fge::Vector2f
const& offset, std::size_t instance = 0);
59 void setInstancesCount(std::size_t count);
60 void addInstance(
Color fillColor,
Color outlineColor, fge::Vector2f
const& offset);
61 [[nodiscard]] std::size_t getInstancesCount()
const;
62 void clearInstances();
64 void setOutlineThickness(
float thickness);
66 [[nodiscard]]
Texture const& getTexture()
const;
68 [[nodiscard]]
RectInt const& getTextureRect()
const;
70 [[nodiscard]]
Color getFillColor(std::size_t instance = 0)
const;
71 [[nodiscard]]
Color getOutlineColor(std::size_t instance = 0)
const;
72 [[nodiscard]] fge::Vector2f
const& getOffset(std::size_t instance = 0)
const;
74 [[nodiscard]]
float getOutlineThickness()
const;
76 [[nodiscard]]
virtual std::size_t getPointCount()
const = 0;
77 [[nodiscard]]
virtual Vector2f getPoint(std::size_t index)
const = 0;
90 void updateTexCoords();
92 void resizeBuffer(std::size_t size)
const;
93 void updateDescriptors()
const;
95 inline InstanceData* retrieveInstance(std::size_t index)
const;
100 float g_outlineThickness;
105 mutable std::size_t g_instancesCount;
This class is a wrapper for the texture manager to allow easy manipulation.
Definition C_texture.hpp:36