Hummingbird Framework
 All Classes Functions Variables Modules Pages
Sprite.h
1 #ifndef HB_SPRITE_H
2 #define HB_SPRITE_H
3 #include <utility>
4 #include <vector>
5 #include "../Core/Time.h"
6 #include "../Core/Vector2d.h"
7 #include "Texture.h"
8 
9 namespace hb
10 {
15  class Sprite
16  {
17  public:
18  friend class SpriteComponent;
19  Sprite(const Texture& texture = Texture::t404(), const Vector2d& frame_size = Vector2d(-1, -1), const Vector2d& frame_margin = Vector2d(0, 0));
20  Sprite(const Sprite& other);
21  Sprite& operator=(const Sprite& other);
22  ~Sprite();
23  void setFrameSize(const Vector2d& frame_size);
24  void setFrameMargin(const Vector2d& frame_margin);
25  Vector2d getFrameSize() const;
26  Vector2d getFrameMargin() const;
27  const Texture& getTexture() const;
28  Texture& getTexture();
29  void setCenter(const Vector2d& center);
30  const Vector2d& getCenter() const;
31 
32  private:
33  Texture m_texture;
34  Vector2d m_frame_size;
35  Vector2d m_frame_margin;
36  Vector2d m_center;
37  };
38 }
39 #endif
Definition: Texture.h:16
Definition: Sprite.h:15
Definition: Box2DPlugin.h:6
Definition: SpriteComponent.h:18
A 2D vector.
Definition: Vector2d.h:14