summaryrefslogtreecommitdiffstats
path: root/src/plugins/sensorgestures/qtsensors/qshake2recognizer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/sensorgestures/qtsensors/qshake2recognizer.h')
-rw-r--r--src/plugins/sensorgestures/qtsensors/qshake2recognizer.h33
1 files changed, 18 insertions, 15 deletions
diff --git a/src/plugins/sensorgestures/qtsensors/qshake2recognizer.h b/src/plugins/sensorgestures/qtsensors/qshake2recognizer.h
index 18423248..ff3de8cf 100644
--- a/src/plugins/sensorgestures/qtsensors/qshake2recognizer.h
+++ b/src/plugins/sensorgestures/qtsensors/qshake2recognizer.h
@@ -53,6 +53,12 @@
#include <qsensorgesturerecognizer.h>
QT_BEGIN_NAMESPACE
+struct ShakeData {
+ qreal x;
+ qreal y;
+ qreal z;
+};
+
class QShake2SensorGestureRecognizer : public QSensorGestureRecognizer
{
Q_OBJECT
@@ -77,8 +83,9 @@ public:
bool stop();
bool isActive();
- int thresholdTime() const;
- void setThresholdTime(int msec);
+ QTimer *timer;
+ int timerTimeout;
+
Q_SIGNALS:
void shakeLeft();
@@ -90,27 +97,23 @@ private slots:
void accelChanged();
void timeout();
+
private:
QAccelerometer *accel;
- qreal pXaxis;
- qreal nXaxis;
-
- qreal pYaxis;
- qreal nYaxis;
-
- qreal pZaxis;
- qreal nZaxis;
-
- bool detectingState;
- QTimer *timer;
- int timerTimeout;
bool active;
- int accelRange;
ShakeDirection shakeDirection;
+ ShakeData prevData;
+ ShakeData currentData;
+
+ bool checkForShake(ShakeData prevSensorData, ShakeData currentSensorData, qreal threshold);
+ bool shaking;
+ int shakeCount;
+ int threshold;
+ bool isNegative(qreal num);
};
QT_END_NAMESPACE
#endif // QSHAKERECOGNIZER_H