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_RENDERTARGET_HPP
00026 #define SFML_RENDERTARGET_HPP
00027
00029
00031 #include <SFML/Graphics/Color.hpp>
00032 #include <SFML/Graphics/View.hpp>
00033 #include <SFML/Graphics/Rect.hpp>
00034
00035
00036 namespace sf
00037 {
00038 class Drawable;
00039
00043 class SFML_API RenderTarget
00044 {
00045 public :
00046
00051 virtual ~RenderTarget();
00052
00059 void Clear(const Color& FillColor = Color(0, 0, 0));
00060
00067 virtual void Draw(const Drawable& Object);
00068
00075 virtual unsigned int GetWidth() const = 0;
00076
00083 virtual unsigned int GetHeight() const = 0;
00084
00091 void SetView(const View& NewView);
00092
00099 const View& GetView() const;
00100
00107 View& GetDefaultView();
00108
00120 void PreserveOpenGLStates(bool Preserve);
00121
00122 protected :
00123
00128 RenderTarget();
00129
00134 void Initialize();
00135
00136 private :
00137
00146 virtual bool Activate(bool Active) = 0;
00147
00152 void SetRenderStates();
00153
00155
00157 View myDefaultView;
00158 const View* myCurrentView;
00159 bool myPreserveStates;
00160 bool myIsDrawing;
00161 };
00162
00163 }
00164
00165
00166 #endif // SFML_RENDERTARGET_HPP