FIFE
|
#include <cellrenderer.h>
Public Member Functions | |
CellRenderer (RenderBackend *renderbackend, int32_t position) | |
Constructor. More... | |
CellRenderer (const CellRenderer &old) | |
Copy Constructor. More... | |
RendererBase * | clone () |
Makes copy of this renderer. More... | |
virtual | ~CellRenderer () |
Destructor. More... | |
std::string | getName () |
Returns the renderer name. More... | |
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 parameters. More... | |
void | setBlockerColor (uint8_t r, uint8_t g, uint8_t b) |
Sets color that is used to visualize blocker. More... | |
void | setPathColor (uint8_t r, uint8_t g, uint8_t b) |
Sets color that is used to visualize paths. More... | |
void | setEnabledBlocking (bool enabled) |
Enables blocking visualization. More... | |
bool | isEnabledBlocking () |
Gets whether blocking visualization is enabled. More... | |
void | setEnabledFogOfWar (bool enabled) |
Enables Fog of War visualization. More... | |
bool | isEnabledFogOfWar () |
Gets whether Fog of War visualization is enabled. More... | |
void | setEnabledPathVisual (bool enabled) |
Enables path visualization. More... | |
bool | isEnabledPathVisual () |
Gets whether path visualization is enabled. More... | |
void | setFogOfWarLayer (Layer *layer) |
Sets the layer that is used for Fog of War visualization. More... | |
void | setConcealImage (ImagePtr image) |
Sets the image that is used for concealed spaces. More... | |
void | setMaskImage (ImagePtr image) |
Sets the fog image. More... | |
void | addPathVisual (Instance *instance) |
Adds a instance to path visualization. More... | |
void | removePathVisual (Instance *instance) |
Removes a instance from path visualization. More... | |
void | createFowMap (Camera *cam, Layer *layer) |
Creates render target for Fog of War. More... | |
void | addConcealImageToMap (Camera *cam, Point center, ImagePtr image) |
Adds conceal image to FoW render target. More... | |
void | addMaskImageToMap (Camera *cam, Point center, ImagePtr image) |
Adds mask/fog image to FoW render target. More... | |
Layer * | getFowLayer () |
Returns the layer that is used for Fog of War visualization. More... | |
void | setEnabledCost (const std::string &costId, bool enabled) |
Enables cost visualization. More... | |
bool | isEnabledCost (const std::string &costId) |
Gets whether a cost visualization is enabled. More... | |
void | setFont (IFont *font) |
Sets the font. More... | |
IFont * | getFont () |
Returns the font. More... | |
void | updateFowMap () |
Updates render target. More... | |
![]() | |
RendererBase (RenderBackend *renderbackend, int32_t position) | |
Constructor. More... | |
RendererBase (const RendererBase &old) | |
Copy Constructor. More... | |
virtual | ~RendererBase () |
Destructor. More... | |
int32_t | getPipelinePosition () const |
Gets renderer position in the rendering pipeline. More... | |
void | setPipelinePosition (int32_t 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. More... | |
virtual void | setEnabled (bool enabled) |
Enables renderer. More... | |
virtual void | reset () |
Resets information in the renderer. More... | |
bool | isEnabled () const |
Is renderer enabled. More... | |
void | setRendererListener (IRendererListener *listener) |
Sets listener for renderer. More... | |
void | addActiveLayer (Layer *layer) |
Adds active layer to renderer. More... | |
void | removeActiveLayer (Layer *layer) |
Removes active layer from renderer. More... | |
void | clearActiveLayers () |
Clears all active layers from renderer. More... | |
void | activateAllLayers (Map *elevation) |
Activates all layers from given elevation. More... | |
bool | isActivedLayer (Layer *layer) |
Returns if given layer is currently activated. More... | |
std::list< Layer * > | getActiveLayers () const |
Returns list of activated layer. More... | |
Static Public Member Functions | |
static CellRenderer * | getInstance (IRendererContainer *cnt) |
Gets instance for interface access. More... | |
Private Attributes | |
SDL_Color | m_blockerColor |
SDL_Color | m_pathColor |
bool | m_blockingEnabled |
bool | m_fowEnabled |
bool | m_pathVisualEnabled |
TargetRenderer * | m_targetRenderer |
RenderTargetPtr | m_fowTarget |
Layer * | m_fowLayer |
ImagePtr | m_concealImage |
ImagePtr | m_maskImage |
ImagePtr | m_fowImage |
IFont * | m_font |
std::vector< Instance * > | m_visualPaths |
std::set< std::string > | m_visualCosts |
Additional Inherited Members | |
![]() | |
RendererBase () | |
![]() | |
std::list< Layer * > | m_active_layers |
RenderBackend * | m_renderbackend |
Definition at line 42 of file cellrenderer.h.
FIFE::CellRenderer::CellRenderer | ( | RenderBackend * | renderbackend, |
int32_t | position | ||
) |
Constructor.
renderbackend | The renderbackend to use. |
position | The position for this renderer in rendering pipeline. @ see setPipelinePosition |
Definition at line 51 of file cellrenderer.cpp.
References m_blockerColor, m_blockingEnabled, m_font, m_fowEnabled, m_fowLayer, m_pathColor, m_pathVisualEnabled, FIFE::RendererBase::m_renderbackend, m_targetRenderer, and FIFE::RendererBase::setEnabled().
Referenced by clone().
FIFE::CellRenderer::CellRenderer | ( | const CellRenderer & | old | ) |
Copy Constructor.
Definition at line 69 of file cellrenderer.cpp.
References m_blockingEnabled, m_font, m_fowEnabled, m_fowLayer, m_pathVisualEnabled, FIFE::RendererBase::m_renderbackend, m_targetRenderer, and FIFE::RendererBase::setEnabled().
|
virtual |
Adds conceal image to FoW render target.
cam | The used camera. |
center | The coordinates. |
image | The used image. |
Definition at line 313 of file cellrenderer.cpp.
References FIFE::RenderTarget::addImage(), FIFE::Math< T >::Equal(), FIFE::SharedPtr< T >::get(), FIFE::Image::getHeight(), FIFE::Image::getWidth(), FIFE::Camera::getZoom(), m_fowTarget, and FIFE::RenderTarget::resizeImage().
Referenced by render().
Adds mask/fog image to FoW render target.
cam | The used camera. |
center | The coordinates. |
image | The used image. |
Definition at line 323 of file cellrenderer.cpp.
References FIFE::RenderTarget::addImage(), FIFE::Math< T >::Equal(), FIFE::SharedPtr< T >::get(), FIFE::Image::getHeight(), FIFE::Image::getWidth(), FIFE::Camera::getZoom(), m_fowTarget, and FIFE::RenderTarget::resizeImage().
Referenced by render().
void FIFE::CellRenderer::addPathVisual | ( | Instance * | instance | ) |
Adds a instance to path visualization.
The current path is automatically rendered.
instance | The instance's path is visualized. |
Definition at line 352 of file cellrenderer.cpp.
References m_visualPaths.
|
virtual |
Makes copy of this renderer.
Implements FIFE::RendererBase.
Definition at line 82 of file cellrenderer.cpp.
References CellRenderer().
Creates render target for Fog of War.
cam | The used camera. |
layer | The used layer. |
Definition at line 292 of file cellrenderer.cpp.
References FIFE::RenderTarget::addQuad(), FIFE::TargetRenderer::createRenderTarget(), FIFE::Camera::getViewPort(), FIFE::RectType< T >::h, FIFE::DynamicSingleton< ImageManager >::instance(), FIFE::ImageManager::loadBlank(), m_fowImage, m_fowTarget, m_targetRenderer, FIFE::TargetRenderer::setRenderTarget(), and FIFE::RectType< T >::w.
Referenced by render().
IFont * FIFE::CellRenderer::getFont | ( | ) |
Returns the font.
Definition at line 341 of file cellrenderer.cpp.
References m_font.
Layer * FIFE::CellRenderer::getFowLayer | ( | ) |
Returns the layer that is used for Fog of War visualization.
Definition at line 333 of file cellrenderer.cpp.
References m_fowLayer.
Referenced by FIFE::InstanceRenderer::renderAlreadySorted().
|
static |
Gets instance for interface access.
Definition at line 90 of file cellrenderer.cpp.
References FIFE::IRendererContainer::getRenderer().
|
virtual |
Returns the renderer name.
Implements FIFE::RendererBase.
Definition at line 94 of file cellrenderer.cpp.
bool FIFE::CellRenderer::isEnabledBlocking | ( | ) |
Gets whether blocking visualization is enabled.
Definition at line 272 of file cellrenderer.cpp.
References m_blockingEnabled.
bool FIFE::CellRenderer::isEnabledCost | ( | const std::string & | costId | ) |
Gets whether a cost visualization is enabled.
costId | The cost identifier as string. |
Definition at line 375 of file cellrenderer.cpp.
References m_visualCosts.
bool FIFE::CellRenderer::isEnabledFogOfWar | ( | ) |
Gets whether Fog of War visualization is enabled.
Definition at line 280 of file cellrenderer.cpp.
References m_fowEnabled.
Referenced by FIFE::InstanceRenderer::renderAlreadySorted().
bool FIFE::CellRenderer::isEnabledPathVisual | ( | ) |
Gets whether path visualization is enabled.
Definition at line 288 of file cellrenderer.cpp.
References m_pathVisualEnabled.
void FIFE::CellRenderer::removePathVisual | ( | Instance * | instance | ) |
Removes a instance from path visualization.
instance | The instance's path is visualized. |
Definition at line 356 of file cellrenderer.cpp.
References m_visualPaths.
|
virtual |
This method is called by the view to ask renderer to draw its rendering aspect based on given parameters.
cam | Camera view to draw |
layer | Current layer to be rendered |
instances | Instances on the current layer |
Implements FIFE::RendererBase.
Definition at line 98 of file cellrenderer.cpp.
References FIFE::_log, addConcealImageToMap(), addMaskImageToMap(), FIFE::CELLV_CONCEALED, FIFE::CELLV_MASKED, createFowMap(), FIFE::CTYPE_NO_BLOCKER, FIFE::RenderBackend::drawLine(), FIFE::Math< T >::Equal(), FL_WARN, FIFE::SharedPtr< T >::get(), FIFE::IFont::getAsImage(), FIFE::Layer::getCellCache(), FIFE::CellCache::getCellCosts(), FIFE::Layer::getCellGrid(), FIFE::CellCache::getCellsInRect(), FIFE::CellCache::getCost(), FIFE::Image::getHeight(), FIFE::Camera::getLayerViewPort(), FIFE::Location::getMapCoordinates(), FIFE::Route::getPath(), FIFE::CellGrid::getVertices(), FIFE::Camera::getViewPort(), FIFE::Image::getWidth(), FIFE::Camera::getZoom(), FIFE::RectType< T >::h, FIFE::intPt2doublePt(), FIFE::CellCache::isUpdated(), FIFE::Camera::isUpdated(), m_blockerColor, m_blockingEnabled, m_concealImage, m_font, m_fowEnabled, m_fowImage, m_fowLayer, m_maskImage, m_pathColor, m_pathVisualEnabled, FIFE::RendererBase::m_renderbackend, m_visualCosts, m_visualPaths, FIFE::Image::render(), FIFE::Location::setLayerCoordinates(), FIFE::CellGrid::toMapCoordinates(), FIFE::Camera::toScreenCoordinates(), updateFowMap(), FIFE::RectType< T >::w, FIFE::PointType2D< T >::x, FIFE::RectType< T >::x, FIFE::PointType3D< T >::x, FIFE::PointType2D< T >::y, FIFE::RectType< T >::y, and FIFE::PointType3D< T >::y.
void FIFE::CellRenderer::setBlockerColor | ( | uint8_t | r, |
uint8_t | g, | ||
uint8_t | b | ||
) |
Sets color that is used to visualize blocker.
r | The value for red, range 0-255. |
g | The value for green, range 0-255. |
b | The value for blue, range 0-255. |
Definition at line 252 of file cellrenderer.cpp.
References m_blockerColor.
void FIFE::CellRenderer::setConcealImage | ( | ImagePtr | image | ) |
Sets the image that is used for concealed spaces.
image | The used image. |
Definition at line 305 of file cellrenderer.cpp.
References m_concealImage.
void FIFE::CellRenderer::setEnabledBlocking | ( | bool | enabled | ) |
Enables blocking visualization.
enabled | A bool that enables or disables the visualization. |
Definition at line 268 of file cellrenderer.cpp.
References m_blockingEnabled.
void FIFE::CellRenderer::setEnabledCost | ( | const std::string & | costId, |
bool | enabled | ||
) |
Enables cost visualization.
costId | The cost identifier as string. |
enabled | A bool that enables or disables the visualization. |
Definition at line 367 of file cellrenderer.cpp.
References m_visualCosts.
void FIFE::CellRenderer::setEnabledFogOfWar | ( | bool | enabled | ) |
Enables Fog of War visualization.
enabled | A bool that enables or disables the visualization. |
Definition at line 276 of file cellrenderer.cpp.
References m_fowEnabled.
void FIFE::CellRenderer::setEnabledPathVisual | ( | bool | enabled | ) |
Enables path visualization.
enabled | A bool that enables or disables the visualization. |
Definition at line 284 of file cellrenderer.cpp.
References m_pathVisualEnabled.
void FIFE::CellRenderer::setFogOfWarLayer | ( | Layer * | layer | ) |
Sets the layer that is used for Fog of War visualization.
layer | The layer that is used for visualization. |
Definition at line 264 of file cellrenderer.cpp.
References m_fowLayer.
void FIFE::CellRenderer::setFont | ( | IFont * | font | ) |
Sets the font.
font | The used font. |
Definition at line 337 of file cellrenderer.cpp.
References m_font.
void FIFE::CellRenderer::setMaskImage | ( | ImagePtr | image | ) |
Sets the fog image.
image | The used image. |
Definition at line 309 of file cellrenderer.cpp.
References m_maskImage.
void FIFE::CellRenderer::setPathColor | ( | uint8_t | r, |
uint8_t | g, | ||
uint8_t | b | ||
) |
Sets color that is used to visualize paths.
r | The value for red, range 0-255. |
g | The value for green, range 0-255. |
b | The value for blue, range 0-255. |
Definition at line 258 of file cellrenderer.cpp.
References m_pathColor.
void FIFE::CellRenderer::updateFowMap | ( | ) |
Updates render target.
Definition at line 345 of file cellrenderer.cpp.
References m_fowTarget, m_targetRenderer, FIFE::RenderTarget::removeAll(), FIFE::TargetRenderer::render(), and FIFE::TargetRenderer::setRenderTarget().
Referenced by render().
|
private |
Definition at line 225 of file cellrenderer.h.
Referenced by CellRenderer(), render(), and setBlockerColor().
|
private |
Definition at line 227 of file cellrenderer.h.
Referenced by CellRenderer(), isEnabledBlocking(), render(), and setEnabledBlocking().
|
private |
Definition at line 234 of file cellrenderer.h.
Referenced by render(), and setConcealImage().
|
private |
Definition at line 237 of file cellrenderer.h.
Referenced by CellRenderer(), getFont(), render(), and setFont().
|
private |
Definition at line 228 of file cellrenderer.h.
Referenced by CellRenderer(), isEnabledFogOfWar(), render(), and setEnabledFogOfWar().
|
private |
Definition at line 236 of file cellrenderer.h.
Referenced by createFowMap(), and render().
|
private |
Definition at line 233 of file cellrenderer.h.
Referenced by CellRenderer(), getFowLayer(), render(), and setFogOfWarLayer().
|
private |
Definition at line 232 of file cellrenderer.h.
Referenced by addConcealImageToMap(), addMaskImageToMap(), createFowMap(), and updateFowMap().
|
private |
Definition at line 235 of file cellrenderer.h.
Referenced by render(), and setMaskImage().
|
private |
Definition at line 226 of file cellrenderer.h.
Referenced by CellRenderer(), render(), and setPathColor().
|
private |
Definition at line 229 of file cellrenderer.h.
Referenced by CellRenderer(), isEnabledPathVisual(), render(), and setEnabledPathVisual().
|
private |
Definition at line 231 of file cellrenderer.h.
Referenced by CellRenderer(), createFowMap(), updateFowMap(), and ~CellRenderer().
|
private |
Definition at line 240 of file cellrenderer.h.
Referenced by isEnabledCost(), render(), and setEnabledCost().
|
private |
Definition at line 239 of file cellrenderer.h.
Referenced by addPathVisual(), removePathVisual(), and render().