ASAPCabinetFE
 
Loading...
Searching...
No Matches
playfield_overlay.h
1#ifndef PLAYFIELD_OVERLAY_H
2#define PLAYFIELD_OVERLAY_H
3
4#include "imgui.h"
5#include "tables/table_data.h"
9
10#include <vector>
11#include <string>
12
25public:
40 PlayfieldOverlay(const std::vector<TableData>* tables, size_t* currentIndex,
41 IConfigService* configService, IWindowManager* windowManager,
42 IAssetManager* assetManager, std::function<void()> refreshUICallback);
43
52 void render();
53
60 bool isMetadataPanelVisible() const { return showMetadataPanel_; }
61
72 void updateSettings(const Settings& settings);
73
74 void ResetMetadataFlags();
75
76private:
77 const std::vector<TableData>* tables_;
78 size_t* currentIndex_;
79 [[maybe_unused]] IConfigService* configService_;
80 IWindowManager* windowManager_;
81 [[maybe_unused]] IAssetManager* assetManager_;
82 bool showMetadataPanel_;
83 bool resetMetadataFlags_ = false;
84 std::function<void()> refreshUICallback_;
85
93 void renderScrollbar();
94};
95
96#endif // PLAYFIELD_OVERLAY_H
The IAssetManager interface provides methods to manage and access various assets used in the applicat...
Definition iasset_manager.h:36
Interface for configuration services (forward declaration).
Definition iconfig_service.h:30
Interface for managing SDL windows and renderers.
Definition iwindow_manager.h:27
Manages ImGui-based UI overlays for the playfield display.
Definition playfield_overlay.h:24
void updateSettings(const Settings &settings)
Updates overlay settings.
Definition playfield_overlay.cpp:73
bool isMetadataPanelVisible() const
Checks if the metadata panel is visible.
Definition playfield_overlay.h:60
void render()
Renders all ImGui overlay elements.
Definition playfield_overlay.cpp:85
Defines the IAssetManager interface for managing assets in ASAPCabinetFE.
Defines the IConfigService interface for managing configuration in ASAPCabinetFE.
Defines the IWindowManager interface for managing SDL windows and renderers in ASAPCabinetFE.
Definition settings.h:12
Defines the TableData struct for storing VPX table metadata and media paths.