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 Image;
00039
00044 class SFML_API Sprite : public Drawable
00045 {
00046 public :
00047
00052 Sprite();
00053
00064 Sprite(const Image& Img, const Vector2f& Position = Vector2f(0, 0), const Vector2f& Scale = Vector2f(1, 1), float Rotation = 0.f, const Color& Col = Color(255, 255, 255, 255));
00065
00072 void SetImage(const Image& Img);
00073
00081 void SetSubRect(const IntRect& SubRect);
00082
00091 void Resize(float Width, float Height);
00092
00100 void Resize(const Vector2f& Size);
00101
00108 void FlipX(bool Flipped);
00109
00116 void FlipY(bool Flipped);
00117
00124 const Image* GetImage() const;
00125
00132 const IntRect& GetSubRect() const;
00133
00140 Vector2f GetSize() const;
00141
00152 Color GetPixel(unsigned int X, unsigned int Y) const;
00153
00154 protected :
00155
00160 virtual void Render(RenderTarget& Target) const;
00161
00162 private :
00163
00165
00167 ResourcePtr<Image> myImage;
00168 IntRect mySubRect;
00169 bool myIsFlippedX;
00170 bool myIsFlippedY;
00171 };
00172
00173 }
00174
00175
00176 #endif // SFML_SPRITE_HPP