51 lines
1.2 KiB
C++
51 lines
1.2 KiB
C++
|
|
#pragma once
|
|
|
|
#include "PttController.h"
|
|
|
|
class QQuickWindow;
|
|
// application namespace
|
|
namespace advsettings {
|
|
|
|
// forward declaration
|
|
class OverlayController;
|
|
|
|
|
|
class AccessibilityTabController : public PttController {
|
|
Q_OBJECT
|
|
Q_PROPERTY(float heightOffset READ heightOffset WRITE setHeightOffset NOTIFY heightOffsetChanged)
|
|
|
|
private:
|
|
OverlayController* parent;
|
|
QQuickWindow* widget;
|
|
|
|
int m_trackingUniverse = (int)vr::TrackingUniverseStanding;
|
|
float m_heightOffset = 0.0f;
|
|
float m_toggleHeightOffset = 0.0f;
|
|
|
|
unsigned settingsUpdateCounter = 0;
|
|
|
|
QString getSettingsName() override { return "accessibilitySettings"; }
|
|
void onPttStart() override;
|
|
void onPttStop() override;
|
|
void onPttDisabled() override;
|
|
|
|
public:
|
|
void initStage1();
|
|
void initStage2(OverlayController* parent, QQuickWindow* widget);
|
|
void eventLoopTick(vr::ETrackingUniverseOrigin universe);
|
|
|
|
float heightOffset() const;
|
|
|
|
public slots:
|
|
void setTrackingUniverse(int value);
|
|
void setHeightOffset(float value, bool notify = true);
|
|
void modHeightOffset(float value, bool notify = true);
|
|
void reset();
|
|
|
|
signals:
|
|
void heightOffsetChanged(float value);
|
|
};
|
|
|
|
} // namespace advsettings
|