Complete GUI overhaul (from Qt Widgets to Qt Quick Controls 2)
Added chaperone profiles Added separate supersampling sliders for applications/compositor Added asynchronous reprojection on/off switch Merged in Microphone Control Overlay Added Push-to-Talk profiles Updated to OpenVR 1.0.3 Requires at least SteamVR beta 1477423729.
This commit is contained in:
@@ -4,51 +4,75 @@
|
||||
#include <QObject>
|
||||
#include <openvr.h>
|
||||
|
||||
class QQuickWindow;
|
||||
// application namespace
|
||||
namespace advsettings {
|
||||
|
||||
// forward declaration
|
||||
class OverlayWidget;
|
||||
class OverlayController;
|
||||
|
||||
|
||||
class StatisticsTabController : public QObject {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(float hmdDistanceMoved READ hmdDistanceMoved)
|
||||
Q_PROPERTY(float hmdRotations READ hmdRotations)
|
||||
Q_PROPERTY(float leftControllerMaxSpeed READ leftControllerMaxSpeed)
|
||||
Q_PROPERTY(float rightControllerMaxSpeed READ rightControllerMaxSpeed)
|
||||
Q_PROPERTY(int droppedFrames READ droppedFrames)
|
||||
Q_PROPERTY(int reprojectedFrames READ reprojectedFrames)
|
||||
Q_PROPERTY(int timedOut READ timedOut)
|
||||
|
||||
private:
|
||||
OverlayController* parent;
|
||||
OverlayWidget* widget;
|
||||
QQuickWindow* widget;
|
||||
|
||||
bool rotationResetFlag = false;
|
||||
float rotationMarker = 0.0f;
|
||||
float rotationOffset = 0.0f;
|
||||
int rotationDir = 0;
|
||||
int64_t rotationCounter = 0;
|
||||
float lastYaw = -1.0f;
|
||||
unsigned lastPosTimer = 0;
|
||||
float lastHmdPos[3];
|
||||
bool lastHmdPosValid = false;
|
||||
double hmdDistance = 0.0;
|
||||
float leftControllerMaxSpeed = 0.0;
|
||||
float rightControllerMaxSpeed = 0.0;
|
||||
unsigned compositorStatsPid = 0;
|
||||
unsigned droppedFramesOffset = 0;
|
||||
unsigned reprojectedFramesOffset = 0;
|
||||
unsigned timedOutOffset = 0;
|
||||
|
||||
float m_hmdRotation = 0.0f;
|
||||
|
||||
double m_hmdDistanceMoved = 0.0;
|
||||
|
||||
float m_leftControllerMaxSpeed = 0.0f;
|
||||
|
||||
float m_rightControllerMaxSpeed = 0.0f;
|
||||
|
||||
unsigned m_droppedFramesOffset = 0;
|
||||
|
||||
unsigned m_reprojectedFramesOffset = 0;
|
||||
|
||||
unsigned m_timedOutOffset = 0;
|
||||
|
||||
public:
|
||||
void init(OverlayController* parent, OverlayWidget* widget);
|
||||
void initStage1();
|
||||
void initStage2(OverlayController* parent, QQuickWindow* widget);
|
||||
|
||||
public slots:
|
||||
void UpdateTab();
|
||||
void eventLoopTick(vr::TrackedDevicePose_t* devicePoses);
|
||||
|
||||
void StatsDistanceResetClicked();
|
||||
void StatsRotationResetClicked();
|
||||
void StatsLeftControllerSpeedResetClicked();
|
||||
void StatsRightControllerSpeedResetClicked();
|
||||
void DroppedFramesResetClicked();
|
||||
void ReprojectedFramesResetClicked();
|
||||
void TimedOutResetClicked();
|
||||
float hmdDistanceMoved() const;
|
||||
float hmdRotations() const;
|
||||
float rightControllerMaxSpeed() const;
|
||||
float leftControllerMaxSpeed() const;
|
||||
|
||||
unsigned droppedFrames() const;
|
||||
unsigned reprojectedFrames() const;
|
||||
unsigned timedOut() const;
|
||||
|
||||
public slots:
|
||||
void statsDistanceResetClicked();
|
||||
void statsRotationResetClicked();
|
||||
void statsLeftControllerSpeedResetClicked();
|
||||
void statsRightControllerSpeedResetClicked();
|
||||
void droppedFramesResetClicked();
|
||||
void reprojectedFramesResetClicked();
|
||||
void timedOutResetClicked();
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user