DEFINITION MODULE VDIInquires;


FROM GEMVDIbase IMPORT
     (* types *) VDIWorkOutType,
                 PxyArrayType,
                 BigPxyArrayType,
                 FontNameType,
                 TextAttrArrayType,
                 SmallArrayType,
                 DistanceArrayType,
                 RGBArrayType;


(* Inquire functions *)

PROCEDURE ExtendedInquire (Handle, OWFlag: INTEGER;
                           VAR WorkOut: VDIWorkOutType);

(* Extended Inquire function *)


PROCEDURE InquireColour (Handle, ColourIndex, setFlag: INTEGER;
                         VAR rgb: RGBArrayType);

(* inquire colour representation *)


PROCEDURE InquireLineAttributes (Handle: INTEGER;
                                 VAR attrib: BigPxyArrayType);

(* inquire polyline attributes *)


PROCEDURE InquireMarkerAttributes (Handle: INTEGER;
                                   VAR attrib: BigPxyArrayType);

(* inquire polymarker attributes *)


PROCEDURE InquireFillAttributes (Handle: INTEGER;
                                 VAR attrib: BigPxyArrayType);

(* inquire fill area attributes *)


PROCEDURE InquireTextAttributes (Handle: INTEGER;
                                 VAR attrib: TextAttrArrayType);

(* Inquire graphic text attributes *)


PROCEDURE InquireTextExtent (Handle: INTEGER;
                             VAR string: ARRAY OF CHAR;
                                 extent: BigPxyArrayType);

(* Inquire text extent *)


PROCEDURE InquireCharWidth (Handle: INTEGER; character: CHAR;
                            VAR CellWidth,
                                LeftDelta, RightDelta: INTEGER): INTEGER;

(* inquire character cell width *)


PROCEDURE InquireFaceName (Handle, elementNum: INTEGER;
                           VAR name: FontNameType): INTEGER;

(* inquire face name and index *)

 
PROCEDURE InquireCellArray (Handle: INTEGER;
                            VAR PxyArray: PxyArrayType;
                                rowLength, numRows: INTEGER;
                            VAR elUsed, rowsUsed, status: INTEGER;
                            VAR ColArray: ARRAY OF INTEGER);

(* inquire cell array *)

(* not yet implemented *)


PROCEDURE InquireInputMode (Handle, devType: INTEGER;
                            VAR inputMode: INTEGER);

(* inquire input mode *)


PROCEDURE InquireFaceInfo (Handle: INTEGER; 
                           VAR minADE, maxADE: INTEGER;
                           VAR distances: DistanceArrayType;
                           VAR maxWidth: INTEGER;
                           VAR effects: RGBArrayType);

(* inquire current face information *)


END VDIInquires.
