Sparkle 0.0.1
Loading...
Searching...
No Matches
spk_icon_region.hpp
1#pragma once
2
3#include "structure/graphics/painter/spk_texture_painter.hpp"
4#include "structure/graphics/spk_extend_2d.hpp"
5#include "structure/graphics/spk_sprite_sheet.hpp"
6
7#include <optional>
8
9namespace spk
10{
24 {
25 private:
26 std::optional<spk::SpriteSheet> _spriteSheet;
27 spk::Vector2UInt _spriteID{0, 0};
28 spk::Extend2D _geometry{};
29 TextureMesh _mesh;
30 TexturePainter _painter;
31
32 void _rebuildMesh();
33
34 public:
38 IconRegion();
39
44 void setTexture(const spk::SpriteSheet *p_spriteSheet);
49 const spk::SpriteSheet *texture() const;
50
55 void setSpriteID(const spk::Vector2UInt &p_spriteID);
60 const spk::Vector2UInt &spriteID() const;
61
66 void setGeometry(const spk::Extend2D &p_geometry);
71 const spk::Extend2D &geometry() const;
72
77 void setLayer(const float &p_layer);
82 const float &layer() const;
83
87 void render();
88 };
89}
void setLayer(const float &p_layer)
Sets the rendering layer.
Definition spk_icon_region.cpp:89
const float & layer() const
Returns the current layer value.
Definition spk_icon_region.cpp:94
IconRegion()
Builds an empty icon region.
Definition spk_icon_region.cpp:5
void render()
Renders the icon using the configured texture and geometry.
Definition spk_icon_region.cpp:99
const spk::Extend2D & geometry() const
Returns the current render geometry.
Definition spk_icon_region.cpp:84
void setGeometry(const spk::Extend2D &p_geometry)
Sets the geometry used to render the icon.
Definition spk_icon_region.cpp:78
const spk::SpriteSheet * texture() const
Returns the current sprite sheet texture.
Definition spk_icon_region.cpp:57
const spk::Vector2UInt & spriteID() const
Returns the current sprite identifier.
Definition spk_icon_region.cpp:73
void setTexture(const spk::SpriteSheet *p_spriteSheet)
Sets the sprite sheet texture used for the icon.
Definition spk_icon_region.cpp:42
void setSpriteID(const spk::Vector2UInt &p_spriteID)
Sets the sprite identifier within the sheet.
Definition spk_icon_region.cpp:67
Loads an image and exposes individual sprite regions.
Definition spk_sprite_sheet.hpp:21
Mesh specialization for textured vertices.
Definition spk_texture_painter.hpp:42
Painter that renders textured meshes.
Definition spk_texture_painter.hpp:204
Axis-aligned rectangle defined by an anchor point and size.
Definition spk_extend_2d.hpp:24