raze/source/launcher/settingspage.h
2024-01-12 00:22:08 +01:00

47 lines
1.1 KiB
C++

#pragma once
#include <zwidget/core/widget.h>
#define RENDER_BACKENDS
class LauncherWindow;
class TextLabel;
class CheckboxLabel;
class ListView;
class SettingsPage : public Widget
{
public:
SettingsPage(LauncherWindow* launcher, int* autoloadflags);
void UpdateLanguage();
void Save();
private:
void OnLanguageChanged(int i);
void OnGeometryChanged() override;
LauncherWindow* Launcher = nullptr;
TextLabel* LangLabel = nullptr;
TextLabel* GeneralLabel = nullptr;
TextLabel* ExtrasLabel = nullptr;
CheckboxLabel* FullscreenCheckbox = nullptr;
CheckboxLabel* DisableAutoloadCheckbox = nullptr;
CheckboxLabel* DontAskAgainCheckbox = nullptr;
CheckboxLabel* LightsCheckbox = nullptr;
CheckboxLabel* BrightmapsCheckbox = nullptr;
CheckboxLabel* WidescreenCheckbox = nullptr;
#ifdef RENDER_BACKENDS
TextLabel* BackendLabel = nullptr;
CheckboxLabel* VulkanCheckbox = nullptr;
CheckboxLabel* OpenGLCheckbox = nullptr;
CheckboxLabel* GLESCheckbox = nullptr;
#endif
ListView* LangList = nullptr;
int* AutoloadFlags = nullptr;
TArray<std::pair<FString, FString>> languages;
bool hideLanguage = false;
};