00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_SPRITE_HPP
00026 #define SFML_SPRITE_HPP
00027
00029
00031 #include <SFML/System/Resource.hpp>
00032 #include <SFML/Graphics/Drawable.hpp>
00033 #include <SFML/Graphics/Rect.hpp>
00034
00035
00036 namespace sf
00037 {
00038 class Texture;
00039
00045 class SFML_API Sprite : public Drawable
00046 {
00047 public :
00048
00055 Sprite();
00056
00063 explicit Sprite(const Texture& texture);
00064
00084 void SetTexture(const Texture& texture, bool adjustToNewSize = false);
00085
00098 void SetSubRect(const IntRect& rectangle);
00099
00115 void Resize(float width, float height);
00116
00131 void Resize(const Vector2f& size);
00132
00141 void FlipX(bool flipped);
00142
00151 void FlipY(bool flipped);
00152
00166 const Texture* GetTexture() const;
00167
00176 const IntRect& GetSubRect() const;
00177
00189 Vector2f GetSize() const;
00190
00191 protected :
00192
00200 virtual void Render(RenderTarget& target, Renderer& renderer) const;
00201
00202 private :
00203
00205
00207 ResourcePtr<Texture> myTexture;
00208 IntRect mySubRect;
00209 bool myIsFlippedX;
00210 bool myIsFlippedY;
00211 };
00212
00213 }
00214
00215
00216 #endif // SFML_SPRITE_HPP
00217
00218