Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Classes  ·  Annotées  ·  Hiérarchie  ·  Fonctions  ·  Structure  · 

QCanvasPolygonalItem Class Reference
[ canvas module ]


A QCanvasItem which renders itself in a polygonal area. More...

#include <qcanvas.h>

Inherits QCanvasItem.

Inherited by QCanvasEllipse, QCanvasLine, QCanvasPolygon and QCanvasRectangle.

List of all member functions.

Public Members

Protected Members

  • virtual void draw ( QPainter & ) 
  • virtual void drawShape ( QPainter & ) 
  • bool winding () const
  • void setWinding ( bool ) 

Detailed 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 valid.


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 QCanvasEllipse, QCanvasRectangle, QCanvasLine and QCanvasPolygon.

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.

See also draw().

Reimplemented in QCanvasRectangle, QCanvasEllipse, QCanvasLine and QCanvasPolygon.

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().


Search the documentation, FAQ, qt-interest archive and more (uses www.trolltech.com):


This file is part of the Qt toolkit, copyright © 1995-2005 Trolltech, all rights reserved.

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 64
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. BlackBerry 10 : premières images du prochain OS de RIM qui devrait intégrer des widgets et des tuiles inspirées de Windows Phone 0
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. La rubrique Qt a besoin de vous ! 1
Page suivante

Le Qt Labs au hasard

Logo

Le moteur de rendu OpenVG

Les Qt Labs sont les laboratoires des développeurs de Qt, où ils peuvent partager des impressions sur le framework, son utilisation, ce que pourrait être son futur. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 2.3
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web