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_DRAWABLE_HPP
00026 #define SFML_DRAWABLE_HPP
00027
00029
00031 #include <SFML/Graphics/Color.hpp>
00032
00033 class sfRenderWindow;
00034
00035
00040 class SFML_API sfDrawable
00041 {
00042 public :
00043
00054 sfDrawable(float Left = 0.f, float Top = 0.f, float Scale = 1.f, float Rotation = 0.f, const sfColor& Color = sfColor(255, 255, 255, 255));
00055
00060 virtual ~sfDrawable();
00061
00068 void SetLeft(float Left);
00069
00076 void SetTop(float Top);
00077
00084 void SetScale(float Scale);
00085
00092 void SetRotation(float Rotation);
00093
00102 void SetRotationCenter(float X, float Y);
00103
00110 void SetColor(const sfColor& Color);
00111
00118 float GetLeft() const;
00119
00126 float GetTop() const;
00127
00134 float GetScale() const;
00135
00142 float GetRotation() const;
00143
00150 const sfColor& GetColor() const;
00151
00159 void Move(float OffsetX, float OffsetY);
00160
00167 void Scale(float Factor);
00168
00175 void Rotate(float Angle);
00176
00177 private :
00178
00179 friend class sfRenderWindow;
00180
00187 void Draw(sfRenderWindow& Window);
00188
00195 virtual void Render(sfRenderWindow& Window) = 0;
00196
00198
00200 float myLeft;
00201 float myTop;
00202 float myScale;
00203 float myRotation;
00204 float myCenterX;
00205 float myCenterY;
00206 sfColor myColor;
00207 };
00208
00209
00210 #endif // SFML_DRAWABLE_HPP