\ General support for graphics.
\
\ Biuld Forth words that call Amiga libraries.
\ All addresses are passed as relative JForth addresses
\ that are converted to absolute before being passed
\ to the Amiga library.
\
\ Author: Phil Burk
\ Copyright 1987

decimal

ANEW TASK-GRAPH_SUPPORT

: RASSIZE() ( height width -- size_in_bytes )
    swap 15 + -3 ashift
    $ FFFE and
    *
;

: ALLOCRASTER() ( x y -- address )
    call graphics_lib allocraster if>rel
;

: FREERASTER() ( address x y -- )
    >r >r >abs r> r> call graphics_lib freeraster drop
;

: INITTMPRAS() ( tmpras buffer size -- tmpras )
    >r >abs >r >abs r> r>
    call graphics_lib inittmpras
    if>rel
;

: INITVIEW() ( view -- )
    >abs call graphics_lib initview drop
;

: INITVPORT() ( -- viewport )
    >abs call graphics_lib initvport drop
;

: MAKEVPORT()  ( view viewport -- )
    >abs >r >abs r>
    call graphics_lib makevport drop
;

: MRGCOP()  ( view -- )
    >abs
    call graphics_lib mrgcop drop
;

: LOADVIEW()  ( view -- )
    >abs
    call graphics_lib loadview drop
;

