Q3CanvasEllipse Class

The Q3CanvasEllipse class provides an ellipse or ellipse segment on a Q3Canvas . 更多...

头: #include <Q3CanvasEllipse>
继承: Q3CanvasPolygonalItem

公共函数

Q3CanvasEllipse (Q3Canvas * canvas )
Q3CanvasEllipse (int width , int height , Q3Canvas * canvas )
Q3CanvasEllipse (int width , int height , int startangle , int angle , Q3Canvas * canvas )
~Q3CanvasEllipse ()
int angleLength () const
int angleStart () const
int height () const
void setAngles (int start , int length )
void setSize (int width , int height )
int width () const

重实现公共函数

virtual Q3PointArray areaPoints () const
virtual bool collidesWith (const Q3CanvasItem * i ) const
virtual int rtti () const

重实现保护函数

virtual void drawShape (QPainter & p )

详细描述

The Q3CanvasEllipse class provides an ellipse or ellipse segment on a Q3Canvas .

A canvas item that paints an ellipse or ellipse segment with a QBrush . The ellipse's height, width, start angle and angle length can be set at construction time. The size can be changed at runtime with setSize (), and the angles can be changed (if you're displaying an ellipse segment rather than a whole ellipse) with setAngles ().

Note that angles are specified in 16ths of a degree.

Ellipse

If a start angle and length angle are set then an ellipse segment will be drawn. The start angle is the angle that goes from zero in a counter-clockwise direction (shown in green in the diagram). The length angle is the angle from the start angle in a counter-clockwise direction (shown in blue in the diagram). The blue segment is the segment of the ellipse that would be drawn. If no start angle and length angle are specified the entire ellipse is drawn.

The ellipse can be drawn on a painter with drawShape ().

Like any other canvas item ellipses can be moved with move () 和 moveBy (), or by setting coordinates with setX (), setY () 和 setZ ().

注意: Q3CanvasEllipse does not use the pen.

另请参阅 QtCanvas and Porting to Graphics View .

成员函数文档编制

Q3CanvasEllipse:: Q3CanvasEllipse ( Q3Canvas * canvas )

Constructs a 32x32 ellipse, centered at (0, 0) on canvas .

Q3CanvasEllipse:: Q3CanvasEllipse ( int width , int height , Q3Canvas * canvas )

构造 width by height pixel ellipse, centered at (0, 0) on canvas .

Q3CanvasEllipse:: Q3CanvasEllipse ( int width , int height , int startangle , int angle , Q3Canvas * canvas )

构造 width by height pixel ellipse, centered at (0, 0) on canvas . Only a segment of the ellipse is drawn, starting at angle startangle , and extending for angle angle (the angle length).

Note that angles are specified in sixteenths of a degree.

Q3CanvasEllipse:: ~Q3CanvasEllipse ()

Destroys the ellipse.

int Q3CanvasEllipse:: angleLength () const

Returns the length angle (the extent of the ellipse segment) in 16ths of a degree. Initially this will be 360 * 16 (a complete ellipse).

另请参阅 setAngles () 和 angleStart ().

int Q3CanvasEllipse:: angleStart () const

Returns the start angle in 16ths of a degree. Initially this will be 0.

另请参阅 setAngles () 和 angleLength ().

[虚拟] Q3PointArray Q3CanvasEllipse:: areaPoints () const

重实现自 Q3CanvasPolygonalItem::areaPoints ().

[虚拟] bool Q3CanvasEllipse:: collidesWith (const Q3CanvasItem * i ) const

重实现自 Q3CanvasItem::collidesWith ().

[virtual protected] void Q3CanvasEllipse:: drawShape ( QPainter & p )

重实现自 Q3CanvasPolygonalItem::drawShape ().

Draws the ellipse, centered at x (), y () using the painter p .

注意, Q3CanvasEllipse does not support an outline (the pen is always NoPen).

int Q3CanvasEllipse:: height () const

Returns the height of the ellipse.

[虚拟] int Q3CanvasEllipse:: rtti () const

重实现自 Q3CanvasItem::rtti ().

Returns 6 ( Q3CanvasItem::Rtti_Ellipse ).

另请参阅 Q3CanvasItem::rtti ().

void Q3CanvasEllipse:: setAngles ( int start , int length )

Sets the angles for the ellipse. The start angle is start and the extent of the segment is length (the angle length) from the start . The angles are specified in 16ths of a degree. By default the ellipse will start at 0 and have an angle length of 360 * 16 (a complete ellipse).

另请参阅 angleStart () 和 angleLength ().

void Q3CanvasEllipse:: setSize ( int width , int height )

设置 width and height of the ellipse.

int Q3CanvasEllipse:: width () const

Returns the width of the ellipse.