TurtleBrains  0.2.1
High quality, portable, C++ API for native application and game development.
tb_sprite_manager.h
1 
9 #ifndef _TurtleBrains_SpriteManager_h_
10 #define _TurtleBrains_SpriteManager_h_
11 
12 #include "tb_sprite.h"
13 #include "tb_animated_sprite.h"
14 #include "tb_sprite_sheet.h"
15 #include "../core/tb_noncopyable.h"
16 #include "../core/tb_string.h"
17 
18 #include <map>
19 
20 namespace TurtleBrains
21 {
22  namespace Core { class DynamicStructure; }
23 
24  namespace Graphics
25  {
26 
32  {
33  public:
38  SpriteManager(void);
39 
44  ~SpriteManager(void);
45 
71  bool LoadSpriteSheetFromFile(const tbCore::tbString& spriteSheetName, const tbCore::tbString& spriteSheetFile);
72 
80  TextureHandle GetSpriteSheetTextureHandle(const tbCore::tbString& spriteSheetName) const;
81 
92  SpriteFrame GetSpriteFrame(const tbCore::tbString& spriteSheetName, const tbCore::tbString& spriteName) const;
93 
111  Sprite GetSpriteFromFile(const tbCore::tbString& textureFile, const PixelSpace& frameX = 0, const PixelSpace& frameY = 0,
112  const PixelSpace& frameWidth = 0, const PixelSpace& frameHeight = 0) const;
113 
124  Sprite GetSprite(const tbCore::tbString& spriteSheetName, const tbCore::tbString& spriteName) const;
125 
137  AnimatedSprite GetAnimatedSprite(const tbCore::tbString& spriteSheetName, const tbCore::tbString& spriteName) const;
138 
148  void AddAnimationSequences(const tbCore::tbString& spriteSheetName, const tbCore::tbString& spriteName, AnimatedSprite& animatedSprite) const;
149 
150  private:
151  void AddAnimationSequences(const SpriteSheet& spriteSheet, const tbCore::tbString& spriteName, AnimatedSprite& animatedSprite) const;
152 
153  typedef std::map<tbCore::tbString, SpriteSheet> SpriteSheetContainer;
154  SpriteSheetContainer mSpriteSheets;
155  };
156 
162 
163  }; /* namespace Graphics */
164 }; /* namespace TurtleBrains */
165 
167 
168 #endif /* _TurtleBrains_SpriteManager_h_ */
TextureHandle GetSpriteSheetTextureHandle(const tbCore::tbString &spriteSheetName) const
Give the GameScene and Entities something to display, Text, Sprites and AnimatedSprites help bring th...
Definition: tb_sprite.h:29
Definition: tb_sprite_manager.h:31
unsigned int TextureHandle
Definition: tb_texture_manager.h:41
AnimatedSprite GetAnimatedSprite(const tbCore::tbString &spriteSheetName, const tbCore::tbString &spriteName) const
Definition: tb_noncopyable.h:22
Contains all functions, classes and helpers related to game/application development written by Tim "B...
Definition: tb_application_dialog.h:21
SpriteFrame GetSpriteFrame(const tbCore::tbString &spriteSheetName, const tbCore::tbString &spriteName) const
Sprite GetSprite(const tbCore::tbString &spriteSheetName, const tbCore::tbString &spriteName) const
tbCore::uint16 PixelSpace
Definition: tb_texture_manager.h:33
void AddAnimationSequences(const tbCore::tbString &spriteSheetName, const tbCore::tbString &spriteName, AnimatedSprite &animatedSprite) const
Definition: tb_sprite_sheet.h:33
bool LoadSpriteSheetFromFile(const tbCore::tbString &spriteSheetName, const tbCore::tbString &spriteSheetFile)
std::string tbString
Definition: tb_string.h:335
SpriteManager theSpriteManager
Definition: tb_animated_sprite.h:119
Definition: tb_sprite.h:128
Sprite GetSpriteFromFile(const tbCore::tbString &textureFile, const PixelSpace &frameX=0, const PixelSpace &frameY=0, const PixelSpace &frameWidth=0, const PixelSpace &frameHeight=0) const