FIFE 2008.0
|
#include <rendererbase.h>
Public Member Functions | |
RendererBase (RenderBackend *renderbackend, int position) | |
RendererBase (const RendererBase &old) | |
virtual RendererBase * | clone ()=0 |
virtual | ~RendererBase () |
virtual void | render (Camera *cam, Layer *layer, RenderList &instances)=0 |
virtual std::string | getName ()=0 |
int | getPipelinePosition () const |
void | setPipelinePosition (int position) |
virtual void | setEnabled (bool enabled) |
virtual void | reset () |
bool | isEnabled () const |
void | setRendererListener (IRendererListener *listener) |
void | addActiveLayer (Layer *layer) |
void | removeActiveLayer (Layer *layer) |
void | clearActiveLayers () |
void | activateAllLayers (Map *elevation) |
bool | isActivedLayer (Layer *layer) |
std::list< Layer * > | getActiveLayers () const |
Base class for all view renderers View renderer renders one aspect of the view shown on screen
Definition at line 78 of file rendererbase.h.
FIFE::RendererBase::RendererBase | ( | RenderBackend * | renderbackend, |
int | position | ||
) |
Constructor
renderbackend | to use |
position | position for this renderer in rendering pipeline |
Definition at line 41 of file rendererbase.cpp.
References setPipelinePosition().
FIFE::RendererBase::RendererBase | ( | const RendererBase & | old | ) |
virtual FIFE::RendererBase::~RendererBase | ( | ) | [inline, virtual] |
Destructor
Definition at line 96 of file rendererbase.h.
void FIFE::RendererBase::activateAllLayers | ( | Map * | elevation | ) |
Activates all layers from given elevation
Definition at line 100 of file rendererbase.cpp.
References addActiveLayer(), clearActiveLayers(), and FIFE::Map::getLayers().
void FIFE::RendererBase::addActiveLayer | ( | Layer * | layer | ) |
Adds active layer to renderer. Only active layers are rendered
Definition at line 82 of file rendererbase.cpp.
Referenced by activateAllLayers().
void FIFE::RendererBase::clearActiveLayers | ( | ) |
Clears all active layers from renderer
Definition at line 92 of file rendererbase.cpp.
Referenced by activateAllLayers().
virtual RendererBase* FIFE::RendererBase::clone | ( | ) | [pure virtual] |
Makes copy of this renderer
Implemented in FIFE::CellSelectionRenderer.
std::list<Layer*> FIFE::RendererBase::getActiveLayers | ( | ) | const [inline] |
Returns list of activated layer
Definition at line 164 of file rendererbase.h.
virtual std::string FIFE::RendererBase::getName | ( | ) | [pure virtual] |
Name of the renderer
Implemented in FIFE::CellSelectionRenderer.
Referenced by FIFE::Camera::addRenderer(), and FIFE::Camera::onRendererEnabledChanged().
int FIFE::RendererBase::getPipelinePosition | ( | ) | const [inline] |
Gets renderer position in the rendering pipeline
Definition at line 117 of file rendererbase.h.
bool FIFE::RendererBase::isActivedLayer | ( | Layer * | layer | ) |
Returns if given layer is currently activated
Definition at line 96 of file rendererbase.cpp.
bool FIFE::RendererBase::isEnabled | ( | ) | const [inline] |
Is renderer enabled
Definition at line 136 of file rendererbase.h.
Referenced by FIFE::Camera::addRenderer(), and FIFE::Camera::onRendererEnabledChanged().
void FIFE::RendererBase::removeActiveLayer | ( | Layer * | layer | ) |
Removes active layer from renderer.
Definition at line 88 of file rendererbase.cpp.
virtual void FIFE::RendererBase::render | ( | Camera * | cam, |
Layer * | layer, | ||
RenderList & | instances | ||
) | [pure virtual] |
This method is called by the view to ask renderer to draw its rendering aspect based on given parameters. Renderers receive non-clipped instance stack since there is no way to know which information is relevant for the renderer. E.g. effect renderer might need to know offscreen instance locations to be able to draw radiation coming from some instance not visible on the screen.
cam | camera view to draw |
layer | current layer to be rendered |
instances | instances on the current layer @ see setPipelinePosition |
Implemented in FIFE::CellSelectionRenderer.
virtual void FIFE::RendererBase::reset | ( | ) | [inline, virtual] |
Resets information in the renderer
Reimplemented in FIFE::CellSelectionRenderer.
Definition at line 132 of file rendererbase.h.
void FIFE::RendererBase::setEnabled | ( | bool | enabled | ) | [virtual] |
Enables renderer
Definition at line 73 of file rendererbase.cpp.
References FIFE::IRendererListener::onRendererEnabledChanged().
Referenced by FIFE::CellSelectionRenderer::CellSelectionRenderer().
void FIFE::RendererBase::setPipelinePosition | ( | int | position | ) |
Sets renderer position in the rendering pipeline Pipeline position defines in which order view calls the renderers when update occurs Note that renderers are called once per rendered layer, thus to update the whole screen, renderer might receive multiple calls
Definition at line 64 of file rendererbase.cpp.
References FIFE::IRendererListener::onRendererPipelinePositionChanged().
Referenced by RendererBase().
void FIFE::RendererBase::setRendererListener | ( | IRendererListener * | listener | ) | [inline] |
Sets listener for renderer
Definition at line 140 of file rendererbase.h.
Referenced by FIFE::Camera::addRenderer().