// SPDX-License-Identifier: MIT // // ES-DE Frontend // GuiDetectDevice.h // // Detect input devices (keyboards, joysticks and gamepads). // #ifndef ES_CORE_GUIS_GUI_DETECT_DEVICE_H #define ES_CORE_GUIS_GUI_DETECT_DEVICE_H #include "GuiComponent.h" #include "components/ComponentGrid.h" #include "components/NinePatchComponent.h" class TextComponent; class GuiDetectDevice : public GuiComponent { public: GuiDetectDevice(bool firstRun, bool forcedConfig, const std::function<void()>& doneCallback); bool input(InputConfig* config, Input input) override; void update(int deltaTime) override; void onSizeChanged() override; private: bool mFirstRun; bool mForcedConfig; InputConfig* mHoldingConfig; int mHoldTime; Renderer* mRenderer; NinePatchComponent mBackground; ComponentGrid mGrid; std::shared_ptr<TextComponent> mTitle; std::shared_ptr<TextComponent> mMsg1; std::shared_ptr<TextComponent> mMsg2; std::shared_ptr<TextComponent> mDeviceInfo; std::shared_ptr<TextComponent> mDeviceHeld; std::function<void()> mDoneCallback; }; #endif // ES_CORE_GUIS_GUI_DETECT_DEVICE_H