BigSprite.hpp
Go to the documentation of this file.
1 //
3 // Thor C++ Library
4 // Copyright (c) 2011-2016 Jan Haller
5 //
6 // This software is provided 'as-is', without any express or implied
7 // warranty. In no event will the authors be held liable for any damages
8 // arising from the use of this software.
9 //
10 // Permission is granted to anyone to use this software for any purpose,
11 // including commercial applications, and to alter it and redistribute it
12 // freely, subject to the following restrictions:
13 //
14 // 1. The origin of this software must not be misrepresented; you must not
15 // claim that you wrote the original software. If you use this software
16 // in a product, an acknowledgment in the product documentation would be
17 // appreciated but is not required.
18 //
19 // 2. Altered source versions must be plainly marked as such, and must not be
20 // misrepresented as being the original software.
21 //
22 // 3. This notice may not be removed or altered from any source distribution.
23 //
25 
28 
29 #ifndef THOR_BIGSPRITE_HPP
30 #define THOR_BIGSPRITE_HPP
31 
32 #include <Thor/Config.hpp>
33 
34 #include <SFML/Graphics/Drawable.hpp>
35 #include <SFML/Graphics/Transformable.hpp>
36 #include <SFML/Graphics/Sprite.hpp>
37 
38 #include <vector>
39 
40 
41 namespace sf
42 {
43 
44  class RenderTarget;
45  class RenderStates;
46 
47 } // namespace sf
48 
49 
50 namespace thor
51 {
52 
53 class BigTexture;
54 
55 
58 
64 class THOR_API BigSprite : public sf::Drawable, public sf::Transformable
65 {
66  // ---------------------------------------------------------------------------------------------------------------------------
67  // Public member functions
68  public:
71  BigSprite();
72 
76  explicit BigSprite(const BigTexture& texture);
77 
80  void setTexture(const BigTexture& texture);
81 
84  void setColor(const sf::Color& color);
85 
88  sf::Color getColor() const;
89 
92  sf::FloatRect getLocalBounds() const;
93 
96  sf::FloatRect getGlobalBounds() const;
97 
98 
99  // ---------------------------------------------------------------------------------------------------------------------------
100  // Private member functions
101  private:
102  // Overrides sf::Drawable::draw()
103  virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const;
104 
105 
106  // ---------------------------------------------------------------------------------------------------------------------------
107  // Private variables
108  private:
109  std::vector<sf::Sprite> mSplitSprites;
110  sf::Vector2f mSize;
111  sf::Color mColor;
112 };
113 
115 
116 } // namespace thor
117 
118 #endif // THOR_BIGSPRITE_HPP
void setColor(T &object, const sf::Color &color)
Sets the color of a graphical object.
Definition: AnimationMap.hpp:42
Class for textures which are too big for sf::Texture.
Definition: BigTexture.hpp:58
Sprite using big textures.
Definition: BigSprite.hpp:64
Configuration header of the library.
Definition: BigSprite.hpp:41