•  Back 
  •  Main 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help 
  •  Show info about hypertext 
  •  View a new file 
Topic       : The GFA-Basic Compendium
Author      : GFA Systemtechnik GmbH
Version     : GFABasic.HYP v2.98 (12/31/2023)
Subject     : Documentation/Programming
Nodes       : 899
Index Size  : 28056
HCP-Version : 3
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Document not found
@help       : Help
@options    : +g -i -s +z
@width      : 75
@hostname   : STRNGSRV
@hostname   : CAB     
@hostname   : HIGHWIRE
@hostname   : THING   
View Ref-FilePOLYLINE n,x(),y() [OFFSET x_off,y_off]
POLYMARK n,x(),y() [OFFSET x_off,y_off]
POLYFILL n,x(),y() [OFFSET x_off,y_off]

n, x_off, y_off: iexp
x(), y(): avar-array

POLYLINE draws a polygon with n corners. The x,y coordinates for the corner
points are given in arrays x() and y(). The first corner points are in x(0) and
y(0), the last in x(n-1) and y(n-1). An optional parameter, OFFSET, can be
added to these coordinates, the magnitude of offset being given by x_off and
y_off. Parameter 'n' equals the number of points to connect.

POLYMARK marks the corner points with the shape defined by DEFMARK. Parameter
'n' equals the number of marks to be drawn.

POLYFILL fills the polygon with the pattern and color previously defined by
DEFFILL. The first and last corner points are connected automatically.

Example:

    DIM x%(3),y%(3)
    FOR i%=0 TO 3
      READ x%(i%),y%(i%)
    NEXT i%
    DATA 120,120,170,170,70,170,120,120
    POLYLINE 4,x%(),y%()
    POLYFILL 3,x%(),Y%() OFFSET -50,-50
    DEFMARK ,4,10
    POLYMARK 3,x%(),y%() OFFSET 40,-80
    ~INP(2)

--> Draws an outline triangle and a filled triangle, as well as rectangular
    corner marks of a further triangle. A key is then waited for.

Memo: Byte and boolean arrays are not accepted.
      The first and last corner points are connected automatically only in the
      case of POLYFILL.

      Parameter 'n' is limited to 512. If exceeded:
        Interpreted: An error is generated.
        Compiled: Only the first 512 points will be drawn.
      This limit does not match error message #27 which states a maximum of
        128 points. Anything over 128 points causes an internal buffer overrun.

v_pline()+, v_pmarker()+, v_fillarea()+