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 
98  Sprite GetSpriteFromFile(const tbCore::tbString& textureFile, const PixelSpace& frameX = 0, const PixelSpace& frameY = 0,
99  const PixelSpace& frameWidth = 0, const PixelSpace& frameHeight = 0) const;
100 
111  Sprite GetSprite(const tbCore::tbString& spriteSheetName, const tbCore::tbString& spriteName) const;
112 
124  AnimatedSprite GetAnimatedSprite(const tbCore::tbString& spriteSheetName, const tbCore::tbString& spriteName) const;
125 
126  private:
127  typedef std::map<tbCore::tbString, SpriteSheet> SpriteSheetContainer;
128  SpriteSheetContainer mSpriteSheets;
129  };
130 
136 
137  }; /* namespace Graphics */
138 }; /* namespace TurtleBrains */
139 
141 
142 #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_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
Sprite GetSprite(const tbCore::tbString &spriteSheetName, const tbCore::tbString &spriteName) const
tbCore::uint16 PixelSpace
Definition: tb_texture_manager.h:33
bool LoadSpriteSheetFromFile(const tbCore::tbString &spriteSheetName, const tbCore::tbString &spriteSheetFile)
std::string tbString
Definition: tb_string.h:293
SpriteManager theSpriteManager
Definition: tb_animated_sprite.h:118
Definition: tb_sprite.h:145
Sprite GetSpriteFromFile(const tbCore::tbString &textureFile, const PixelSpace &frameX=0, const PixelSpace &frameY=0, const PixelSpace &frameWidth=0, const PixelSpace &frameHeight=0) const