PUTIMAGE, PUTIMAGE_W (W*32, W*64)

Graphics Subroutines: Transfer the image stored in memory to the screen.

Module: USE IFQWIN

Syntax

CALL PUTIMAGE (x, y, image, action)
CALL PUTIMAGE_W (wx, wy, image, action)


x, y
(Input) INTEGER(2). Viewport coordinates for upper-left corner of the image when placed on the screen.


wx, wy
(Input) REAL(8). Window coordinates for upper-left corner of the image when placed on the screen.


image
(Input) INTEGER(1). Array of single-byte integers. Stored image buffer.


action
(Input) INTEGER(2). Interaction of the stored image with the existing screen image. One of the following symbolic constants (defined in IFQWIN.F90):


PUTIMAGE places the upper-left corner of the image at the viewport coordinates (x,y). PUTIMAGE_W places the upper-left corner of the image at the window coordinates (wx, wy).

Compatibility

STANDARD GRAPHICS QUICKWIN GRAPHICS LIB

See Also

GETIMAGE, GRSTATUS, IMAGESIZE

Example

 ! Build as a Graphics App.
 USE IFQWIN
 INTEGER(1), ALLOCATABLE :: buffer(:)
 INTEGER(2) status, x
 INTEGER(4) imsize

 status = SETCOLOR(INT2(4))
 ! draw a circle
 status = ELLIPSE($GFILLINTERIOR,INT2(40),INT2(55),    &
                   INT2(70),INT2(85))
 imsize = IMAGESIZE (INT2(39),INT2(54),INT2(71), &
                   INT2(86))
 ALLOCATE (buffer(imsize))
 CALL GETIMAGE(INT2(39),INT2(54),INT2(71),INT2(86),    &
               buffer)
 ! copy a row of circles beneath it
 DO x = 5 , 395, 35
    CALL PUTIMAGE(x, INT2(90), buffer, $GPSET)
 END DO
 DEALLOCATE(buffer)
 END