Hummingbird Framework
 All Classes Functions Variables Modules Pages
TextureManager.h
1 #ifndef HB_TEXTURE_MANAGER_H
2 #define HB_TEXTURE_MANAGER_H
3 #include <string>
4 #include <SFML/Graphics.hpp>
5 #include "hash_pair.h"
6 #include "../Core/ResourceManager.h"
7 
8 namespace hb
9 {
10  namespace detail
11  {
12  typedef std::pair<int, int> pair_int;
13  typedef std::pair<pair_int, pair_int> pair2_int;
14  typedef std::pair<std::string, pair2_int> tex_id;
15  }
16 
21  class TextureManager : public ResourceManager<TextureManager, sf::Texture, detail::tex_id>
22  {
23  public:
25  static detail::tex_id makeTexId(const std::string& path, const sf::IntRect& area);
27  bool isLoaded(const std::string& path, const sf::IntRect& area = sf::IntRect()) const;
28  void release(int id) override;
29  int getT404() const;
30 
31  private:
32  int t404;
33  };
34 }
35 #endif
Definition: TextureManager.h:21
Definition: Box2DPlugin.h:6
Class for efficiently managing loaded resources.
Definition: ResourceManager.h:18
void release(int id) override
Release a resource with identifier id.