DEFINITION MODULE VDIRasters;

FROM SYSTEM     IMPORT ADDRESS;

FROM GEMVDIbase IMPORT BigPxyArrayType, SmallArrayType;


TYPE
  MFDBType = RECORD                (* memory form definition block *)
               pointer: ADDRESS;   (* address of first plane       *)
               width:   CARDINAL;  (* form width in pixels         *)
               height:  CARDINAL;  (* form height in pixels        *)
               widthW:  CARDINAL;  (* form width in words          *)
               format:  CARDINAL;  (* format, 0 = device specific
                                              1 = standard format  *)
               planes:  CARDINAL;  (* number of memory planes      *)
               rsrvd1:  CARDINAL;
               rsrvd2:  CARDINAL;
             END;

  MFDBptr  = POINTER TO MFDBType;


(* raster operations *)

PROCEDURE CopyRasterOpaque (Handle, WrMode: INTEGER;
                            VAR PxyArray: BigPxyArrayType;
                            psrcMFDB, pdesMFDB: ADDRESS);

(* copy raster, opaque *)


PROCEDURE CopyRasterTransparent (Handle, WrMode: INTEGER;
                                 VAR PxyArray: BigPxyArrayType;
                                 VAR psrcMFDB, pdesMFDB: ADDRESS;
                                 VAR colourIndex: SmallArrayType);

(* copy raster, transparent *)


PROCEDURE TransformForm (Handle: INTEGER; psrcMFDB, pdesMFDB: ADDRESS);

(* transform form *)


PROCEDURE GetPixel (Handle, x, y: INTEGER; VAR pel, index: INTEGER);

(* get pixel *)

END VDIRasters.
