#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