-- Compiler ControllerDefs
-- Stone, for ExpungeStyles, April 30, 1981  1:15 PM
-- Stone, for color stuff, September 18, 1980  11:05 PM
-- Tiberi, November 6, 1979  3:05 AM
-- interface module for griffin file controllers

DIRECTORY StyleDefs: FROM "StyleDefs", GriffinFontDefs: FROM "GriffinFontDefs";


-- ---------------------------------------------------------------------------------
-- ---------------------------------------------------------------------------------
ControllerDefs:  DEFINITIONS =

BEGIN 

HardcopyController: TYPE= RECORD[hxcenter, hycenter, hwidth, hheight: REAL,
	pressxcenter, pressycenter: CARDINAL, hscale: REAL];

DisplayController: TYPE=RECORD[dxcenter, dycenter, dwidth, dheight: CARDINAL,
	dxscale, dyscale, dxorigin, dyorigin: REAL,
	dgridsize: CARDINAL];

SetHardcopyController: PROCEDURE [HardcopyController];

SetDisplayController: PROCEDURE [DisplayController];

ReadDisplayController: PROCEDURE RETURNS [DisplayController];

ReadHardcopyController: PROCEDURE RETURNS [HardcopyController];

SetGreyOfColor: PROCEDURE [color: StyleDefs.Color, grey: [0 .. 255]];

InitColorMap: PROCEDURE[color: BOOLEAN];
GetColorMapIndex: PROCEDURE [color: StyleDefs.Color] RETURNS [CARDINAL];

IntensityOfColor: PROCEDURE [color: StyleDefs.Color] RETURNS [INTEGER]; GreyOfColor: PROCEDURE [color: StyleDefs.Color] RETURNS [POINTER TO ARRAY [0 .. 3] OF CARDINAL];
CPProcedure: TYPE = PROCEDURE [color: StyleDefs.Color, grey: [0 .. 255]];

ForAllControlPairs: PROCEDURE [proc: CPProcedure];

AppendStyle: PROCEDURE [StyleDefs.StyleHandle] RETURNS [CARDINAL];

NumberOfStyle: PROCEDURE [StyleDefs.StyleHandle] RETURNS [CARDINAL];

StyleWithNumber: PROCEDURE [CARDINAL] RETURNS [StyleDefs.StyleHandle];

ExpungeStyles: PROCEDURE;

AppendFont: PROCEDURE [GriffinFontDefs.FontDescriptor] RETURNS [CARDINAL];

FontWithNumber: PROCEDURE [CARDINAL] RETURNS [GriffinFontDefs.FontDescriptor];

ForAllStyles: PROCEDURE [PROCEDURE [StyleDefs.StyleHandle]];

ForAllFonts: PROCEDURE [PROCEDURE [GriffinFontDefs.FontDescriptor]];

CurrentStyle: PROCEDURE RETURNS [StyleDefs.StyleHandle];

DefaultControllers: PROCEDURE;

-- these two only for menu style stuff
CurrentStyleRecord: PROCEDURE RETURNS [StyleDefs.StyleHandle];
CurrentFontDescriptor: PROCEDURE RETURNS [GriffinFontDefs.FontDescriptorHandle];


ControllerError: SIGNAL;

END.