PtArc

An elliptical arc

Class hierarchy:

PtWidgetPtBasicPtGraphicPtArc

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

PhAB icon:

PtArc button in PhAB

Public header:

<photon/PtArc.h>

Description:

You can use PtArc to create an elliptical arc that's defined by:


PtArc


Instances of PtArc: arcs, circles, ellipses, wedges, and chords.

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_ARG_ARC_START and Pt_ARG_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 results 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; one of:

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_ANCHOR_FLAGS PtWidget
Pt_ARG_ANCHOR_OFFSETS PtWidget
Pt_ARG_AREA PtWidget
Pt_ARG_BASIC_FLAGS PtBasic
Pt_ARG_BEVEL_WIDTH PtWidget
Pt_ARG_BITMAP_CURSOR PtWidget
Pt_ARG_BEVEL_COLOR PtBasic
Pt_ARG_BEVEL_CONTRAST PtBasic
Pt_ARG_COLOR PtBasic
Pt_ARG_CONTRAST PtBasic
Pt_ARG_CURSOR_COLOR PtWidget
Pt_ARG_CURSOR_TYPE PtWidget
Pt_ARG_DARK_BEVEL_COLOR PtBasic
Pt_ARG_DARK_FILL_COLOR PtBasic
Pt_ARG_DASH_LIST PtGraphic
Pt_ARG_DASH_SCALE PtGraphic
Pt_ARG_DATA PtWidget
Pt_ARG_DIM PtWidget
Pt_ARG_EFLAGS PtWidget
Pt_ARG_EXTENT PtWidget
Pt_ARG_FILL_COLOR PtBasic Pg_TRANSPARENT
Pt_ARG_FILL_PATTERN PtBasic
Pt_ARG_FLAGS PtWidget
Pt_ARG_GRAPHIC_FLAGS PtGraphic
Pt_ARG_HEIGHT PtWidget
Pt_ARG_HELP_TOPIC PtWidget
Pt_ARG_HIGHLIGHT_ROUNDNESS PtBasic
Pt_ARG_INLINE_COLOR PtBasic
Pt_ARG_INSIDE_COLOR PtGraphic
Pt_ARG_LIGHT_BEVEL_COLOR PtBasic
Pt_ARG_LIGHT_FILL_COLOR 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_MAXIMUM_DIM PtWidget
Pt_ARG_MINIMUM_DIM PtWidget
Pt_ARG_ORIGIN PtGraphic
Pt_ARG_OUTLINE_COLOR PtBasic
Pt_ARG_POINTER PtWidget
Pt_ARG_POINTS PtGraphic
Pt_ARG_POS PtWidget
Pt_ARG_RESIZE_FLAGS PtWidget Pt_RESIZE_XY_AS_REQUIRED
Pt_ARG_STYLE PtBasic
Pt_ARG_TRANS_PATTERN PtBasic
Pt_ARG_USER_DATA PtWidget
Pt_ARG_WIDTH PtWidget
Pt_CB_ACTIVATE PtBasic
Pt_CB_ARM PtBasic
Pt_CB_BLOCKED PtWidget
Pt_CB_DESTROYED PtWidget
Pt_CB_DISARM PtBasic
Pt_CB_DND PtWidget
Pt_CB_FILTER PtWidget
Pt_CB_GOT_FOCUS PtBasic
Pt_CB_HOTKEY PtWidget
Pt_CB_IS_DESTROYED PtWidget
Pt_CB_LOST_FOCUS PtBasic
Pt_CB_MENU PtBasic
Pt_CB_OUTBOUND PtWidget
Pt_CB_RAW PtWidget
Pt_CB_REALIZED PtWidget
Pt_CB_REPEAT PtBasic
Pt_CB_RESCALE PtGraphic
Pt_CB_UNREALIZED PtWidget