diff options
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxscreeneventthread.h')
-rw-r--r-- | src/plugins/platforms/qnx/qqnxscreeneventthread.h | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/plugins/platforms/qnx/qqnxscreeneventthread.h b/src/plugins/platforms/qnx/qqnxscreeneventthread.h index 140f53aa50..3c8d197545 100644 --- a/src/plugins/platforms/qnx/qqnxscreeneventthread.h +++ b/src/plugins/platforms/qnx/qqnxscreeneventthread.h @@ -1,5 +1,6 @@ /*************************************************************************** ** +** Copyright (C) 2017 QNX Software Systems. All rights reserved. ** Copyright (C) 2011 - 2012 Research In Motion ** Contact: https://www.qt.io/licensing/ ** @@ -47,37 +48,34 @@ QT_BEGIN_NAMESPACE -class QQnxScreenEventHandler; - -typedef QVarLengthArray<screen_event_t, 64> QQnxScreenEventArray; - class QQnxScreenEventThread : public QThread { Q_OBJECT public: - QQnxScreenEventThread(screen_context_t context, QQnxScreenEventHandler *screenEventHandler); + QQnxScreenEventThread(screen_context_t context); ~QQnxScreenEventThread(); - static void injectKeyboardEvent(int flags, int sym, int mod, int scan, int cap); - - QQnxScreenEventArray *lock(); - void unlock(); + screen_context_t context() const { return m_screenContext; } + void armEventsPending(int count); protected: void run() override; Q_SIGNALS: - void eventPending(); + void eventsPending(); private: + void handleScreenPulse(const struct _pulse &msg); + void handleArmPulse(const struct _pulse &msg); + void handlePulse(const struct _pulse &msg); void shutdown(); + int m_channelId; + int m_connectionId; screen_context_t m_screenContext; - QMutex m_mutex; - QQnxScreenEventArray m_events; - QQnxScreenEventHandler *m_screenEventHandler; - bool m_quit; + bool m_emitNeededOnNextScreenPulse = true; + int m_screenPulsesSinceLastArmPulse = 0; }; QT_END_NAMESPACE |