diff options
author | axis <qt-info@nokia.com> | 2009-04-24 11:34:15 (GMT) |
---|---|---|
committer | axis <qt-info@nokia.com> | 2009-04-24 11:34:15 (GMT) |
commit | 8f427b2b914d5b575a4a7c0ed65d2fb8f45acc76 (patch) | |
tree | a17e1a767a89542ab59907462206d7dcf2e504b2 /doc/src/snippets/code/src_qt3support_canvas_q3canvas.cpp | |
download | Qt-8f427b2b914d5b575a4a7c0ed65d2fb8f45acc76.zip Qt-8f427b2b914d5b575a4a7c0ed65d2fb8f45acc76.tar.gz Qt-8f427b2b914d5b575a4a7c0ed65d2fb8f45acc76.tar.bz2 |
Long live Qt for S60!
Diffstat (limited to 'doc/src/snippets/code/src_qt3support_canvas_q3canvas.cpp')
-rw-r--r-- | doc/src/snippets/code/src_qt3support_canvas_q3canvas.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/doc/src/snippets/code/src_qt3support_canvas_q3canvas.cpp b/doc/src/snippets/code/src_qt3support_canvas_q3canvas.cpp new file mode 100644 index 0000000..bca056c --- /dev/null +++ b/doc/src/snippets/code/src_qt3support_canvas_q3canvas.cpp @@ -0,0 +1,51 @@ +//! [0] +QPrinter pr; +if (pr.setup()) { + QPainter p(&pr); + canvas.drawArea(canvas.rect(), &p); +} +//! [0] + + +//! [1] +void MyCanvasView::contentsMousePressEvent(QMouseEvent* e) +{ + Q3CanvasItemList l = canvas()->collisions(e->pos()); + for (Q3CanvasItemList::Iterator it=l.begin(); it!=l.end(); ++it) { + if ((*it)->rtti() == Q3CanvasRectangle::RTTI) + qDebug("A Q3CanvasRectangle lies somewhere at this point"); + } +} +//! [1] + + +//! [2] +QMatrix wm; +wm.scale(2, 2); // Zooms in by 2 times +wm.rotate(90); // Rotates 90 degrees counter clockwise + // around the origin. +wm.translate(0, -canvas->height()); + // moves the canvas down so what was visible + // before is still visible. +myCanvasView->setWorldMatrix(wm); +//! [2] + + +//! [3] +QRect rc = QRect(myCanvasView->contentsX(), myCanvasView->contentsY(), + myCanvasView->visibleWidth(), myCanvasView->visibleHeight()); +QRect canvasRect = myCanvasView->inverseWorldMatrix().mapRect(rc); +//! [3] + + +//! [4] +Q3CanvasItem* item; +// Find an item, e.g. with Q3CanvasItem::collisions(). +... +if (item->rtti() == MySprite::RTTI) { + MySprite* s = (MySprite*)item; + if (s->isDamagable()) s->loseHitPoints(1000); + if (s->isHot()) myself->loseHitPoints(1000); + ... +} +//! [4] |