1 #ifndef UGDK_GRAPHIC_TEXTUREALTAS_H_
2 #define UGDK_GRAPHIC_TEXTUREALTAS_H_
10 #include <unordered_map>
14 #pragma SWIG nowarn=325
23 : position(pos),
size(s), trimmed_size(s)
24 , horizontal_flip(
false), vertical_flip(
false), rotated_90_clockwise(
false) {}
28 bool rotated_90_clockwise;
43 void ConvertToAtlas(
float in_u,
float in_v,
float *out_u,
float *out_v)
const;
56 if (names_.find(name) != names_.end())
59 pieces_.emplace_back(pos, size);
60 std::size_t frame_number = pieces_.size() - 1;
61 names_[name] = frame_number;
67 return pieces_.size();
69 const graphic::GLTexture*
texture()
const {
73 std::size_t
NameToId(
const std::string& name)
const {
74 return names_.at(name);
88 const graphic::GLTexture* texture_;
89 std::vector<Piece> pieces_;
90 std::unordered_map<std::string, std::size_t> names_;
96 #endif // UGDK_GRAPHIC_TEXTUREALTAS_H_
const math::Integer2D & size() const
Definition: textureatlas.h:38
const TextureAtlas * atlas() const
Definition: textureatlas.h:36
Definition: textureatlas.h:31
const graphic::GLTexture * texture() const
Definition: textureatlas.h:69
Definition: integer2D.h:20
BoundPiece PieceAt(size_t i) const
Definition: textureatlas.h:78
Definition: animation.h:11
BoundPiece(const TextureAtlas *atlas, const Piece *piece)
Definition: textureatlas.h:33
static TextureAtlas * LoadFromFile(const std::string &filepath)
~BoundPiece()
Definition: textureatlas.h:34
TextureAtlas(const graphic::GLTexture *texture, std::size_t size)
size_t piece_num() const
Definition: textureatlas.h:66
const math::Integer2D & position() const
Definition: textureatlas.h:37
Definition: textureatlas.h:20
BoundPiece PieceAt(const std::string &name) const
Definition: textureatlas.h:82
math::Integer2D size() const
const math::Integer2D & offset() const
Definition: textureatlas.h:40
std::size_t AddPiece(const std::string &name, const math::Integer2D &pos, const math::Integer2D &size)
Definition: textureatlas.h:55
const math::Integer2D & trimmed_size() const
Definition: textureatlas.h:39
Definition: exceptions.h:9
std::size_t NameToId(const std::string &name) const
Definition: textureatlas.h:73
void ConvertToAtlas(float *u, float *v) const