DEFINITION VDIRaster; (* SJ *)


TYPE mfdbrec*   = RECORD                (* memory form definition block *)
                    Addr*   : LONGINT;  (* address of first plane       *)
                    Width*  : INTEGER;  (* form width in pixels         *)
                    Height* : INTEGER;  (* form height in pixels        *)
                    WidthW* : INTEGER;  (* form width in words          *)
                    Format* : INTEGER;  (* format, 0 = device specific
                                                    1 = standard format  *)
                    Planes* : INTEGER;  (* number of memory planes      *)
                    Rsrvd1  : INTEGER;
                    Rsrvd2  : INTEGER;
                    Rsrvd3  : INTEGER;
                  END(*RECORD*);
     pxyarray*  = ARRAY 8 OF INTEGER;


PROCEDURE VroCpyfm*(Handle,WrMode : INTEGER; VAR PxyArray : pxyarray;
                    VAR SrcMFDB,DesMFDB : mfdbrec);

PROCEDURE VrtCpyfm*(Handle,WrMode : INTEGER; VAR PxyArray : pxyarray;
                    VAR SrcMFDB,DesMFDB : mfdbrec; Color0,Color1 : INTEGER);

PROCEDURE VrTrnfm*(Handle : INTEGER; VAR SrcMFDB,DesMFDB : mfdbrec);

PROCEDURE VGetPixel*(Handle,X,Y : INTEGER; VAR Pel,Index : INTEGER);

(* the following scroll procedures are based on VroCpyfm and scroll the
   given area the number of pixels in the direction given by the name *)

PROCEDURE ScrollDown*(Handle,x1,y1,x2,y2,Pixels : INTEGER);

PROCEDURE ScrollUp*(Handle,x1,y1,x2,y2,Pixels : INTEGER);

PROCEDURE ScrollRight*(Handle,x1,y1,x2,y2,Pixels : INTEGER);

PROCEDURE ScrollLeft*(Handle,x1,y1,x2,y2,Pixels : INTEGER);

END VDIRaster.
