Add tags to all our UI screens. Useful to debug UI problems.

This commit is contained in:
Henrik Rydgård 2022-09-16 10:14:00 +02:00
parent ca2962beab
commit 9f3851678e
29 changed files with 152 additions and 54 deletions

View file

@ -71,7 +71,7 @@ public:
// what screen it is.
virtual void *dialogData() { return 0; }
virtual std::string tag() const { return std::string(""); }
virtual const char *tag() const = 0;
virtual bool isTransparent() const { return false; }
virtual bool isTopLevel() const { return false; }

View file

@ -136,7 +136,7 @@ public:
void SetHiddenChoices(std::set<int> hidden) {
hidden_ = hidden;
}
virtual std::string tag() const override { return std::string("listpopup"); }
const char *tag() const override { return "listpopup"; }
UI::Event OnChoice;
@ -187,6 +187,8 @@ public:
disabled_ = *value_ < 0;
}
const char *tag() const { return "SliderPopup"; }
Event OnChange;
private:
@ -214,6 +216,8 @@ public:
: PopupScreen(title, "OK", "Cancel"), units_(units), value_(value), originalValue_(*value), minValue_(minValue), maxValue_(maxValue), step_(step), changing_(false), liveUpdate_(liveUpdate) {}
void CreatePopupContents(UI::ViewGroup *parent) override;
const char *tag() const { return "SliderFloatPopup"; }
Event OnChange;
private:
@ -241,6 +245,8 @@ public:
: PopupScreen(title, "OK", "Cancel"), value_(value), placeholder_(placeholder), maxLen_(maxLen) {}
virtual void CreatePopupContents(ViewGroup *parent) override;
const char *tag() const { return "TextEditPopup"; }
Event OnChange;
private:

View file

@ -56,6 +56,8 @@ public:
parent->Add(scroll);
}
const char *tag() const override { return "ButtonShape"; }
private:
int *setting_;
};
@ -84,6 +86,8 @@ public:
parent->Add(scroll);
}
const char *tag() const override { return "ButtonIcon"; }
private:
int *setting_;
};

View file

@ -28,6 +28,8 @@ class ComboKeyScreen : public UIDialogScreenWithBackground {
public:
ComboKeyScreen(int id): id_(id) {}
const char *tag() const override { return "ComboKey"; }
void CreateViews() override;
void onFinish(DialogResult result) override;

View file

@ -35,7 +35,7 @@ class SingleControlMapper;
class ControlMappingScreen : public UIDialogScreenWithBackground {
public:
ControlMappingScreen() {}
std::string tag() const override { return "control mapping"; }
const char *tag() const override { return "ControlMapping"; }
protected:
void CreateViews() override;
@ -47,7 +47,7 @@ private:
UI::EventReturn OnAutoConfigure(UI::EventParams &params);
UI::EventReturn OnVisualizeMapping(UI::EventParams &params);
virtual void dialogFinished(const Screen *dialog, DialogResult result) override;
void dialogFinished(const Screen *dialog, DialogResult result) override;
UI::ScrollView *rightScroll_;
std::vector<SingleControlMapper *> mappers_;
@ -61,17 +61,19 @@ public:
pspBtn_ = btn;
}
virtual bool key(const KeyInput &key) override;
virtual bool axis(const AxisInput &axis) override;
const char *tag() const override { return "KeyMappingNewKey"; }
bool key(const KeyInput &key) override;
bool axis(const AxisInput &axis) override;
void SetDelay(float t);
protected:
void CreatePopupContents(UI::ViewGroup *parent) override;
virtual bool FillVertical() const override { return false; }
virtual bool ShowButtons() const override { return true; }
virtual void OnCompleted(DialogResult result) override {}
bool FillVertical() const override { return false; }
bool ShowButtons() const override { return true; }
void OnCompleted(DialogResult result) override {}
private:
int pspBtn_;
@ -87,6 +89,8 @@ public:
pspBtn_ = btn;
}
const char *tag() const override { return "KeyMappingNewMouseKey"; }
bool key(const KeyInput &key) override;
bool axis(const AxisInput &axis) override;
@ -114,6 +118,8 @@ public:
void update() override;
const char *tag() const override { return "AnalogSetup"; }
protected:
void CreateViews() override;
@ -144,6 +150,8 @@ public:
bool key(const KeyInput &key) override;
bool axis(const AxisInput &axis) override;
const char *tag() const override { return "TouchTest"; }
protected:
struct TrackedTouch {
int id;
@ -171,6 +179,8 @@ class VisualMappingScreen : public UIDialogScreenWithBackground {
public:
VisualMappingScreen() {}
const char *tag() const override { return "VisualMapping"; }
protected:
void CreateViews() override;

View file

@ -41,6 +41,8 @@ public:
void update() override;
void onFinish(DialogResult result) override;
const char *tag() const override { return "CwCheat"; }
protected:
void CreateViews() override;

View file

@ -85,7 +85,7 @@ static const char *logLevelList[] = {
"Verb."
};
void DevMenu::CreatePopupContents(UI::ViewGroup *parent) {
void DevMenuScreen::CreatePopupContents(UI::ViewGroup *parent) {
using namespace UI;
auto dev = GetI18NCategory("Developer");
auto sy = GetI18NCategory("System");
@ -94,25 +94,25 @@ void DevMenu::CreatePopupContents(UI::ViewGroup *parent) {
LinearLayout *items = new LinearLayout(ORIENT_VERTICAL);
#if !defined(MOBILE_DEVICE)
items->Add(new Choice(dev->T("Log View")))->OnClick.Handle(this, &DevMenu::OnLogView);
items->Add(new Choice(dev->T("Log View")))->OnClick.Handle(this, &DevMenuScreen::OnLogView);
#endif
items->Add(new Choice(dev->T("Logging Channels")))->OnClick.Handle(this, &DevMenu::OnLogConfig);
items->Add(new Choice(sy->T("Developer Tools")))->OnClick.Handle(this, &DevMenu::OnDeveloperTools);
items->Add(new Choice(dev->T("Jit Compare")))->OnClick.Handle(this, &DevMenu::OnJitCompare);
items->Add(new Choice(dev->T("Shader Viewer")))->OnClick.Handle(this, &DevMenu::OnShaderView);
items->Add(new Choice(dev->T("Logging Channels")))->OnClick.Handle(this, &DevMenuScreen::OnLogConfig);
items->Add(new Choice(sy->T("Developer Tools")))->OnClick.Handle(this, &DevMenuScreen::OnDeveloperTools);
items->Add(new Choice(dev->T("Jit Compare")))->OnClick.Handle(this, &DevMenuScreen::OnJitCompare);
items->Add(new Choice(dev->T("Shader Viewer")))->OnClick.Handle(this, &DevMenuScreen::OnShaderView);
if (g_Config.iGPUBackend == (int)GPUBackend::VULKAN) {
// TODO: Make a new allocator visualizer for VMA.
// items->Add(new CheckBox(&g_Config.bShowAllocatorDebug, dev->T("Allocator Viewer")));
items->Add(new CheckBox(&g_Config.bShowGpuProfile, dev->T("GPU Profile")));
}
items->Add(new Choice(dev->T("Toggle Freeze")))->OnClick.Handle(this, &DevMenu::OnFreezeFrame);
items->Add(new Choice(dev->T("Dump Frame GPU Commands")))->OnClick.Handle(this, &DevMenu::OnDumpFrame);
items->Add(new Choice(dev->T("Toggle Audio Debug")))->OnClick.Handle(this, &DevMenu::OnToggleAudioDebug);
items->Add(new Choice(dev->T("Toggle Freeze")))->OnClick.Handle(this, &DevMenuScreen::OnFreezeFrame);
items->Add(new Choice(dev->T("Dump Frame GPU Commands")))->OnClick.Handle(this, &DevMenuScreen::OnDumpFrame);
items->Add(new Choice(dev->T("Toggle Audio Debug")))->OnClick.Handle(this, &DevMenuScreen::OnToggleAudioDebug);
#ifdef USE_PROFILER
items->Add(new CheckBox(&g_Config.bShowFrameProfiler, dev->T("Frame Profiler"), ""));
#endif
items->Add(new CheckBox(&g_Config.bDrawFrameGraph, dev->T("Draw Frametimes Graph")));
items->Add(new Choice(dev->T("Reset limited logging")))->OnClick.Handle(this, &DevMenu::OnResetLimitedLogging);
items->Add(new Choice(dev->T("Reset limited logging")))->OnClick.Handle(this, &DevMenuScreen::OnResetLimitedLogging);
scroll->Add(items);
parent->Add(scroll);
@ -123,48 +123,48 @@ void DevMenu::CreatePopupContents(UI::ViewGroup *parent) {
}
}
UI::EventReturn DevMenu::OnToggleAudioDebug(UI::EventParams &e) {
UI::EventReturn DevMenuScreen::OnToggleAudioDebug(UI::EventParams &e) {
g_Config.bShowAudioDebug = !g_Config.bShowAudioDebug;
return UI::EVENT_DONE;
}
UI::EventReturn DevMenu::OnResetLimitedLogging(UI::EventParams &e) {
UI::EventReturn DevMenuScreen::OnResetLimitedLogging(UI::EventParams &e) {
Reporting::ResetCounts();
return UI::EVENT_DONE;
}
UI::EventReturn DevMenu::OnLogView(UI::EventParams &e) {
UI::EventReturn DevMenuScreen::OnLogView(UI::EventParams &e) {
UpdateUIState(UISTATE_PAUSEMENU);
screenManager()->push(new LogScreen());
return UI::EVENT_DONE;
}
UI::EventReturn DevMenu::OnLogConfig(UI::EventParams &e) {
UI::EventReturn DevMenuScreen::OnLogConfig(UI::EventParams &e) {
UpdateUIState(UISTATE_PAUSEMENU);
screenManager()->push(new LogConfigScreen());
return UI::EVENT_DONE;
}
UI::EventReturn DevMenu::OnDeveloperTools(UI::EventParams &e) {
UI::EventReturn DevMenuScreen::OnDeveloperTools(UI::EventParams &e) {
UpdateUIState(UISTATE_PAUSEMENU);
screenManager()->push(new DeveloperToolsScreen());
return UI::EVENT_DONE;
}
UI::EventReturn DevMenu::OnJitCompare(UI::EventParams &e) {
UI::EventReturn DevMenuScreen::OnJitCompare(UI::EventParams &e) {
UpdateUIState(UISTATE_PAUSEMENU);
screenManager()->push(new JitCompareScreen());
return UI::EVENT_DONE;
}
UI::EventReturn DevMenu::OnShaderView(UI::EventParams &e) {
UI::EventReturn DevMenuScreen::OnShaderView(UI::EventParams &e) {
UpdateUIState(UISTATE_PAUSEMENU);
if (gpu) // Avoid crashing if chosen while the game is being loaded.
screenManager()->push(new ShaderListScreen());
return UI::EVENT_DONE;
}
UI::EventReturn DevMenu::OnFreezeFrame(UI::EventParams &e) {
UI::EventReturn DevMenuScreen::OnFreezeFrame(UI::EventParams &e) {
if (PSP_CoreParameter().frozen) {
PSP_CoreParameter().frozen = false;
} else {
@ -173,12 +173,12 @@ UI::EventReturn DevMenu::OnFreezeFrame(UI::EventParams &e) {
return UI::EVENT_DONE;
}
UI::EventReturn DevMenu::OnDumpFrame(UI::EventParams &e) {
UI::EventReturn DevMenuScreen::OnDumpFrame(UI::EventParams &e) {
gpu->DumpNextFrame();
return UI::EVENT_DONE;
}
void DevMenu::dialogFinished(const Screen *dialog, DialogResult result) {
void DevMenuScreen::dialogFinished(const Screen *dialog, DialogResult result) {
UpdateUIState(UISTATE_INGAME);
// Close when a subscreen got closed.
// TODO: a bug in screenmanager causes this not to work here.

View file

@ -28,9 +28,11 @@
#include "UI/MiscScreens.h"
#include "GPU/Common/ShaderCommon.h"
class DevMenu : public PopupScreen {
class DevMenuScreen : public PopupScreen {
public:
DevMenu(std::shared_ptr<I18NCategory> i18n) : PopupScreen(i18n->T("Dev Tools")) {}
DevMenuScreen(std::shared_ptr<I18NCategory> i18n) : PopupScreen(i18n->T("Dev Tools")) {}
const char *tag() const override { return "DevMenu"; }
void CreatePopupContents(UI::ViewGroup *parent) override;
void dialogFinished(const Screen *dialog, DialogResult result) override;
@ -50,7 +52,9 @@ protected:
class JitDebugScreen : public UIDialogScreenWithBackground {
public:
JitDebugScreen() {}
virtual void CreateViews() override;
void CreateViews() override;
const char *tag() const override { return "JitDebug"; }
private:
UI::EventReturn OnEnableAll(UI::EventParams &e);
@ -60,7 +64,9 @@ private:
class LogConfigScreen : public UIDialogScreenWithBackground {
public:
LogConfigScreen() {}
virtual void CreateViews() override;
void CreateViews() override;
const char *tag() const override { return "LogConfig"; }
private:
UI::EventReturn OnToggleAll(UI::EventParams &e);
@ -76,6 +82,8 @@ public:
void CreateViews() override;
void update() override;
const char *tag() const override { return "Log"; }
private:
void UpdateLog();
UI::EventReturn OnSubmit(UI::EventParams &e);
@ -89,6 +97,8 @@ class LogLevelScreen : public ListPopupScreen {
public:
LogLevelScreen(const std::string &title);
const char *tag() const override { return "LogLevel"; }
private:
virtual void OnCompleted(DialogResult result);
@ -96,7 +106,8 @@ private:
class SystemInfoScreen : public UIDialogScreenWithBackground {
public:
SystemInfoScreen() {}
const char *tag() const override { return "SystemInfo"; }
void CreateViews() override;
};
@ -106,13 +117,15 @@ public:
memset(buttons_, 0, sizeof(buttons_));
}
virtual bool key(const KeyInput &key) override;
const char *tag() const override { return "AddressPrompt"; }
bool key(const KeyInput &key) override;
UI::Event OnChoice;
protected:
virtual void CreatePopupContents(UI::ViewGroup *parent) override;
virtual void OnCompleted(DialogResult result) override;
void CreatePopupContents(UI::ViewGroup *parent) override;
void OnCompleted(DialogResult result) override;
UI::EventReturn OnDigitButton(UI::EventParams &e);
UI::EventReturn OnBackspace(UI::EventParams &e);
@ -128,8 +141,9 @@ private:
class JitCompareScreen : public UIDialogScreenWithBackground {
public:
JitCompareScreen() : currentBlock_(-1) {}
virtual void CreateViews() override;
void CreateViews() override;
const char *tag() const override { return "JitCompare"; }
private:
void UpdateDisasm();
@ -146,7 +160,7 @@ private:
UI::EventReturn OnAddressChange(UI::EventParams &e);
UI::EventReturn OnShowStats(UI::EventParams &e);
int currentBlock_;
int currentBlock_ = -1;
UI::TextView *blockName_;
UI::TextEdit *blockAddr_;
@ -158,9 +172,10 @@ private:
class ShaderListScreen : public UIDialogScreenWithBackground {
public:
ShaderListScreen() {}
void CreateViews() override;
const char *tag() const override { return "ShaderList"; }
private:
int ListShaders(DebugShaderType shaderType, UI::LinearLayout *view);
@ -175,6 +190,9 @@ public:
: id_(id), type_(type) {}
void CreateViews() override;
const char *tag() const override { return "ShaderView"; }
private:
std::string id_;
DebugShaderType type_;
@ -188,6 +206,8 @@ public:
void CreateViews() override;
void update() override;
const char *tag() const override { return "FrameDumpTest"; }
private:
UI::EventReturn OnLoadDump(UI::EventParams &e);

View file

@ -31,7 +31,7 @@ public:
virtual void dialogFinished(const Screen *dialog, DialogResult result) override;
virtual void onFinish(DialogResult reason) override;
virtual void resized() override;
std::string tag() const override { return "display layout screen"; }
const char *tag() const override { return "DisplayLayout"; }
protected:
virtual UI::EventReturn OnCenter(UI::EventParams &e);

View file

@ -955,7 +955,7 @@ void EmuScreen::CreateViews() {
UI::EventReturn EmuScreen::OnDevTools(UI::EventParams &params) {
auto dev = GetI18NCategory("Developer");
DevMenu *devMenu = new DevMenu(dev);
DevMenuScreen *devMenu = new DevMenuScreen(dev);
if (params.v)
devMenu->SetPopupOrigin(params.v);
screenManager()->push(devMenu);

View file

@ -40,6 +40,8 @@ public:
EmuScreen(const Path &filename);
~EmuScreen();
const char *tag() const override { return "Emu"; }
void update() override;
void render() override;
void preRender() override;

View file

@ -17,6 +17,8 @@ public:
void CreateViews() override;
void render() override;
const char *tag() const override { return "GPUDriverTest"; }
private:
void DiscardTest();
void ShaderTest();

View file

@ -443,6 +443,7 @@ UI::EventReturn GameScreen::OnRemoveFromRecent(UI::EventParams &e) {
class SetBackgroundPopupScreen : public PopupScreen {
public:
SetBackgroundPopupScreen(const std::string &title, const Path &gamePath);
const char *tag() const override { return "SetBackgroundPopup"; }
protected:
bool FillVertical() const override { return false; }

View file

@ -38,7 +38,7 @@ public:
void render() override;
std::string tag() const override { return "game"; }
const char *tag() const override { return "Game"; }
protected:
void CreateViews() override;

View file

@ -32,7 +32,7 @@ public:
void update() override;
void onFinish(DialogResult result) override;
std::string tag() const override { return "settings"; }
const char *tag() const override { return "GameSettings"; }
protected:
void sendMessage(const char *message, const char *value) override;
@ -157,10 +157,11 @@ private:
class DeveloperToolsScreen : public UIDialogScreenWithBackground {
public:
DeveloperToolsScreen() {}
void update() override;
void onFinish(DialogResult result) override;
const char *tag() const override { return "DeveloperTools"; }
protected:
void CreateViews() override;
@ -205,6 +206,8 @@ public:
void CreatePopupContents(UI::ViewGroup *parent) override;
const char *tag() const override { return "HostnameSelect"; }
protected:
void OnCompleted(DialogResult result) override;
bool CanComplete(DialogResult result) override;
@ -247,4 +250,6 @@ private:
class GestureMappingScreen : public UIDialogScreenWithBackground {
public:
void CreateViews() override;
const char *tag() const override { return "GestureMapping"; }
};

View file

@ -30,6 +30,8 @@ public:
virtual void update() override;
virtual bool key(const KeyInput &key) override;
const char *tag() const { return "install_zip"; }
protected:
virtual void CreateViews() override;

View file

@ -102,6 +102,8 @@ public:
bool isTopLevel() const override { return true; }
const char *tag() const override { return "Main"; }
// Horrible hack to show the demos & homebrew tab after having installed a game from a zip file.
static bool showHomebrewTab;
@ -153,7 +155,7 @@ protected:
class UmdReplaceScreen : public UIDialogScreenWithBackground {
public:
UmdReplaceScreen() {}
const char *tag() const override { return "UmdReplace"; }
protected:
void CreateViews() override;
@ -174,6 +176,8 @@ public:
void CreatePopupContents(UI::ViewGroup *parent) override;
UI::Event OnRecentChanged;
const char *tag() const override { return "GridSettings"; }
private:
UI::EventReturn GridPlusClick(UI::EventParams &e);
UI::EventReturn GridMinusClick(UI::EventParams &e);

View file

@ -36,7 +36,7 @@ public:
MemStickScreen(bool initialSetup);
~MemStickScreen() {}
std::string tag() const override { return "game"; }
const char *tag() const override { return "memstick"; }
enum Choice {
CHOICE_BROWSE_FOLDER,
@ -112,6 +112,9 @@ class ConfirmMemstickMoveScreen : public UIDialogScreenWithBackground {
public:
ConfirmMemstickMoveScreen(Path newMemstickFolder, bool initialSetup);
~ConfirmMemstickMoveScreen();
const char *tag() const override { return "ConfirmMemstickMove"; }
protected:
void update() override;
void CreateViews() override;

View file

@ -82,6 +82,8 @@ public:
void TriggerFinish(DialogResult result) override;
const char *tag() const override { return "Prompt"; }
private:
UI::EventReturn OnYes(UI::EventParams &e);
UI::EventReturn OnNo(UI::EventParams &e);
@ -96,6 +98,8 @@ class NewLanguageScreen : public ListPopupScreen {
public:
NewLanguageScreen(const std::string &title);
const char *tag() const override { return "NewLanguage"; }
private:
void OnCompleted(DialogResult result) override;
bool ShowButtons() const override { return true; }
@ -110,6 +114,8 @@ public:
void CreateViews() override;
const char *tag() const override { return "PostProc"; }
private:
void OnCompleted(DialogResult result) override;
bool ShowButtons() const override { return true; }
@ -123,6 +129,8 @@ public:
void CreateViews() override;
const char *tag() const override { return "TextureShader"; }
private:
void OnCompleted(DialogResult result) override;
bool ShowButtons() const override { return true; }
@ -146,6 +154,8 @@ public:
void sendMessage(const char *message, const char *value) override;
void CreateViews() override {}
const char *tag() const override { return "Logo"; }
private:
void Next();
int frames_ = 0;
@ -162,6 +172,8 @@ public:
void CreateViews() override;
const char *tag() const override { return "Credits"; }
private:
UI::EventReturn OnOK(UI::EventParams &e);

View file

@ -172,9 +172,7 @@ public:
return slot_;
}
std::string tag() const override {
return "screenshot";
}
const char *tag() const override { return "screenshot_view"; }
protected:
bool FillVertical() const override { return false; }

View file

@ -33,6 +33,8 @@ public:
virtual void dialogFinished(const Screen *dialog, DialogResult dr) override;
const char *tag() const override { return "GamePause"; }
protected:
virtual void CreateViews() override;
virtual void update() override;

View file

@ -29,6 +29,8 @@ class RemoteISOScreen : public UIScreenWithBackground {
public:
RemoteISOScreen();
const char *tag() const override { return "RemoteISO"; }
protected:
void update() override;
void CreateViews() override;
@ -57,6 +59,8 @@ public:
RemoteISOConnectScreen();
~RemoteISOConnectScreen() override;
const char *tag() const override { return "RemoteISOConnect"; }
protected:
void update() override;
void CreateViews() override;
@ -83,6 +87,8 @@ class RemoteISOBrowseScreen : public MainScreen {
public:
RemoteISOBrowseScreen(const std::string &url, const std::vector<Path> &games);
const char *tag() const override { return "RemoteISOBrowse"; }
protected:
void CreateViews() override;
@ -94,6 +100,8 @@ class RemoteISOSettingsScreen : public UIDialogScreenWithBackground {
public:
RemoteISOSettingsScreen();
const char *tag() const override { return "RemoteISOSettings"; }
UI::EventReturn OnClickRemoteISOSubdir(UI::EventParams &e);
UI::EventReturn OnClickRemoteServer(UI::EventParams &e);
protected:

View file

@ -37,6 +37,8 @@ class ReportScreen : public UIDialogScreenWithGameBackground {
public:
ReportScreen(const Path &gamePath);
const char *tag() const override { return "Report"; }
protected:
void postRender() override;
void update() override;
@ -75,6 +77,8 @@ class ReportFinishScreen : public UIDialogScreenWithGameBackground {
public:
ReportFinishScreen(const Path &gamePath, ReportingOverallScore score);
const char *tag() const override { return "ReportFinish"; }
protected:
void update() override;
void CreateViews() override;

View file

@ -78,8 +78,9 @@ static std::string TrimString(const std::string &str) {
class SavedataPopupScreen : public PopupScreen {
public:
SavedataPopupScreen(std::string savePath, std::string title) : PopupScreen(TrimString(title)), savePath_(savePath) {
}
SavedataPopupScreen(std::string savePath, std::string title) : PopupScreen(TrimString(title)), savePath_(savePath) { }
const char *tag() const override { return "SavedataPopup"; }
void CreatePopupContents(UI::ViewGroup *parent) override {
using namespace UI;

View file

@ -74,6 +74,8 @@ public:
void dialogFinished(const Screen *dialog, DialogResult result) override;
void sendMessage(const char *message, const char *value) override;
const char *tag() const override { return "Savedata"; }
protected:
UI::EventReturn OnSavedataButtonClick(UI::EventParams &e);
UI::EventReturn OnSortClick(UI::EventParams &e);

View file

@ -67,7 +67,7 @@ public:
~StoreScreen();
void update() override;
std::string tag() const override { return "store"; }
const char *tag() const override { return "Store"; }
protected:
void CreateViews() override;

View file

@ -27,6 +27,8 @@ public:
void CreateViews() override;
bool axis(const AxisInput &axis) override;
const char *tag() const override { return "TiltAnalogSettings"; }
private:
UI::EventReturn OnCalibrate(UI::EventParams &e);
float currentTiltX_ = 0.0f;

View file

@ -33,6 +33,8 @@ public:
virtual void update() override;
virtual void resized() override;
const char *tag() const override { return "TouchControlLayout"; }
protected:
virtual UI::EventReturn OnReset(UI::EventParams &e);
virtual UI::EventReturn OnVisibility(UI::EventParams &e);

View file

@ -36,6 +36,8 @@ public:
void CreateViews() override;
void onFinish(DialogResult result) override;
const char *tag() const override { return "TouchControlVisibility"; }
protected:
UI::EventReturn OnToggleAll(UI::EventParams &e);
@ -47,4 +49,6 @@ private:
class RightAnalogMappingScreen : public UIDialogScreenWithBackground {
public:
void CreateViews() override;
const char *tag() const override { return "RightAnalogMapping"; }
};