QCanvasPolygonalItem - A
#include <qcanvas.h>
Inherits QCanvasItem.
Inherited by QCanvasEllipse, QCanvasLine, QCanvasPolygon
and QCanvasRectangle.
Public Members
QCanvasPolygonalItem ( QCanvas * canvas )
virtual ~QCanvasPolygonalItem ()
virtual void setPen ( QPen p )
virtual void setBrush ( QBrush b )
QPen pen () const
QBrush brush () const
virtual QPointArray areaPoints () const
virtual QPointArray areaPointsAdvanced () const
virtual QRect boundingRect () const
virtual int rtti () const
Protected Members
virtual void draw ( QPainter & )
virtual void drawShape ( QPainter & )
bool winding () const
void setWinding ( bool )
DESCRIPTION
A QCanvasItem which renders itself in a polygonal area.
QCanvasPolygonalItem is an abstract class that is useful
for all items which cover a polygonal area of the canvas.
QCanvasSprite and QCanvasText, the other branches of
QCanvasItem derivatives usually cover a simple rectangular
area and are dealt with specially, but typical geometric
shapes such as lines and circles would be too
inefficiently bounded by rectangular areas - a diagonal
line from one corner of the canvas area to the other would
be bounded by a rectangle covering the entire area!
QCanvasPolygonalItem objects allow the area to be defined
by a polygon - a sequence of points bounding the area
covered by the item.
Derived classes should try to define as small as possible
an area to maximize efficiency, but must definately be
contained completely within the polygonal area.
Calculating the exact requirements may be difficult, but a
small amount of over-estimation is better than any under-
estimation, which will give drawing errors.
All subclasses must call hide() in their destructor while
the functions numAreaPoints() and getAreaPoints() are
MEMBER FUNCTION DOCUMENTATION
QCanvasPolygonalItem::QCanvasPolygonalItem ( QCanvas * canvas )
Constructs a QCanvasPolygonalItem on canvas.
QCanvasPolygonalItem::~QCanvasPolygonalItem () [virtual]
Destruct the QCanvasPolygonalItem. Derived classes must
call hide() in their destructor, as this destructor cannot
call the virtual methods.
QPointArray QCanvasPolygonalItem::areaPoints () const [virtual]
Must return the points bounding the shape. Note that the
returned points are outside the object, not touching it.
Reimplemented in QCanvasPolygon, QCanvasEllipse,
QCanvasRectangle and QCanvasLine.
QPointArray QCanvasPolygonalItem::areaPointsAdvanced () const
[virtual]
Returns the points 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().
bool QCanvasPolygonalItem::collidesWith ( const QCanvasItem * i )
const [virtual]
Reimplemented for internal reasons; the API is not
affected.
Reimplemented from QCanvasItem.
void QCanvasPolygonalItem::draw ( QPainter & p ) [virtual
protected]
Reimplemented from QCanvasItem, this draws the item by
setting the pen and brush on p and calling drawShape().
Reimplemented from QCanvasItem.
void QCanvasPolygonalItem::drawShape ( QPainter & p ) [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.
Reimplemented in QCanvasRectangle, QCanvasPolygon,
QCanvasEllipse and QCanvasLine.
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.
See also QCanvasItem::rtti().
Reimplemented from QCanvasItem.
void QCanvasPolygonalItem::setBrush ( QBrush b ) [virtual]
Sets the QBrush used when drawing item.
See also setPen(), brush() and drawShape().
void QCanvasPolygonalItem::setPen ( QPen p ) [virtual]
Sets the QPen used when drawing the item. Note that many
QCanvasPolygonalItem do not use the pen value.
See also setBrush(), pen() and drawShape().
Reimplemented in QCanvasLine.
void QCanvasPolygonalItem::setWinding ( bool enable ) [protected]
Sets whether the polygonal item to use winding algorithm
for determine the "inside" of the polygon, rather than the
odd-even algorithm.
See also winding().
bool QCanvasPolygonalItem::winding () const [protected]
Returns TRUE if the polygonal item uses the winding
algorithm for determine the "inside" of the polygon, of
FALSE if it uses the odd-even algorithm.
See also setWinding().
SEE ALSO
http://doc.trolltech.com/qcanvaspolygonalitem.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.
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
make our job much simpler. Thank you.
In case of content or formattting problems with this
manual page, please report them to qt-bugs@trolltech.com.
Please include the name of the manual page
(qcanvaspolygonalitem.3qt) and the Qt version (2.3.1).
Man(1) output converted with
man2html