ASAPCabinetFE
 
Loading...
Searching...
No Matches
renderer.h
Go to the documentation of this file.
1
11#ifndef RENDERER_H
12#define RENDERER_H
13
14#include "irenderer.h"
15#include "ivideo_player.h"
16#include "config/settings.h" // Include Settings for passing by const reference
17#include <SDL.h>
18
27class Renderer : public IRenderer {
28public:
40 Renderer(SDL_Renderer* playfieldRenderer,
41 SDL_Renderer* backglassRenderer,
42 SDL_Renderer* dmdRenderer,
43 SDL_Renderer* topperRenderer);
44
53 void render(IAssetManager& assets) override;
54
63 void setRenderers(IWindowManager* windowManager) override;
64
65private:
66 SDL_Renderer* playfieldRenderer_;
67 SDL_Renderer* backglassRenderer_;
68 SDL_Renderer* dmdRenderer_;
69 SDL_Renderer* topperRenderer_;
70
88 void renderWindow(IAssetManager& assets, SDL_Renderer* renderer, const std::string& windowName,
89 bool isVisible, int mediaX, int mediaY, int mediaWidth, int mediaHeight,
90 double rotation, const Settings& settings);
91
92 // Individual render methods are kept for modularity
93 // They will now also pass the Settings object.
94 void renderPlayfieldWindow(IAssetManager& assets);
95 void renderBackglassWindow(IAssetManager& assets);
96 void renderDMDWindow(IAssetManager& assets);
97 void renderTopperWindow(IAssetManager& assets);
98};
99
100#endif // RENDERER_H
The IAssetManager interface provides methods to manage and access various assets used in the applicat...
Definition iasset_manager.h:36
Interface defining the rendering operations.
Definition irenderer.h:21
Interface for managing SDL windows and renderers.
Definition iwindow_manager.h:27
Renders VPX table assets across playfield, backglass, DMD, and topper windows.
Definition renderer.h:27
void setRenderers(IWindowManager *windowManager) override
Updates the SDL renderers using the window manager.
Definition renderer.cpp:17
void render(IAssetManager &assets) override
Renders assets to all display windows.
Definition renderer.cpp:28
Definition settings.h:12