summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@nokia.com>2009-11-20 11:22:49 +0100
committerMorten Johan Sørvig <morten.sorvig@nokia.com>2009-12-01 16:54:23 +0100
commit9400a18f1ded174bb325c71a6daace641e57d6d9 (patch)
tree61c71945275a59ecea0a91058799510e94689f51
parentc03c047f3c5f30d032fbd92efc72ba82b57cc3a1 (diff)
Pull the event dispatching code out to a separate function.
Remove some unused timer code.
-rw-r--r--src/gui/kernel/qeventdispatcher_nacl.cpp153
-rw-r--r--src/gui/kernel/qeventdispatcher_nacl_p.h8
2 files changed, 57 insertions, 104 deletions
diff --git a/src/gui/kernel/qeventdispatcher_nacl.cpp b/src/gui/kernel/qeventdispatcher_nacl.cpp
index b2e66443d8..578cb70bb0 100644
--- a/src/gui/kernel/qeventdispatcher_nacl.cpp
+++ b/src/gui/kernel/qeventdispatcher_nacl.cpp
@@ -102,78 +102,78 @@ QEventDispatcherNaCl::~QEventDispatcherNaCl()
bool QEventDispatcherNaCl::processEvents(QEventLoop::ProcessEventsFlags flags)
{
- Q_D(QEventDispatcherNaCl);
-
- // perror("QEventDispatcherNaCl::foo()");
- // perror("QEventDispatcherNaCl::processEvents()");
-
- NaClMultimediaEvent event;
-
do {
QApplication::sendPostedEvents();
+ NaClMultimediaEvent event;
if (nacl_video_poll_event(&event) != 0) {
activateTimers();
continue;
}
- if (event.type == NACL_EVENT_MOUSE_BUTTON_DOWN) {
- //perror("mouse down");
- QPoint p(event.button.x, event.button.y);
-
- //fprintf(stderr, "mouse coords %d %d \n", event.button.x, event.button.y);
-
- QMouseEvent mouseEvent(QEvent::MouseButtonPress, p, p, Qt::LeftButton,
- Qt::LeftButton, Qt::NoModifier);
- QApplicationPrivate::handleMouseEvent(0, mouseEvent);
-
- //qApp->handleMouseEvent(0, &mouseEvent);
- //event
- }
-
- if (event.type == NACL_EVENT_MOUSE_BUTTON_UP) {
- //perror("mouse up");
- QPoint p(event.button.x, event.button.y);
- QMouseEvent mouseEvent(QEvent::MouseButtonRelease, p, p, Qt::LeftButton,
- Qt::NoButton, Qt::NoModifier);
- QApplicationPrivate::handleMouseEvent(0, mouseEvent);
- }
-
- if (event.type == NACL_EVENT_MOUSE_MOTION) {
- //fprintf(stderr, " mouse motion %d %d", event.motion.x, event.motion.y);
- QPoint p(event.motion.x, event.motion.y);
- QMouseEvent mouseEvent(QEvent::MouseMove, p, p,
- Qt::NoButton,
- naClButtonStateToQtMouseButton(event.motion.state),
- Qt::NoModifier);
- QApplicationPrivate::handleMouseEvent(0, mouseEvent);
- }
-
- if (event.type == NACL_EVENT_KEY_DOWN) {
- //fprintf(stderr, "unicode %d", event.key.keysym.unicode);
- QKeyEvent keyEvent(QEvent::KeyPress, Qt::Key_A, Qt::NoModifier,
- QString(QChar(event.key.keysym.sym)));
- QApplicationPrivate::handleKeyEvent(0, &keyEvent);
-
- }
-
- if (event.type == NACL_EVENT_KEY_UP) {
- QKeyEvent keyEvent(QEvent::KeyRelease, Qt::Key_A, Qt::NoModifier,
- QString(QChar(event.key.keysym.sym)));
- QApplicationPrivate::handleKeyEvent(0, &keyEvent);
- }
-
if (event.type == NACL_EVENT_QUIT) {
perror(" quit");
qApp->quit();
break;
+ } else {
+ translateAndSendEvent(event);
}
-
- activateTimers();
+
+ activateTimers();
} while(flags & QEventLoop::WaitForMoreEvents); // busy-wait for more events
return false;
}
+void QEventDispatcherNaCl::translateAndSendEvent(NaClMultimediaEvent event)
+{
+ if (event.type == NACL_EVENT_MOUSE_BUTTON_DOWN) {
+ //perror("mouse down");
+ QPoint p(event.button.x, event.button.y);
+
+ //fprintf(stderr, "mouse coords %d %d \n", event.button.x, event.button.y);
+
+ QMouseEvent mouseEvent(QEvent::MouseButtonPress, p, p, Qt::LeftButton,
+ Qt::LeftButton, Qt::NoModifier);
+ QApplicationPrivate::handleMouseEvent(0, mouseEvent);
+
+ //qApp->handleMouseEvent(0, &mouseEvent);
+ //event
+ }
+
+ if (event.type == NACL_EVENT_MOUSE_BUTTON_UP) {
+ //perror("mouse up");
+ QPoint p(event.button.x, event.button.y);
+ QMouseEvent mouseEvent(QEvent::MouseButtonRelease, p, p, Qt::LeftButton,
+ Qt::NoButton, Qt::NoModifier);
+ QApplicationPrivate::handleMouseEvent(0, mouseEvent);
+ }
+
+ if (event.type == NACL_EVENT_MOUSE_MOTION) {
+ //fprintf(stderr, " mouse motion %d %d", event.motion.x, event.motion.y);
+ QPoint p(event.motion.x, event.motion.y);
+ QMouseEvent mouseEvent(QEvent::MouseMove, p, p,
+ Qt::NoButton,
+ naClButtonStateToQtMouseButton(event.motion.state),
+ Qt::NoModifier);
+ QApplicationPrivate::handleMouseEvent(0, mouseEvent);
+ }
+
+ if (event.type == NACL_EVENT_KEY_DOWN) {
+ //fprintf(stderr, "unicode %d", event.key.keysym.unicode);
+ QKeyEvent keyEvent(QEvent::KeyPress, Qt::Key_A, Qt::NoModifier,
+ QString(QChar(event.key.keysym.sym)));
+ QApplicationPrivate::handleKeyEvent(0, &keyEvent);
+
+ }
+
+ if (event.type == NACL_EVENT_KEY_UP) {
+ QKeyEvent keyEvent(QEvent::KeyRelease, Qt::Key_A, Qt::NoModifier,
+ QString(QChar(event.key.keysym.sym)));
+ QApplicationPrivate::handleKeyEvent(0, &keyEvent);
+ }
+}
+
+
bool QEventDispatcherNaCl::hasPendingEvents()
{
perror("QEventDispatcherNaCl::hasPendingEvents()");
@@ -191,49 +191,6 @@ void QEventDispatcherNaCl::unregisterSocketNotifier(QSocketNotifier *notifier)
perror("QEventDispatcherNaCl::unregisterSocketNotifier()");
}
-/*
-void QEventDispatcherNaCl::registerTimer(int timerId, int interval, QObject *object)
-{
-Q_D(QEventDispatcherNaCl);
- perror("QEventDispatcherNaCl::registerTimer()");
- NaClTimerInfo timerInfo;
- timerInfo.id = timerId;
- timerInfo.interval = interval;
- timerInfo.object = object;
- timerInfo.elapsed = 0;
- d->timers.append(timerInfo);
-}
-
-bool QEventDispatcherNaCl::unregisterTimer(int timerId)
-{
- perror("QEventDispatcherNaCl::unregisterTimer()");
- return true;
-}
-
-bool QEventDispatcherNaCl::unregisterTimers(QObject *object)
-{
- perror("QEventDispatcherNaCl::unregisterTimers()");
- return true;
-}
-
-void QEventDispatcherNaCl::fireTimers()
-{
- Q_D(QEventDispatcherNaCl);
- foreach (NaClTimerInfo timer, d->timers) {
- QTimerEvent timerEvent(timer.id);
- perror("send timer envet");
- QApplication::sendEvent(timer.object, &timerEvent);
- }
-}
-
-QList<QAbstractEventDispatcher::TimerInfo> QEventDispatcherNaCl::registeredTimers(QObject *object) const
-{
- perror("QEventDispatcherNaCl::registeredTimers()");
- QList<QAbstractEventDispatcher::TimerInfo> timerInfo;
- return timerInfo;
-}
-*/
-
void QEventDispatcherNaCl::startingUp()
{
diff --git a/src/gui/kernel/qeventdispatcher_nacl_p.h b/src/gui/kernel/qeventdispatcher_nacl_p.h
index efc8e27bfb..749ef1940d 100644
--- a/src/gui/kernel/qeventdispatcher_nacl_p.h
+++ b/src/gui/kernel/qeventdispatcher_nacl_p.h
@@ -54,6 +54,7 @@
//
#include "private/qeventdispatcher_unix_p.h"
+#include <nacl/nacl_av.h>
QT_BEGIN_NAMESPACE
@@ -69,16 +70,11 @@ public:
~QEventDispatcherNaCl();
bool processEvents(QEventLoop::ProcessEventsFlags flags);
+ void translateAndSendEvent(NaClMultimediaEvent event);
bool hasPendingEvents();
void registerSocketNotifier(QSocketNotifier *notifier);
void unregisterSocketNotifier(QSocketNotifier *notifier);
-/*
- void registerTimer(int timerId, int interval, QObject *object);
- bool unregisterTimer(int timerId);
- bool unregisterTimers(QObject *object);
- QList<QAbstractEventDispatcher::TimerInfo> registeredTimers(QObject *object) const;
-*/
void wakeUp();
void interrupt();