[Previous] [Contents] [Index] [Next]

PtArc

An elliptical arc

Class hierarchy:

PtWidget --> PtBasic --> PtGraphic --> PtArc

For more information, see the diagram of the widget hierarchy.

PhAB icon:

PtArc button in PhAB

Public header:

<photon/PtArc.h>

Description:

You can create an elliptical arc using the PtArc widget. The arc is defined by:


PtArc


Arcs, circles, ellipses, wedges, and chords created by PtArc.


The ellipse is specified using two control points stored in Pt_ARG_POINTS. These points are relative to the widget's origin, Pt_ARG_ORIGIN (see PtGraphic). If the points aren't set, the ellipse is specified by the widget's dimensions, Pt_ARG_DIM.

An arc is drawn along the ellipse in a counter-clockwise direction starting at the start angle and finishing at the end angle. The start and end angles are specified by two resources: Pt_ARC_START and Pt_ARC_END.

The arc may be scaled directly by scaling its defining points. Scaling a circular arc by unequal amounts in the x and y directions will result in an elliptical arc.

The arc may also be drawn as a closed curve by specifying the arc type with the Pt_ARG_ARC_TYPE resource:

New resources:

Resource C type Pt type Default
Pt_ARG_ARC_END unsigned short Scalar 0
Pt_ARG_ARC_START unsigned short Scalar 0
Pt_ARG_ARC_TYPE unsigned short Scalar Pt_ARC_CURVE

Pt_ARG_ARC_END

C type Pt type Default
unsigned short Scalar 0

The end angle in tenths of a degree.

Pt_ARG_ARC_START

C type Pt type Default
unsigned short Scalar 0

The start angle in tenths of a degree. If this angle is 0, the arc starts on the horizon, to the right of the center. Angles increase in a counter-clockwise direction.

Pt_ARG_ARC_TYPE

C type Pt type Default
unsigned short Scalar Pt_ARC_CURVE

The type of arc. Possible values:

Pt_ARC_CHORD
Curve with ends connected by a straight line.
Pt_ARC_CURVE
Curve only.
Pt_ARC_PIE
Curve with ends connected to the center.

Inherited resources:

If the widget modifies an inherited resource, the "Default override" column indicates the new value. This modification affects any subclasses of the widget.

Resource Inherited from Default override
Pt_ARG_AREA PtWidget
Pt_ARG_BANDWIDTH_THRESHOLD PtBasic Not used by this class.
Pt_ARG_BITMAP_CURSOR PtWidget
Pt_ARG_BORDER_WIDTH PtWidget
Pt_ARG_BOT_BORDER_COLOR PtBasic
Pt_ARG_COLOR PtBasic
Pt_ARG_CURSOR_COLOR PtWidget
Pt_ARG_CURSOR_TYPE PtWidget
Pt_ARG_DASH_LIST PtGraphic
Pt_ARG_DASH_SCALE PtGraphic
Pt_ARG_DATA PtWidget
Pt_ARG_DIM PtWidget
Pt_ARG_EFLAGS PtWidget
Pt_ARG_FILL_COLOR PtBasic Pg_TRANSPARENT
Pt_ARG_FILL_PATTERN PtBasic
Pt_ARG_FLAGS PtWidget
Pt_ARG_GRAPHIC_FLAGS PtGraphic
Pt_ARG_HELP_TOPIC PtWidget
Pt_ARG_HIGHLIGHT_ROUNDNESS PtBasic
Pt_ARG_LINE_CAP PtGraphic
Pt_ARG_LINE_JOIN PtGraphic
Pt_ARG_LINE_WIDTH PtGraphic
Pt_ARG_MARGIN_HEIGHT PtBasic
Pt_ARG_MARGIN_WIDTH PtBasic
Pt_ARG_ORIGIN PtGraphic
Pt_ARG_POINTS PtGraphic
Pt_ARG_POS PtWidget
Pt_ARG_RESIZE_FLAGS PtWidget Pt_RESIZE_XY_AS_REQUIRED
Pt_ARG_TOP_BORDER_COLOR PtBasic
Pt_ARG_TRANS_PATTERN PtBasic
Pt_ARG_USER_DATA PtWidget
Pt_CB_ACTIVATE PtBasic
Pt_CB_ARM PtBasic
Pt_CB_BLOCKED PtWidget
Pt_CB_DESTROYED PtWidget
Pt_CB_DISARM PtBasic
Pt_CB_GOT_FOCUS PtBasic
Pt_CB_HOTKEY PtWidget
Pt_CB_LOST_FOCUS PtBasic
Pt_CB_MENU PtBasic
Pt_CB_RAW PtWidget
Pt_CB_REALIZED PtWidget
Pt_CB_REPEAT PtBasic
Pt_CB_RESCALE PtGraphic
Pt_CB_UNREALIZED PtWidget

[Previous] [Contents] [Index] [Next]