ASAPCabinetFE
 
Loading...
Searching...
No Matches
Renderer Class Reference

Renders VPX table assets across playfield, backglass, DMD, and topper windows. More...

#include <renderer.h>

+ Inheritance diagram for Renderer:
+ Collaboration diagram for Renderer:

Public Member Functions

 Renderer (SDL_Renderer *playfieldRenderer, SDL_Renderer *backglassRenderer, SDL_Renderer *dmdRenderer, SDL_Renderer *topperRenderer)
 Constructs a Renderer instance with specified SDL renderers.
 
void render (IAssetManager &assets) override
 Renders assets to all display windows.
 
void setRenderers (IWindowManager *windowManager) override
 Updates the SDL renderers using the window manager.
 

Detailed Description

Renders VPX table assets across playfield, backglass, DMD, and topper windows.

This class implements the IRenderer interface to manage rendering operations for the playfield, backglass, DMD, and topper displays using dedicated SDL renderers. It fetches assets (textures, videos) from IAssetManager and updates renderers via IWindowManager.

Constructor & Destructor Documentation

◆ Renderer()

Renderer::Renderer ( SDL_Renderer *  playfieldRenderer,
SDL_Renderer *  backglassRenderer,
SDL_Renderer *  dmdRenderer,
SDL_Renderer *  topperRenderer 
)

Constructs a Renderer instance with specified SDL renderers.

Initializes the renderer with separate SDL renderers for playfield, backglass, DMD, and topper displays.

Parameters
playfieldRendererThe SDL renderer for the playfield display.
backglassRendererThe SDL renderer for the backglass display.
dmdRendererThe SDL renderer for the DMD display.
topperRendererThe SDL renderer for the topper display.

Member Function Documentation

◆ render()

void Renderer::render ( IAssetManager assets)
overridevirtual

Renders assets to all display windows.

Fetches textures and video frames from the asset manager and renders them to the playfield, backglass, DMD, and topper windows using their respective renderers.

Parameters
assetsThe asset manager providing textures and video players.

Implements IRenderer.

+ Here is the call graph for this function:

◆ setRenderers()

void Renderer::setRenderers ( IWindowManager windowManager)
overridevirtual

Updates the SDL renderers using the window manager.

Sets the renderers for playfield, backglass, DMD, and topper displays based on the current window configuration provided by the window manager.

Parameters
windowManagerThe window manager providing access to renderer contexts.

Implements IRenderer.

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: