tuiotouch: clean up
- order includes from most specific to most general - include only what you need - port uses of inefficient QLists to QVector (required adding default ctors to the payload types) - mark types as Q_MOVABLE_TYPE - inline some trivial functions - add explicit to ctors - mark plugin with QT_NO_FOREACH Change-Id: I7ae13141ece22bfdf49be42deb0987d51da2d72b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>bb10
parent
7fb3448161
commit
7f801ed73a
|
|
@ -38,17 +38,20 @@
|
|||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "qoscbundle_p.h"
|
||||
#include "qtuio_p.h"
|
||||
|
||||
#include <QtEndian>
|
||||
#include <QDebug>
|
||||
#include <QLoggingCategory>
|
||||
|
||||
#include "qoscbundle_p.h"
|
||||
#include "qtuio_p.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
Q_LOGGING_CATEGORY(lcTuioBundle, "qt.qpa.tuio.bundle")
|
||||
|
||||
QOscBundle::QOscBundle() {}
|
||||
|
||||
// TUIO packets are transmitted using the OSC protocol, located at:
|
||||
// http://opensoundcontrol.org/specification
|
||||
// Snippets of this specification have been pasted into the source as a means of
|
||||
|
|
@ -172,21 +175,5 @@ QOscBundle::QOscBundle(const QByteArray &data)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
bool QOscBundle::isValid() const
|
||||
{
|
||||
return m_isValid;
|
||||
}
|
||||
|
||||
QList<QOscBundle> QOscBundle::bundles() const
|
||||
{
|
||||
return m_bundles;
|
||||
}
|
||||
|
||||
QList<QOscMessage> QOscBundle::messages() const
|
||||
{
|
||||
return m_messages;
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -43,25 +43,32 @@
|
|||
|
||||
#include "qoscmessage_p.h"
|
||||
|
||||
#include <QtCore/QVector>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QByteArray;
|
||||
|
||||
class QOscBundle
|
||||
{
|
||||
QOscBundle(); // for QVector, don't use
|
||||
friend class QVector<QOscBundle>;
|
||||
public:
|
||||
QOscBundle(const QByteArray &data);
|
||||
explicit QOscBundle(const QByteArray &data);
|
||||
|
||||
bool isValid() const;
|
||||
QList<QOscBundle> bundles() const;
|
||||
QList<QOscMessage> messages() const;
|
||||
bool isValid() const { return m_isValid; }
|
||||
QVector<QOscBundle> bundles() const { return m_bundles; }
|
||||
QVector<QOscMessage> messages() const { return m_messages; }
|
||||
|
||||
private:
|
||||
bool m_isValid;
|
||||
bool m_immediate;
|
||||
quint32 m_timeEpoch;
|
||||
quint32 m_timePico;
|
||||
QList<QOscBundle> m_bundles;
|
||||
QList<QOscMessage> m_messages;
|
||||
QVector<QOscBundle> m_bundles;
|
||||
QVector<QOscMessage> m_messages;
|
||||
};
|
||||
Q_DECLARE_TYPEINFO(QOscBundle, Q_MOVABLE_TYPE);
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -38,19 +38,19 @@
|
|||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include <QByteArray>
|
||||
#include <QDebug>
|
||||
#include <QtEndian>
|
||||
#include <QVariant>
|
||||
#include <QLoggingCategory>
|
||||
|
||||
#include "qoscmessage_p.h"
|
||||
#include "qtuio_p.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QtEndian>
|
||||
#include <QLoggingCategory>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
Q_LOGGING_CATEGORY(lcTuioMessage, "qt.qpa.tuio.message")
|
||||
|
||||
QOscMessage::QOscMessage() {}
|
||||
|
||||
// TUIO packets are transmitted using the OSC protocol, located at:
|
||||
// http://opensoundcontrol.org/specification
|
||||
// Snippets of this specification have been pasted into the source as a means of
|
||||
|
|
@ -125,20 +125,5 @@ QOscMessage::QOscMessage(const QByteArray &data)
|
|||
qCDebug(lcTuioMessage) << "Message with address pattern: " << addressPattern << " arguments: " << arguments;
|
||||
}
|
||||
|
||||
bool QOscMessage::isValid() const
|
||||
{
|
||||
return m_isValid;
|
||||
}
|
||||
|
||||
QByteArray QOscMessage::addressPattern() const
|
||||
{
|
||||
return m_addressPattern;
|
||||
}
|
||||
|
||||
QList<QVariant> QOscMessage::arguments() const
|
||||
{
|
||||
return m_arguments;
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -41,22 +41,32 @@
|
|||
#ifndef QOSCMESSAGE_P_H
|
||||
#define QOSCMESSAGE_P_H
|
||||
|
||||
#include <QtCore/QByteArray>
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtCore/QVector>
|
||||
#include <QtCore/QList>
|
||||
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QOscMessage
|
||||
{
|
||||
QOscMessage(); // for QVector, don't use
|
||||
friend class QVector<QOscMessage>;
|
||||
public:
|
||||
QOscMessage(const QByteArray &data);
|
||||
bool isValid() const;
|
||||
explicit QOscMessage(const QByteArray &data);
|
||||
|
||||
QByteArray addressPattern() const;
|
||||
QList<QVariant> arguments() const;
|
||||
bool isValid() const { return m_isValid; }
|
||||
|
||||
QByteArray addressPattern() const { return m_addressPattern; }
|
||||
QList<QVariant> arguments() const { return m_arguments; }
|
||||
|
||||
private:
|
||||
bool m_isValid;
|
||||
QByteArray m_addressPattern;
|
||||
QList<QVariant> m_arguments;
|
||||
};
|
||||
Q_DECLARE_TYPEINFO(QOscMessage, Q_MOVABLE_TYPE);
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@ private:
|
|||
float m_acceleration;
|
||||
Qt::TouchPointState m_state;
|
||||
};
|
||||
Q_DECLARE_TYPEINFO(QTuioCursor, Q_MOVABLE_TYPE); // Q_PRIMITIVE_TYPE: not possible, m_state is = 1, not 0.
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -38,19 +38,22 @@
|
|||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include <QLoggingCategory>
|
||||
#include <QRect>
|
||||
#include <QWindow>
|
||||
#include <QGuiApplication>
|
||||
#include <QTouchDevice>
|
||||
#include <qmath.h>
|
||||
|
||||
#include <qpa/qwindowsysteminterface.h>
|
||||
#include "qtuiohandler_p.h"
|
||||
|
||||
#include "qtuiocursor_p.h"
|
||||
#include "qtuiotoken_p.h"
|
||||
#include "qtuiohandler_p.h"
|
||||
#include "qoscbundle_p.h"
|
||||
#include "qoscmessage_p.h"
|
||||
|
||||
#include <qpa/qwindowsysteminterface.h>
|
||||
|
||||
#include <QTouchDevice>
|
||||
#include <QWindow>
|
||||
#include <QGuiApplication>
|
||||
|
||||
#include <QLoggingCategory>
|
||||
#include <QRect>
|
||||
#include <qmath.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
|
|
@ -151,7 +154,7 @@ void QTuioHandler::processPackets()
|
|||
// messages. The FSEQ frame ID is incremented for each delivered bundle,
|
||||
// while redundant bundles can be marked using the frame sequence ID
|
||||
// -1."
|
||||
QList<QOscMessage> messages;
|
||||
QVector<QOscMessage> messages;
|
||||
|
||||
QOscBundle bundle(datagram);
|
||||
if (bundle.isValid()) {
|
||||
|
|
|
|||
|
|
@ -138,6 +138,7 @@ private:
|
|||
float m_angularAcceleration;
|
||||
Qt::TouchPointState m_state;
|
||||
};
|
||||
Q_DECLARE_TYPEINFO(QTuioToken, Q_MOVABLE_TYPE); // Q_PRIMITIVE_TYPE: not possible: m_id, m_classId == -1
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ HEADERS += \
|
|||
OTHER_FILES += \
|
||||
tuiotouch.json
|
||||
|
||||
DEFINES += QT_NO_FOREACH
|
||||
PLUGIN_TYPE = generic
|
||||
PLUGIN_EXTENDS = -
|
||||
PLUGIN_CLASS_NAME = QTuioTouchPlugin
|
||||
|
|
|
|||
Loading…
Reference in New Issue