The standard renderer manages a list of views and offers a specific support for OpenGL. More...
#include <OSDLStandardRenderer.h>
Public Member Functions | |
StandardRenderer (Video::Surface &screen, bool registerToScheduler=true) | |
Constructs a new standard renderer. | |
virtual | ~StandardRenderer () throw () |
Virtual destructor, no view is destroyed. | |
virtual void | registerView (Ceylan::MVC::BaseView &view) |
Registers specified view to this renderer. | |
virtual void | unregisterView (Ceylan::MVC::BaseView &view) |
Unregisters specified view to this renderer. | |
virtual void | render (Events::RenderingTick currentRenderingTick=0) |
Triggers the actual rendering of all views, for specified rendering tick, if any. | |
virtual void | onRenderingSkipped (Events::RenderingTick skippedRenderingTick) |
Allows the renderer to be aware that a rendering step had to be skipped. | |
virtual const std::string | toString (Ceylan::VerbosityLevels level=Ceylan::high) const |
Returns an user-friendly description of the state of this object. | |
Static Public Member Functions | |
static bool | HasExistingRootRenderer () |
Tells whether a root renderer is available. | |
static Renderer & | GetExistingRootRenderer () |
Returns the one and only one root renderer instance that may be already available. | |
static void | DeleteExistingRootRenderer () |
Deletes the existing root renderer. | |
static void | DeleteRootRenderer () |
Deletes the root renderer, if any. | |
Protected Attributes | |
Video::Surface * | _screen |
The screen surface that will have to be updated. | |
std::list < Ceylan::MVC::BaseView * > | _registeredViews |
Records all the currently registered views that shall be managed specifically by this renderer. | |
RenderCount | _renderingDone |
Counts the number of renderings achieved. | |
RenderCount | _renderingSkipped |
Counts the number of renderings skipped. | |
Events::RenderingTick | _lastRender |
Records the last rendering tick. | |
Private Member Functions | |
StandardRenderer (const StandardRenderer &source) | |
Copy constructor made private to ensure that it will never be called. | |
StandardRenderer & | operator= (const StandardRenderer &source) |
Assignment operator made private to ensure that it will never be called. | |
Static Private Attributes | |
static Renderer * | _internalRootRenderer |
The internal single instance of renderer, at the top of the renderer hierarchy, if any. |
The standard renderer manages a list of views and offers a specific support for OpenGL.
Any view is supposed to be registered only once, or not at all.
Definition at line 86 of file OSDLStandardRenderer.h.
StandardRenderer::StandardRenderer | ( | Video::Surface & | screen, | |
bool | registerToScheduler = true | |||
) | [explicit] |
Constructs a new standard renderer.
screen | the screen that shall be updated by this renderer. | |
registerToScheduler | iff true, then a scheduler is supposed to exist already, and this renderer is automatically registered to this scheduler so that it gets called at each rendering tick. |
RenderingException | if registerToScheduler is true and no scheduler is available. |
Definition at line 70 of file OSDLStandardRenderer.cc.
StandardRenderer::~StandardRenderer | ( | ) | throw () [virtual] |
Virtual destructor, no view is destroyed.
Definition at line 89 of file OSDLStandardRenderer.cc.
References _registeredViews, and OSDL::Video::Pixels::toString().
OSDL::Rendering::StandardRenderer::StandardRenderer | ( | const StandardRenderer & | source | ) | [explicit, private] |
Copy constructor made private to ensure that it will never be called.
The compiler should complain whenever this undefined constructor is called, implicitly or not.
void Renderer::DeleteExistingRootRenderer | ( | ) | [static, inherited] |
Deletes the existing root renderer.
RenderingException | if not renderer was available. |
Definition at line 185 of file OSDLRenderer.cc.
void Renderer::DeleteRootRenderer | ( | ) | [static, inherited] |
Deletes the root renderer, if any.
Definition at line 201 of file OSDLRenderer.cc.
Renderer & Renderer::GetExistingRootRenderer | ( | ) | [static, inherited] |
Returns the one and only one root renderer instance that may be already available.
RenderingException | if there is no root renderer already available. |
Definition at line 173 of file OSDLRenderer.cc.
Referenced by OSDL::Rendering::AudioRenderer::AudioRenderer(), OSDL::Events::EventsModule::enterBasicMainLoop(), and OSDL::Rendering::VideoRenderer::VideoRenderer().
bool Renderer::HasExistingRootRenderer | ( | ) | [static, inherited] |
Tells whether a root renderer is available.
Definition at line 164 of file OSDLRenderer.cc.
References OSDL::Rendering::Renderer::_internalRootRenderer.
Referenced by OSDL::Events::EventsModule::enterBasicMainLoop().
void StandardRenderer::onRenderingSkipped | ( | Events::RenderingTick | skippedRenderingTick | ) | [virtual] |
Allows the renderer to be aware that a rendering step had to be skipped.
All registered views will be notified of the skip.
skippedRenderingTick | the rendering tick that had to be skipped. |
Reimplemented from OSDL::Rendering::Renderer.
Definition at line 170 of file OSDLStandardRenderer.cc.
References OSDL_RENDER_LOG, and OSDL::Video::Pixels::toString().
StandardRenderer& OSDL::Rendering::StandardRenderer::operator= | ( | const StandardRenderer & | source | ) | [private] |
Assignment operator made private to ensure that it will never be called.
The compiler should complain whenever this undefined operator is called, implicitly or not.
void StandardRenderer::registerView | ( | Ceylan::MVC::BaseView & | view | ) | [virtual] |
Registers specified view to this renderer.
Ownership not taken.
view | the view to register. |
Definition at line 109 of file OSDLStandardRenderer.cc.
References _registeredViews.
virtual void OSDL::Rendering::StandardRenderer::render | ( | Events::RenderingTick | currentRenderingTick = 0 |
) | [virtual] |
Triggers the actual rendering of all views, for specified rendering tick, if any.
currentRenderingTick | the rendering tick corresponding to this render step. |
Reimplemented from OSDL::Rendering::Renderer.
const string StandardRenderer::toString | ( | Ceylan::VerbosityLevels | level = Ceylan::high |
) | const [virtual] |
Returns an user-friendly description of the state of this object.
level | the requested verbosity level. |
Reimplemented from OSDL::Rendering::Renderer.
Definition at line 189 of file OSDLStandardRenderer.cc.
References OSDL::Rendering::Renderer::_lastRender, OSDL::Rendering::Renderer::_renderingDone, and OSDL::Rendering::Renderer::_renderingSkipped.
void StandardRenderer::unregisterView | ( | Ceylan::MVC::BaseView & | view | ) | [virtual] |
Unregisters specified view to this renderer.
view | the view to unregister. |
RenderingException | if this view was not already registered. |
Definition at line 118 of file OSDLStandardRenderer.cc.
References _registeredViews.
Renderer* OSDL::Rendering::StandardRenderer::_internalRootRenderer [static, private] |
The internal single instance of renderer, at the top of the renderer hierarchy, if any.
Reimplemented from OSDL::Rendering::Renderer.
Definition at line 252 of file OSDLStandardRenderer.h.
Events::RenderingTick OSDL::Rendering::Renderer::_lastRender [protected, inherited] |
Records the last rendering tick.
Useful to check whether no rendering tick was missed.
Definition at line 287 of file OSDLRenderer.h.
Referenced by OSDL::Rendering::VideoRenderer::toString(), toString(), OSDL::Rendering::Renderer::toString(), OSDL::Rendering::MultimediaRenderer::toString(), and OSDL::Rendering::AudioRenderer::toString().
std::list<Ceylan::MVC::BaseView *> OSDL::Rendering::StandardRenderer::_registeredViews [protected] |
Records all the currently registered views that shall be managed specifically by this renderer.
Definition at line 212 of file OSDLStandardRenderer.h.
Referenced by registerView(), unregisterView(), and ~StandardRenderer().
RenderCount OSDL::Rendering::Renderer::_renderingDone [protected, inherited] |
Counts the number of renderings achieved.
Definition at line 269 of file OSDLRenderer.h.
Referenced by OSDL::Rendering::VideoRenderer::toString(), toString(), OSDL::Rendering::Renderer::toString(), OSDL::Rendering::MultimediaRenderer::toString(), and OSDL::Rendering::AudioRenderer::toString().
RenderCount OSDL::Rendering::Renderer::_renderingSkipped [protected, inherited] |
Counts the number of renderings skipped.
Definition at line 277 of file OSDLRenderer.h.
Referenced by OSDL::Rendering::VideoRenderer::toString(), toString(), OSDL::Rendering::Renderer::toString(), OSDL::Rendering::MultimediaRenderer::toString(), and OSDL::Rendering::AudioRenderer::toString().
Video::Surface* OSDL::Rendering::StandardRenderer::_screen [protected] |
The screen surface that will have to be updated.
Definition at line 201 of file OSDLStandardRenderer.h.