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/qcanvaspolygonalitem.html | 235 +++++++++++++++++++++++++++++++++++++ 1 file changed, 235 insertions(+) create mode 100644 doc/html/qcanvaspolygonalitem.html (limited to 'doc/html/qcanvaspolygonalitem.html') diff --git a/doc/html/qcanvaspolygonalitem.html b/doc/html/qcanvaspolygonalitem.html new file mode 100644 index 0000000..11bacf7 --- /dev/null +++ b/doc/html/qcanvaspolygonalitem.html @@ -0,0 +1,235 @@ + + + + + +QCanvasPolygonalItem Class + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

QCanvasPolygonalItem Class Reference
[canvas module]

+ +

The QCanvasPolygonalItem class provides a polygonal canvas item +on a QCanvas. +More... +

#include <qcanvas.h> +

Inherits QCanvasItem. +

Inherited by QCanvasRectangle, QCanvasPolygon, QCanvasLine, and QCanvasEllipse. +

List of all member functions. +

Public Members

+ +

Protected Members

+ +

Detailed Description

+ + +The QCanvasPolygonalItem class provides a polygonal canvas item +on a QCanvas. + +

+ + +

The mostly rectangular classes, such as QCanvasSprite and +QCanvasText, use the object's bounding rectangle for movement, +repainting and collision calculations. For most other items, the +bounding rectangle can be far too large -- a diagonal line being +the worst case, and there are many other cases which are also bad. +QCanvasPolygonalItem provides polygon-based bounding rectangle +handling, etc., which is much faster for non-rectangular items. +

Derived classes should try to define as small an area as possible +to maximize efficiency, but the polygon must definitely be +contained completely within the polygonal area. Calculating the +exact requirements is usually difficult, but if you allow a small +overestimate it can be easy and quick, while still getting almost +all of QCanvasPolygonalItem's speed. +

Note that all subclasses must call hide() in their destructor +since hide() needs to be able to access areaPoints(). +

Normally, QCanvasPolygonalItem uses the odd-even algorithm for +determining whether an object intersects this object. You can +change this to the winding algorithm using setWinding(). +

The bounding rectangle is available using boundingRect(). The +points bounding the polygonal item are retrieved with +areaPoints(). Use areaPointsAdvanced() to retrieve the bounding +points the polygonal item will have after +QCanvasItem::advance(1) has been called. +

If the shape of the polygonal item is about to change while the +item is visible, call invalidate() before updating with a +different result from areaPoints(). +

By default, QCanvasPolygonalItem objects have a black pen and no +brush (the default QPen and QBrush constructors). You can change +this with setPen() and setBrush(), but note that some +QCanvasPolygonalItem subclasses only use the brush, ignoring the +pen setting. +

The polygonal item can be drawn on a painter with draw(). +Subclasses must reimplement drawShape() to draw themselves. +

Like any other canvas item polygonal items can be moved with +QCanvasItem::move() and QCanvasItem::moveBy(), or by setting coordinates +with QCanvasItem::setX(), QCanvasItem::setY() and QCanvasItem::setZ(). +

See also Graphics Classes and Image Processing Classes. + +


Member Function Documentation

+

QCanvasPolygonalItem::QCanvasPolygonalItem ( QCanvas * canvas ) +

+Constructs a QCanvasPolygonalItem on the canvas canvas. + +

QCanvasPolygonalItem::~QCanvasPolygonalItem () [virtual] +

+Note that all subclasses must call hide() in their destructor +since hide() needs to be able to access areaPoints(). + +

QPointArray QCanvasPolygonalItem::areaPoints () const [pure virtual] +

+ +

This function must be reimplemented by subclasses. It must +return the points bounding (i.e. outside and not touching) the +shape or drawing errors will occur. + +

Reimplemented in QCanvasPolygon. +

QPointArray QCanvasPolygonalItem::areaPointsAdvanced () const [virtual] +

+Returns the points the polygonal item will have after +QCanvasItem::advance(1) is called, i.e. what the points are when +advanced by the current xVelocity() and yVelocity(). + +

QRect QCanvasPolygonalItem::boundingRect () const [virtual] +

+Returns the bounding rectangle of the polygonal item, based on +areaPoints(). + +

Reimplemented from QCanvasItem. +

QBrush QCanvasPolygonalItem::brush () const +

+ +

Returns the QBrush used to fill the item, if filled. +

See also setBrush(). + +

void QCanvasPolygonalItem::draw ( QPainter & p ) [virtual protected] +

+Reimplemented from QCanvasItem, this draws the polygonal item by +setting the pen and brush for the item on the painter p and +calling drawShape(). + +

Reimplemented from QCanvasItem. +

void QCanvasPolygonalItem::drawShape ( QPainter & p ) [pure virtual protected] +

+ +

Subclasses must reimplement this function to draw their shape. The +pen and brush of p are already set to pen() and brush() prior +to calling this function. +

Warning: When you reimplement this function, make sure that you +leave the painter in the same state as you found it. For example, +if you start by calling QPainter::translate(50, 50), end your +code by calling QPainter::translate(-50, -50). Be also aware that +the painter might already have some transformations set (i.e., +don't call QPainter::resetXForm() when you're done). +

See also draw(). + +

Reimplemented in QCanvasRectangle, QCanvasPolygon, and QCanvasEllipse. +

void QCanvasPolygonalItem::invalidate () [protected] +

+Invalidates all information about the area covered by the canvas +item. The item will be updated automatically on the next call that +changes the item's status, for example, move() or update(). Call +this function if you are going to change the shape of the item (as +returned by areaPoints()) while the item is visible. + +

bool QCanvasPolygonalItem::isValid () const [protected] +

+ +

Returns TRUE if the polygonal item's area information has not been +invalidated; otherwise returns FALSE. +

See also invalidate(). + +

QPen QCanvasPolygonalItem::pen () const +

+ +

Returns the QPen used to draw the outline of the item, if any. +

See also setPen(). + +

int QCanvasPolygonalItem::rtti () const [virtual] +

+Returns 2 (QCanvasItem::Rtti_PolygonalItem). +

See also QCanvasItem::rtti(). + +

Reimplemented from QCanvasItem. +

Reimplemented in QCanvasRectangle, QCanvasPolygon, QCanvasLine, and QCanvasEllipse. +

void QCanvasPolygonalItem::setBrush ( QBrush b ) [virtual] +

+Sets the QBrush used when drawing the polygonal item to the brush b. +

See also setPen(), brush(), and drawShape(). + +

Examples: canvas/canvas.cpp and chart/chartform_canvas.cpp. +

void QCanvasPolygonalItem::setPen ( QPen p ) [virtual] +

+Sets the QPen used when drawing the item to the pen p. +Note that many QCanvasPolygonalItems do not use the pen value. +

See also setBrush(), pen(), and drawShape(). + +

Examples: canvas/canvas.cpp and chart/chartform_canvas.cpp. +

void QCanvasPolygonalItem::setWinding ( bool enable ) [protected] +

+If enable is TRUE, the polygonal item will use the winding +algorithm to determine the "inside" of the polygon; otherwise the +odd-even algorithm will be used. +

The default is to use the odd-even algorithm. +

See also winding(). + +

bool QCanvasPolygonalItem::winding () const [protected] +

+Returns TRUE if the polygonal item uses the winding algorithm to +determine the "inside" of the polygon. Returns FALSE if it uses +the odd-even algorithm. +

The default is to use the odd-even algorithm. +

See also setWinding(). + + +


+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