Developer Guide and Reference

ID 767251
Date 10/31/2024
Public
Document Table of Contents

LINETOAREX

Graphics Function: Draws a line between each x,y point in the from-array to each corresponding x,y point in the to-array. Each line is drawn with the specified graphics color and line style. This routine is only available for Windows.

Module

USE IFQWIN

result = LINETOAREX (loc(fx), loc(fy), loc(tx) loc(ty), loc(C), loc(S), cnt)

fx

(Input) INTEGER(2). From x viewport coordinate array.

fy

(Input) INTEGER(2). From y viewport coordinate array.

tx

(Input) INTEGER(2). To x viewport coordinate array.

ty

(Input) INTEGER(2). To y viewport coordinate array.

C

(Input) INTEGER(4). Color array.

S

(Input) INTEGER(4). Style array.

cnt

(Input) INTEGER(4). Length of each coordinate array; also the length of the color array and style array. All of the arrays should be the same size.

Results

The result type is INTEGER(2). The result is a nonzero value if successful; otherwise, zero.

The lines are drawn using the specified graphics colors and line styles, and with the current write mode. The current write mode is set with SETWRITEMODE.

If the color has the Z'80000000' bit set, the color is an RGB color; otherwise, the color is a palette color.

The styles are as follows from wingdi.h:

  SOLID            0
  DASH             1       /* -------  */
  DOT              2       /* .......  */
  DASHDOT          3       /* _._._._  */
  DASHDOTDOT       4       /* _.._.._  */
  NULL             5

Example

  ! Build for QuickWin or Standard Graphics
  USE IFQWIN
  integer(2) fx(3),fy(3),tx(3),ty(3),result
  integer(4) C(3),S(3),cnt,i,color

  color = #000000FF

  ! load the points
  do i = 1,3
     S(i) = 0  ! all lines solid
     C(i) = IOR(Z'80000000',color)
     color = color*256 ! pick another of RGB
     if(IAND(color,Z'00FFFFFF').eq.0) color = Z'000000FF'
     !from here
     fx(i) =20*i
     fy(i) =10
     !to there
     tx(i) =20*i
     ty(i) =60
   end do
   ! draw the lines all at once
   ! 3 vertical lines in upper left corner, Red, Green, and Blue
   result = LINETOAREX(loc(fx),loc(fy),loc(tx),loc(ty),loc(C),loc(S),3)
   end