cohtml::SystemRenderer
On this page
The SystemRenderer lives on the render thread and holds all resources shared between multiple Views belonging to the same System (font atlases, texture caches etc.)
#include <SystemRenderer.h>
Public Functions
Name | |
---|---|
virtual | ~SystemRenderer() |
virtual ViewRenderer * | CreateViewRenderer(View * owner, const ViewRendererSettings & settings) =0 Creates a new ViewRenderer used to draw a single View. |
virtual void | Destroy() =0 Destroys the SystemRenderer freeing all resources associated with it. |
virtual void | RegisterRenderThread(renoir::RendererBackend * backend) =0 Registers the SystemRenderer with a render thread and sets the rendering backend. |
virtual void | FreeRenderingResources() =0 Frees all rendering resources used by Cohtml that are shared in the System. |
Public Functions Documentation
function ~SystemRenderer
virtual ~SystemRenderer()
function CreateViewRenderer
virtual ViewRenderer * CreateViewRenderer(
View * owner,
const ViewRendererSettings & settings
) =0
Creates a new ViewRenderer used to draw a single View.
Parameters:
- owner the view that will be rendered by the new ViewRenderer
- settings settings of the new ViewRenderer
Return: the new ViewRenderer instance
Note: Can be called on the main (UI) thread
function Destroy
virtual void Destroy() =0
Destroys the SystemRenderer freeing all resources associated with it.
Note: All ViewRenderers created from this should be destroyed before
function RegisterRenderThread
virtual void RegisterRenderThread(
renoir::RendererBackend * backend
) =0
Registers the SystemRenderer with a render thread and sets the rendering backend.
Parameters:
- backend Backend to be used in the render thread
Note: You must call this on the render thread.
function FreeRenderingResources
virtual void FreeRenderingResources() =0
Frees all rendering resources used by Cohtml that are shared in the System.
See: cohtml::ViewRenderer::FreeRenderingResources
Note: system-wide shared rendering resources include textures, shaders, font glyphs, texture sampler objects, pipeline states. path buffers. Constant/vertex/index buffers are managed on a per-view basis and can be freed with cohtml::ViewRenderer::FreeRenderingResources