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_SFMLDRAWABLERENDERER
00024 #define H_SPK_SFMLDRAWABLERENDERER
00025
00026 #include "RenderingAPIs/SFML/SPK_SFMLRenderer.h"
00027
00028 namespace SPK
00029 {
00030 namespace SFML
00031 {
00067 class SPK_SFML_PREFIX SFMLDrawableRenderer : public SFMLRenderer
00068 {
00069 SPK_IMPLEMENT_REGISTERABLE(SFMLDrawableRenderer)
00070
00071 public :
00072
00074
00076
00083 SFMLDrawableRenderer(sf::Drawable* drawable = NULL,float scaleX = 1.0f,float scaleY = 1.0f);
00084
00093 static SFMLDrawableRenderer* create(sf::Drawable* drawable = NULL,float scaleX = 1.0f,float scaleY = 1.0f);
00094
00096
00098
00103 void setDrawable(sf::Drawable* drawable);
00104
00110 void setScale(float scaleX,float scaleY);
00111
00113
00115
00120 sf::Drawable* getDrawable() const;
00121
00126 float getScaleX() const;
00127
00132 float getScaleY() const;
00133
00134 private :
00135
00136 static const float RAD2DEG;
00137
00138 sf::Drawable* drawable;
00139 float scaleX;
00140 float scaleY;
00141
00142 void innerRender(const Group& group);
00143 };
00144
00145
00146 inline SFMLDrawableRenderer* SFMLDrawableRenderer::create(sf::Drawable* drawable,float scaleX,float scaleY)
00147 {
00148 SFMLDrawableRenderer* obj = new SFMLDrawableRenderer(drawable,scaleX,scaleY);
00149 registerObject(obj);
00150 return obj;
00151 }
00152
00153 inline void SFMLDrawableRenderer::setDrawable(sf::Drawable* drawable)
00154 {
00155 this->drawable = drawable;
00156 }
00157
00158 inline void SFMLDrawableRenderer::setScale(float scaleX,float scaleY)
00159 {
00160 this->scaleX = scaleX;
00161 this->scaleY = scaleY;
00162 }
00163
00164 inline sf::Drawable* SFMLDrawableRenderer::getDrawable() const
00165 {
00166 return drawable;
00167 }
00168
00169 inline float SFMLDrawableRenderer::getScaleX() const
00170 {
00171 return scaleX;
00172 }
00173
00174 inline float SFMLDrawableRenderer::getScaleY() const
00175 {
00176 return scaleY;
00177 }
00178 }}
00179
00180 #endif