DEFINITION MODULE VDIControls;


FROM GEMVDIbase IMPORT VDIWorkInType, VDIWorkOutType, PxyArrayType;




PROCEDURE OpenWorkstation (VAR WorkIn:  VDIWorkInType;
                           VAR Handle:  INTEGER;
                           VAR WorkOut: VDIWorkOutType);

(* loads a device driver, and initialises device with parameters passed *)


PROCEDURE CloseWorkstation (Handle: INTEGER);

(* closes graphics device properly, and returns to alpha mode *)


PROCEDURE OpenVirtualWorkstation (VAR WorkIn:  VDIWorkInType;
                                  VAR Handle:  INTEGER;
                                  VAR WorkOut: VDIWorkOutType);

(* open virtual screen workstation *)


PROCEDURE CloseVirtualWorkstation (Handle: INTEGER);

(* close virtual device, preventing further output to it *)


PROCEDURE ClearWorkstation (Handle: INTEGER);

(* clear workstation. Erases the screen *) 


PROCEDURE UpdateWorkstation (Handle: INTEGER);

(* execute immediately all pending graphics commands *)


PROCEDURE LoadFonts (Handle, Select: INTEGER): INTEGER;

(* loads fonts and makes them available *)


PROCEDURE UnloadFonts (Handle, Select: INTEGER);

(* dissociates fonts and removes them from memory *)


PROCEDURE SetClipping (Handle, ClipFlag: INTEGER;
                       VAR PxyArray: PxyArrayType);

(* enable/disable clipping of all ouput by GEM VDI *)

END VDIControls.
