summaryrefslogtreecommitdiffstats
path: root/examples/graphicsview/collidingmice/mouse.h
diff options
context:
space:
mode:
authorNorwegian Rock Cat <qt-info@nokia.com>2009-04-06 15:10:26 (GMT)
committerNorwegian Rock Cat <qt-info@nokia.com>2009-04-06 15:15:53 (GMT)
commit1bb9d8fcd59a91751c8d91e2885e2b05eff4d1bb (patch)
treebe50c79ad2211cb4ab5ee6547ff4be207bb038b7 /examples/graphicsview/collidingmice/mouse.h
parent9b3de2a229bfd393a13bcf08750c2284f775d8c5 (diff)
downloadQt-1bb9d8fcd59a91751c8d91e2885e2b05eff4d1bb.zip
Qt-1bb9d8fcd59a91751c8d91e2885e2b05eff4d1bb.tar.gz
Qt-1bb9d8fcd59a91751c8d91e2885e2b05eff4d1bb.tar.bz2
BT: Adjust the colliding mice example to work with coalesced updates.
It seems that Cocoa is much more strict about coalesced updates than Carbon ever was. The upshot of this is that some examples that "worked" after a fashion in Carbon, do not exhibit good frame rates with Cocoa. The reason why is that apparently Cocoa will decide to flush to the screen every time a timer fires. If you have a lot of timers that are all dependent on doing on update to the screen, you will get undesirable effects. Thankfully, it is possible to adjust the examples to follow best practices and get a good result. So, we now only do the animation once using QGraphicsScene::advance(). We are also able to make the mice less heavy (no QObject subclass). I've updated the docs and someone on the doc team has kindly volunteered to go through them. Reviewed-by: Andreas
Diffstat (limited to 'examples/graphicsview/collidingmice/mouse.h')
-rw-r--r--examples/graphicsview/collidingmice/mouse.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/examples/graphicsview/collidingmice/mouse.h b/examples/graphicsview/collidingmice/mouse.h
index 832ea53..c08ce4a 100644
--- a/examples/graphicsview/collidingmice/mouse.h
+++ b/examples/graphicsview/collidingmice/mouse.h
@@ -43,13 +43,10 @@
#define MOUSE_H
#include <QGraphicsItem>
-#include <QObject>
//! [0]
-class Mouse : public QObject, public QGraphicsItem
+class Mouse : public QGraphicsItem
{
- Q_OBJECT
-
public:
Mouse();
@@ -59,7 +56,7 @@ public:
QWidget *widget);
protected:
- void timerEvent(QTimerEvent *event);
+ void advance(int step);
private:
qreal angle;