ARC, ARC_W

Graphics Function: Draws elliptical arcs using the current graphics color.

Module: USE DFLIB

Syntax

result = ARC (x1, y1, x2, y2, x3, y3, x4, y4)
result = ARC_W (wx1, wy1, wx2, wy2, wx3, wy3, wx4, wy4)


x1, y1
(Input) INTEGER(2). Viewport coordinates for upper-left corner of bounding rectangle.


x2, y2
(Input) INTEGER(2). Viewport coordinates for lower-right corner of bounding rectangle.


x3, y3
(Input) INTEGER(2). Viewport coordinates of start vector.


x4, y4
(Input) INTEGER(2). Viewport coordinates of end vector.


wx1,wy1
(Input) REAL(8). Window coordinates for upper-left corner of bounding rectangle.


wx2, wy2
(Input) REAL(8). Window coordinates for lower-right corner of bounding rectangle.


wx3, wy3
(Input) REAL(8). Window coordinates of start vector.


wx4, wy4
(Input) REAL(8). Window coordinates of end vector.

Results:

The result is of type INTEGER(2). It is nonzero if successful; otherwise, 0. If the arc is clipped or partially out of bounds, the arc is considered successfully drawn and the return is 1. If the arc is drawn completely out of bounds, the return is 0.

The center of the arc is the center of the bounding rectangle defined by the points (x1, y1) and (x2, y2) for ARC and (wx1, wy1) and (wx2, wy2) for ARC_W.

The arc starts where it intersects an imaginary line extending from the center of the arc through (x3, y3) for ARC and (wx3, wy3) for ARC_W. It is drawn counterclockwise about the center of the arc, ending where it intersects an imaginary line extending from the center of the arc through (x4, y4) for ARC and (wx4, wy4) for ARC_W.

ARC uses the view-coordinate system. ARC_W uses the window-coordinate system. In each case, the arc is drawn using the current color.


Note: The ARC routine described here is a QuickWin routine. If you are trying to use the Win32 SDK version of the Arc routine by including the DFWIN module, you need to specify the routine name as MSFWIN$Arc. For more information, see Special Naming Convention for Certain QuickWin and Win32 Graphics Routines in the Programmer's Guide.

Compatibility

STANDARD GRAPHICS QUICKWIN GRAPHICS LIB

Example

This program draws the arc below.

  USE DFLIB
  INTEGER(2) status, x1, y1, x2, y2, x3, y3, x4, y4

  x1 = 80; y1 = 50
  x2 = 240; y2 = 150
  x3 = 120; y3 = 75
  x4 = 90; y4 = 180
  status = ARC( x1, y1, x2, y2, x3, y3, x4, y4 )
  END

Figure: Output of Program ARC.FOR