Files
Blitz/include/client/gui/OptionsMenu.h
Persson-dev 27a76519a3
All checks were successful
Linux arm64 / Build (push) Successful in 5m6s
Suppressions d'erreurs Valgrind (#47)
Reviewed-on: #47
Co-authored-by: Persson-dev <sim16.prib@gmail.com>
Co-committed-by: Persson-dev <sim16.prib@gmail.com>
2024-04-12 10:54:59 +02:00

42 lines
850 B
C++

#pragma once
#include "GuiWidget.h"
#include "blitz/misc/Time.h"
#include "client/config/BlitzConfig.h"
#include "client/display/InputManager.h"
#include <array>
#include <string>
namespace blitz {
class Client;
namespace gui {
class OptionsMenu : public GuiWidget, public input::InputListener {
private:
bool m_ShowFPS;
bool m_VSync;
bool m_IsKeyPopupOpen;
bool m_KeyPopupShouldClose;
utils::Timer m_Timer{100};
KeyAction m_CurrentAction;
input::InputManager& m_InputManager;
public:
OptionsMenu(GuiWidget* parent, Client* client, input::InputManager& inputManager);
virtual ~OptionsMenu();
virtual void Render() override;
virtual void OnKeyDown(int key) override;
private:
std::string GetKeyActionCodeName(KeyAction);
void HotkeyBindingButton();
void HotkeyBindingPopUp();
};
} // namespace gui
} // namespace blitz