SETWRITEMODE (W*32, W*64)

Graphics Function: Sets the current logical write mode, which is used when drawing lines with the LINETO, POLYGON, and RECTANGLE functions.

Module: USE IFQWIN

Syntax

result = SETWRITEMODE (wmode)

wmode
(Input) INTEGER(2). Write mode to be set. One of the following symbolic constants (defined in IFQWIN.F90):


In addition, one of the following binary raster operation constants can be used (described in the online documentation for the Windows* API SetROP2):

Results

The result type is INTEGER(2). The result is the previous write mode if successful; otherwise, -1.

The current graphics color is set with SETCOLORRGB (or SETCOLOR) and the current background color is set with SETBKCOLORRGB (or SETBKCOLOR). As an example, suppose you set the background color to yellow (Z'00FFFF') and the graphics color to purple (Z'FF00FF') with the following commands:

  oldcolor = SETBKCOLORRGB(Z'00FFFF')
  CALL CLEARSCREEN($GCLEARSCREEN)
  oldcolor = SETCOLORRGB(Z'FF00FF') 

If you then set the write mode with the $GAND option, lines are drawn in red (Z'0000FF'); with the $GOR option, lines are drawn in white (Z'FFFFFF'); with the $GXOR option, lines are drawn in turquoise (Z'FFFF00'); and with the $GPRESET option, lines are drawn in green (Z'00FF00'). Setting the write mode to $GPSET causes lines to be drawn in the graphics color.

Compatibility

STANDARD GRAPHICS QUICKWIN GRAPHICS LIB

See Also

GETWRITEMODE, GRSTATUS, LINETO, POLYGON, PUTIMAGE, RECTANGLE, SETCOLOR, SETLINESTYLE, Building Applications: Setting Figure Properties

Example

 ! Build as a Graphics ap.
 USE IFQWIN
 INTEGER(2) result, oldmode
 INTEGER(4) oldcolor
 TYPE (xycoord) xy

 oldcolor = SETBKCOLORRGB(Z'00FFFF')
 CALL CLEARSCREEN ($GCLEARSCREEN)
 oldcolor = SETCOLORRGB(Z'FF00FF')
 CALL MOVETO(INT2(0), INT2(0), xy)
 result = LINETO(INT2(200), INT2(200)) ! purple

 oldmode = SETWRITEMODE( $GAND)
 CALL MOVETO(INT2(50), INT2(0), xy)
 result = LINETO(INT2(250), INT2(200)) ! red
 END