21#ifndef __IRENDERERPROVIDER_H__
22#define __IRENDERERPROVIDER_H__
25#include "renderer/rendererconfig.h"
28 namespace TileMap {
class ITileMap; }
29 namespace DrawSurface {
class IDrawSurface; }
69 virtual SunLight :: TileMap :: ITileMap*
GetTileMap(
const char *szTrigger ) = 0;
75 virtual SunLight :: DrawSurface :: IDrawSurface*
GetDrawSurface(
const char *szTrigger ) = 0;
90 virtual bool CreateRenderer(
const SunLight :: Renderer :: RendererConfig &config, std :: string *pError ) = 0;
Where the Lua bridge gets the renderer from.
Definition irendererprovider.h:48
virtual Origin GetOrigin(void)=0
How the current renderer came to exist (ORIGIN_NONE if it doesn't yet).
virtual SunLight::Renderer::RendererConfig GetDefaultConfig(void)=0
The configuration an implicitly created renderer gets (Scarab's defaults).
virtual SunLight::DrawSurface::IDrawSurface * GetDrawSurface(const char *szTrigger)=0
The draw surface, creating the default renderer first if none exists yet - see GetTileMap.
virtual SunLight::Renderer::RendererConfig GetEffectiveConfig(void)=0
The configuration the current renderer was actually created with (after –headless was applied),...
virtual ~IRendererProvider(void)
Definition irendererprovider.h:60
virtual void NoteWindowTitle(const std ::string &strTitle)=0
Record a window-title change, so the effective configuration stays live.
virtual SunLight::TileMap::ITileMap * GetTileMap(const char *szTrigger)=0
The tile map, creating the default renderer (and opening its window) first if none exists yet.
Origin
How the current renderer came to exist.
Definition irendererprovider.h:53
@ ORIGIN_CREATED
Definition irendererprovider.h:55
@ ORIGIN_LAZY_DEFAULT
Definition irendererprovider.h:56
@ ORIGIN_LAST
Definition irendererprovider.h:57
@ ORIGIN_NONE
Definition irendererprovider.h:54
virtual SunLight::DrawSurface::IDrawSurface * PeekDrawSurface(void)=0
The draw surface if a renderer already exists, else nullptr - never creates one. For readers that mus...
virtual bool IsHeadless(void)=0
Whether the process runs –headless (the null backend is forced).
virtual bool CreateRenderer(const SunLight ::Renderer ::RendererConfig &config, std ::string *pError)=0
Explicitly create the process's renderer (renderer_create) and open its window. Fails - with the reas...
Definition irendererprovider.h:32
Definition irendererprovider.h:27