11#ifndef INPUT_MANAGER_H
12#define INPUT_MANAGER_H
17#include "sound/isound_manager.h"
26#include <unordered_map>
84 size_t& currentIndex, std::vector<TableData>& tables,
85 bool& showConfig,
bool& showEditor,
bool& showVpsdb,
const std::string& exeDir,
IScreenshotManager* screenshotManager,
130 using ActionHandler = std::function<void()>;
140 void handleRegularEvents(
const SDL_Event& event);
149 void handleDoubleClick(
const SDL_Event& event);
156 size_t* currentIndex_;
157 std::vector<TableData>* tables_;
164 std::map<std::string, ActionHandler> actionHandlers_;
165 std::map<char, size_t> letterIndex_;
167 bool screenshotModeActive_;
168 std::unordered_map<Uint32, Uint32> lastClickTimes_;
169 bool inExternalAppMode_;
170 Uint32 lastExternalAppReturnTime_;
171 static const Uint32 EXTERNAL_APP_DEBOUNCE_TIME_MS = 500;
172 std::atomic<bool>* isLoadingTables_;
Manages the ImGui-based configuration UI.
Definition config_ui.h:35
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 keybind providers (forward declaration).
Definition ikeybind_provider.h:30
Interface for managing screenshot capture operations.
Definition iscreenshot_manager.h:24
Interface for managing sound operations.
Definition isound_manager.h:14
Interface for managing ASAP index file operations.
Definition itable_callbacks.h:26
Interface for launching VPX tables.
Definition itable_launcher.h:21
Interface for managing SDL windows and renderers.
Definition iwindow_manager.h:27
Defines the ConfigUI class for managing the ImGui-based configuration UI in ASAPCabinetFE.
Defines the IAssetManager interface for managing assets in ASAPCabinetFE.
Defines the IConfigService interface for managing configuration in ASAPCabinetFE.
Defines the IKeybindProvider interface for managing input bindings in ASAPCabinetFE.
Defines the IScreenshotManager interface for screenshot capture operations in ASAPCabinetFE.
Defines the ITableLauncher interface for launching VPX tables.
Defines the IWindowManager interface for managing SDL windows and renderers in ASAPCabinetFE.
Defines the TableData struct for storing VPX table metadata and media paths.