00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00021
00022
00023 #ifndef H_SPK_SFMLSYSTEM
00024 #define H_SPK_SFMLSYSTEM
00025
00026 #include "RenderingAPIs/SFML/SPK_SFML_DEF.h"
00027 #include "Core/SPK_System.h"
00028
00029 namespace SPK
00030 {
00031 namespace SFML
00032 {
00061 class SPK_SFML_PREFIX SFMLSystem : public System,public sf::Drawable
00062 {
00063 SPK_IMPLEMENT_REGISTERABLE(SFMLSystem)
00064
00065 public :
00066
00068
00070
00076 SFMLSystem(bool worldTransformed = true,sf::RenderTarget* renderTarget = NULL);
00077
00085 static SFMLSystem* create(bool worldTransformed = true,sf::RenderTarget* renderTarget = NULL);
00086
00088
00090
00098 void setRenderTarget(sf::RenderTarget* target);
00099
00101
00103
00108 sf::RenderTarget* getRenderTarget() const;
00109
00121 bool isWorldTransformed() const;
00122
00124
00126
00127 virtual bool update(float deltaTime);
00128 virtual void render() const;
00129
00130 private :
00131
00132 sf::RenderTarget* target;
00133 const bool worldTransformed;
00134
00135
00136 void Render(sf::RenderTarget& target) const;
00137 };
00138
00139
00140 inline SFMLSystem* SFMLSystem::create(bool worldTransformed,sf::RenderTarget* renderTarget)
00141 {
00142 SFMLSystem* obj = new SFMLSystem(worldTransformed,renderTarget);
00143 registerObject(obj);
00144 return obj;
00145 }
00146
00147 inline void SFMLSystem::setRenderTarget(sf::RenderTarget* target)
00148 {
00149 this->target = target;
00150 }
00151
00152 inline sf::RenderTarget* SFMLSystem::getRenderTarget() const
00153 {
00154 return target;
00155 }
00156
00157 inline bool SFMLSystem::isWorldTransformed() const
00158 {
00159 return worldTransformed;
00160 }
00161 }}
00162
00163 #endif