Files
Blitz/include/client/gui/OptionsMenu.h
Persson-dev 8880056b1c
All checks were successful
Linux arm64 / Build (push) Successful in 5m17s
move Client to client namespace
2024-04-14 19:27:42 +02:00

44 lines
912 B
C++

#pragma once
#include "GuiWidget.h"
#include "blitz/misc/Time.h"
#include "client/config/BlitzConfig.h"
#include "client/input/InputManager.h"
#include <array>
#include <string>
namespace blitz {
namespace client {
class Client;
} // namespace 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};
input::KeyAction m_CurrentAction;
input::InputManager& m_InputManager;
public:
OptionsMenu(GuiWidget* parent, client::Client* client, input::InputManager& inputManager);
virtual ~OptionsMenu();
virtual void Render() override;
virtual void OnKeyDown(int key) override;
private:
std::string GetKeyActionCodeName(input::KeyAction);
void HotkeyBindingButton();
void HotkeyBindingPopUp();
};
} // namespace gui
} // namespace blitz