From bd0f3345a938b35ce6a12f6150373b0955b8dd12 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 10 Jul 2011 15:24:15 -0500 Subject: Add Qt3 development HEAD version --- doc/html/qcanvasview.html | 190 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 doc/html/qcanvasview.html (limited to 'doc/html/qcanvasview.html') diff --git a/doc/html/qcanvasview.html b/doc/html/qcanvasview.html new file mode 100644 index 0000000..6203f0b --- /dev/null +++ b/doc/html/qcanvasview.html @@ -0,0 +1,190 @@ + + + + + +QCanvasView Class + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

QCanvasView Class Reference
[canvas module]

+ +

The QCanvasView class provides an on-screen view of a QCanvas. +More... +

#include <qcanvas.h> +

Inherits QScrollView. +

List of all member functions. +

Public Members

+ +

Protected Members

+ +

Detailed Description

+ + +The QCanvasView class provides an on-screen view of a QCanvas. + +

+ + +

A QCanvasView is widget which provides a view of a QCanvas. +

If you want users to be able to interact with a canvas view, +subclass QCanvasView. You might then reimplement +QScrollView::contentsMousePressEvent(). For example, assuming no +transformation matrix is set: +

+    void MyCanvasView::contentsMousePressEvent( QMouseEvent* e )
+    {
+        QCanvasItemList l = canvas()->collisions(e->pos());
+        for (QCanvasItemList::Iterator it=l.begin(); it!=l.end(); ++it) {
+            if ( (*it)->rtti() == QCanvasRectangle::RTTI )
+                qDebug("A QCanvasRectangle lies somewhere at this point");
+        }
+    }
+    
+ +

The canvas view shows canvas canvas(); this can be changed using +setCanvas(). +

A transformation matrix can be used to transform the view of the +canvas in various ways, for example, zooming in or out or rotating. +For example: +

+    QWMatrix 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 );
+    
+ +

Use setWorldMatrix() to set the canvas view's world matrix: you must +ensure that the world matrix is invertible. The current world matrix +is retrievable with worldMatrix(), and its inversion is retrievable +with inverseWorldMatrix(). +

Example: +

The following code finds the part of the canvas that is visible in +this view, i.e. the bounding rectangle of the view in canvas coordinates. +

+    QRect rc = QRect( myCanvasView->contentsX(), myCanvasView->contentsY(),
+                        myCanvasView->visibleWidth(), myCanvasView->visibleHeight() );
+    QRect canvasRect = myCanvasView->inverseWorldMatrix().mapRect(rc);
+    
+ +

See also QWMatrix, QPainter::setWorldMatrix(), Graphics Classes, and Image Processing Classes. + +

+


Member Function Documentation

+

QCanvasView::QCanvasView ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 ) +

+Constructs a QCanvasView with parent parent, and name name, +using the widget flags f. The canvas view is not associated +with a canvas, so you must to call setCanvas() to view a +canvas. + +

QCanvasView::QCanvasView ( QCanvas * canvas, QWidget * parent = 0, const char * name = 0, WFlags f = 0 ) +

+This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +

Constructs a QCanvasView which views canvas canvas, with parent +parent, and name name, using the widget flags f. + +

QCanvasView::~QCanvasView () +

+Destroys the canvas view. The associated canvas is not deleted. + +

QCanvas * QCanvasView::canvas () const +

+ +

Returns a pointer to the canvas which the QCanvasView is currently +showing. + +

void QCanvasView::drawContents ( QPainter * p, int cx, int cy, int cw, int ch ) [virtual protected] +

+Repaints part of the QCanvas that the canvas view is showing +starting at cx by cy, with a width of cw and a height of ch using the painter p. +

Warning: When double buffering is enabled, drawContents() will +not respect the current settings of the painter when setting up +the painter for the double buffer (e.g., viewport() and +window()). Also, be aware that QCanvas::update() bypasses +drawContents(), which means any reimplementation of +drawContents() is not called. +

See also QCanvas::setDoubleBuffering(). + +

Reimplemented from QScrollView. +

const QWMatrix & QCanvasView::inverseWorldMatrix () const +

+Returns a reference to the inverse of the canvas view's current +transformation matrix. +

See also setWorldMatrix() and worldMatrix(). + +

void QCanvasView::setCanvas ( QCanvas * canvas ) +

+Sets the canvas that the QCanvasView is showing to the canvas canvas. + +

bool QCanvasView::setWorldMatrix ( const QWMatrix & wm ) +

+Sets the transformation matrix of the QCanvasView to wm. The +matrix must be invertible (i.e. if you create a world matrix that +zooms out by 2 times, then the inverse of this matrix is one that +will zoom in by 2 times). +

When you use this, you should note that the performance of the +QCanvasView will decrease considerably. +

Returns FALSE if wm is not invertable; otherwise returns TRUE. +

See also worldMatrix(), inverseWorldMatrix(), and QWMatrix::isInvertible(). + +

Example: canvas/canvas.cpp. +

QSize QCanvasView::sizeHint () const [virtual protected] +

+Suggests a size sufficient to view the entire canvas. + +

const QWMatrix & QCanvasView::worldMatrix () const +

+Returns a reference to the canvas view's current transformation matrix. +

See also setWorldMatrix() and inverseWorldMatrix(). + +

Example: canvas/canvas.cpp. + +


+This file is part of the Qt toolkit. +Copyright © 1995-2007 +Trolltech. All Rights Reserved.


+ +
Copyright © 2007 +TrolltechTrademarks +
Qt 3.3.8
+
+ -- cgit v1.2.3