2024-02-25 15:46:47 +01:00
|
|
|
#pragma once
|
2023-06-20 14:33:09 +10:00
|
|
|
|
|
|
|
#include "StarPane.hpp"
|
2024-12-18 22:26:59 -08:00
|
|
|
#include "StarMainInterfaceTypes.hpp"
|
|
|
|
#include "StarUniverseClient.hpp"
|
2023-06-20 14:33:09 +10:00
|
|
|
|
|
|
|
namespace Star {
|
|
|
|
|
|
|
|
STAR_CLASS(GraphicsMenu);
|
2024-12-18 22:26:59 -08:00
|
|
|
STAR_CLASS(ShadersMenu);
|
2023-06-20 14:33:09 +10:00
|
|
|
|
|
|
|
class GraphicsMenu : public Pane {
|
|
|
|
public:
|
2024-12-18 22:26:59 -08:00
|
|
|
GraphicsMenu(PaneManager* manager,UniverseClientPtr client);
|
2023-06-20 14:33:09 +10:00
|
|
|
|
|
|
|
void show() override;
|
|
|
|
void dismissed() override;
|
|
|
|
|
|
|
|
void toggleFullscreen();
|
|
|
|
|
|
|
|
private:
|
|
|
|
static StringList const ConfigKeys;
|
|
|
|
|
|
|
|
void initConfig();
|
|
|
|
void syncGui();
|
|
|
|
|
|
|
|
void apply();
|
|
|
|
void applyWindowSettings();
|
2024-12-18 22:26:59 -08:00
|
|
|
|
|
|
|
void displayShaders();
|
2023-06-20 14:33:09 +10:00
|
|
|
|
|
|
|
List<Vec2U> m_resList;
|
2024-05-25 12:52:07 +10:00
|
|
|
List<int> m_interfaceScaleList;
|
2023-06-20 14:33:09 +10:00
|
|
|
List<float> m_zoomList;
|
2023-11-28 11:04:45 -06:00
|
|
|
List<float> m_cameraSpeedList;
|
2023-06-20 14:33:09 +10:00
|
|
|
|
|
|
|
JsonObject m_localChanges;
|
2024-12-18 22:26:59 -08:00
|
|
|
|
|
|
|
ShadersMenuPtr m_shadersMenu;
|
|
|
|
PaneManager* m_paneManager;
|
2023-06-20 14:33:09 +10:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|