22 #ifndef FIFE_LIGHTRENDERER_H
23 #define FIFE_LIGHTRENDERER_H
48 virtual std::string
getName() = 0;
58 virtual std::vector<uint8_t>
getColor() {
return std::vector<uint8_t>(); };
78 virtual std::string
getName() {
return "image"; };
91 virtual std::string
getName() {
return "animation"; };
102 LightRendererSimpleLightInfo(
RendererNode n,
uint8_t intensity,
float radius, int32_t subdivisions,
float xstretch,
float ystretch,
uint8_t r,
uint8_t g,
uint8_t b, int32_t src, int32_t dst);
106 virtual std::string
getName() {
return "simple"; };
131 virtual std::string
getName() {
return "resize"; };
157 std::string
getName() {
return "LightRenderer"; }
165 void addSimpleLight(
const std::string &group,
RendererNode n,
uint8_t intensity,
float radius, int32_t subdivisions,
float xstretch,
float ystretch,
uint8_t r,
uint8_t g,
uint8_t b, int32_t src=-1, int32_t dst=-1);
170 std::vector<LightRendererElementInfo*>
getLightInfo(
const std::string &group);
171 void removeAll(
const std::string &group);
176 std::map<std::string, std::vector<LightRendererElementInfo*> >
m_groups;
virtual int32_t getSubdivisions()
Abstract interface for all the renderbackends.
std::list< std::string > getGroups()
virtual std::string getName()
void render(Camera *cam, Layer *layer, RenderList &instances)
This method is called by the view to ask renderer to draw its rendering aspect based on given paramet...
virtual std::string getName()
std::vector< RenderItem * > RenderList
virtual ~LightRendererSimpleLightInfo()
void setStencil(uint8_t stencil_ref)
virtual void render(Camera *cam, Layer *layer, RenderList &instances, RenderBackend *renderbackend)
void reset()
Resets information in the renderer.
LightRendererAnimationInfo(RendererNode n, AnimationPtr animation, int32_t src, int32_t dst)
LightRendererElementInfo(RendererNode n, int32_t src, int32_t dst)
virtual ~LightRendererImageInfo()
LightRendererImageInfo(RendererNode n, ImagePtr image, int32_t src, int32_t dst)
virtual std::vector< uint8_t > getColor()
virtual float getXStretch()
virtual void render(Camera *cam, Layer *layer, RenderList &instances, RenderBackend *renderbackend)
Interface to class owning the renderers Used to get correct subclass of renderer in scripting side (v...
Camera describes properties of a view port shown in the main screen Main screen can have multiple cam...
virtual std::string getName()=0
RendererBase * clone()
Makes copy of this renderer.
virtual ~LightRenderer()
Destructor.
int32_t getSubdivisions()
std::vector< LightRendererElementInfo * > getLightInfo(const std::string &group)
Base class for all view renderers View renderer renders one aspect of the view shown on screen...
virtual std::string getName()
virtual ~LightRendererElementInfo()
virtual void render(Camera *cam, Layer *layer, RenderList &instances, RenderBackend *renderbackend)
LightRendererResizeInfo(RendererNode n, ImagePtr image, int32_t width, int32_t height, int32_t src, int32_t dst)
void addSimpleLight(const std::string &group, RendererNode n, uint8_t intensity, float radius, int32_t subdivisions, float xstretch, float ystretch, uint8_t r, uint8_t g, uint8_t b, int32_t src=-1, int32_t dst=-1)
std::map< std::string, std::vector< LightRendererElementInfo * > > m_groups
static LightRenderer * getInstance(IRendererContainer *cnt)
Gets instance for interface access.
virtual void render(Camera *cam, Layer *layer, RenderList &instances, RenderBackend *renderbackend)
AnimationPtr getAnimation()
LightRendererSimpleLightInfo(RendererNode n, uint8_t intensity, float radius, int32_t subdivisions, float xstretch, float ystretch, uint8_t r, uint8_t g, uint8_t b, int32_t src, int32_t dst)
void addStencilTest(const std::string &group, uint8_t stencil_ref=0)
virtual ~LightRendererResizeInfo()
void resizeImage(const std::string &group, RendererNode n, ImagePtr image, int32_t width, int32_t height, int32_t src=-1, int32_t dst=-1)
void removeStencilTest(const std::string &group)
virtual ~LightRendererAnimationInfo()
std::vector< uint8_t > getColor()
virtual float getYStretch()
virtual void render(Camera *cam, Layer *layer, RenderList &instances, RenderBackend *renderbackend)=0
virtual float getRadius()
void addAnimation(const std::string &group, RendererNode n, AnimationPtr animation, int32_t src=-1, int32_t dst=-1)
void addImage(const std::string &group, RendererNode n, ImagePtr image, int32_t src=-1, int32_t dst=-1)
virtual std::string getName()
std::string getName()
Name of the renderer.
LightRenderer(RenderBackend *renderbackend, int32_t position)
constructor.