CanvasDrawArc
int CanvasDrawArc (int panelHandle, int controlID, Rect rectangle, int beginningAngle, int arcAngle, int drawMode);
Purpose
Draws an arc on the canvas control. Define the arc by specifying a rectangle that encloses the arc, along with a beginning angle, in tenths of degrees, and an arc angle, in tenths of degrees.
The arc is a section of an oval. A beginning angle of 0 indicates that the arc starts at the midpoint of the right edge of the rectangle. The arc angle indicates how far around the oval, counter-clockwise, up to 3,600, to extend the arc.
CanvasDrawArc draws the frame of the arc using the current value of the following attributes:
ATTR_PEN_COLOR
ATTR_PEN_MODE
ATTR_PEN_WIDTH
ATTR_PEN_STYLE (ignored when pen width is greater than one)
CanvasDrawArc draws interior of the arc using the current value of the following attributes:
ATTR_PEN_FILL_COLOR
ATTR_PEN_MODE
ATTR_PEN_PATTERN
The frame of the arc does not include the radius lines going from the center of the oval to the end points of the arc.
Supported Controls
You can use CanvasDrawArc with canvas controls.
Parameters
Input | ||
Name | Type | Description |
panelHandle | int | Specifier for a particular panel that is currently in memory. You can obtain this handle from functions such as LoadPanel and NewPanel. |
controlID | int | The defined constant, located in the .uir header file, that you assigned to the control in the User Interface Editor, or the ID returned by functions such as NewCtrl and DuplicateCtrl. |
rectangle | Rect | Rect structure specifying the location and size of the rectangle within which to draw the arc. The Rect structure is defined as follows: typedef struct { int top; int left; int height; int width; } Rect; You can create a Rect without having to declare a variable by using the following function: Rect MakeRect (int top, int left, int height, int width); ExampleCanvasDrawArc (panelHandle, controlID, MakeRect(20,30,150,200), 0, 90, VAL_DRAW_FRAME); |
beginningAngle | int | Starting angle of the arc, in tenths of degrees. 0 indicates the arc starts at the midpoint of the right edge of the rectangle. 900 indicates that the arc starts at the midpoint of the top edge of the rectangle. Negative values are valid. |
arcAngle | int | Indicates how far around the oval, counter-clockwise, up to 3,600, to extend the arc.
This value is specified in tenths of degrees. If the beginning angle is 900 and the arc angle is 1,800, the arc is drawn from the midpoint of the top edge of the rectangle to the midpoint of the bottom edge. Negative values are valid. |
drawMode | int | Specifies whether to draw the arc frame, or interior, or both. The following lists the valid values. VAL_DRAW_FRAME VAL_DRAW_INTERIOR VAL_DRAW_FRAME_AND_INTERIOR The frame of the arc does not include the radius lines going from the center of the oval to the end points of the arc. |
Return Value
Name | Type | Description |
status | int | Return value indicating whether the function was successful. A negative number indicates that an error occurred. |
Additional Information
Library: User Interface Library
Include file: userint.h
LabWindows/CVI compatibility: LabWindows/CVI 4.0 and later
Example
Refer to userint\canvas.cws for an example of using the CanvasDrawArc function.