Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

qcanvasview(3qt) [redhat man page]

QCanvasView(3qt)														  QCanvasView(3qt)

NAME
QCanvasView - On-screen view of a QCanvas SYNOPSIS
#include <qcanvas.h> Inherits QScrollView. Public Members QCanvasView ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 ) QCanvasView ( QCanvas * canvas, QWidget * parent = 0, const char * name = 0, WFlags f = 0 ) ~QCanvasView () QCanvas * canvas () const void setCanvas ( QCanvas * canvas ) const QWMatrix & worldMatrix () const const QWMatrix & inverseWorldMatrix () const bool setWorldMatrix ( const QWMatrix & wm ) Protected Members virtual void drawContents ( QPainter * p, int cx, int cy, int cw, int ch ) virtual QSize sizeHint () const 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: 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"); } } Set the canvas that the view shows with setCanvas() and retrieve the canvas which the view is showing with canvas(). 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 will need to call setCanvas() to display 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. 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. SEE ALSO
http://doc.trolltech.com/qcanvasview.html http://www.trolltech.com/faq/tech.html COPYRIGHT
Copyright 1992-2001 Trolltech AS, http://www.trolltech.com. See the license file included in the distribution for a complete license statement. AUTHOR
Generated automatically from the source code. BUGS
If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you. The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech. If you find errors in this manual page, please report them to qt-bugs@trolltech.com. Please include the name of the manual page (qcanvasview.3qt) and the Qt version (3.1.1). Trolltech AS 9 December 2002 QCanvasView(3qt)
Man Page