GriffinMenusInterface.mesa
Lets a program click Griffin Menus
If this changes:
compile GriffinMenusInterfaceImpl ControllerMenus DrawOps FigureOps GriffinMain ObjectOps
Maureen Stone April 16, 1984 4:12:06 pm PST
DIRECTORY
MenuDefs USING [MenuItemHandle, MenuProc],
GriffinDefs USING [TypeIntoMenuItem, TypeIn, TypeInAtControlPt, EndTypeIn],
PointDefs USING [ScrPt, ObjPt],
Rope USING [ROPE];
GriffinMenusInterface: DEFINITIONS
IMPORTS GriffinDefs = {
MenuItemFromRope: PROC [rope: Rope.ROPE] RETURNS [MenuDefs.MenuItemHandle];
MenuProc: TYPE = PROC[item: MenuItemHandle];
--Style menus (ControllerMenus)
Shape, color and text
SetThickness: MenuDefs.MenuProc; --1, 2, 3, 4
ColorControl: MenuDefs.MenuProc; --outlined, filled or both
ColorType: MenuDefs.MenuProc; --the colors themselves
TextDir: MenuDefs.MenuProc; --0 d, 90 d, etc
CharDir: MenuDefs.MenuProc; --0 char d, 90 char d, etc
TypeIntoFontName: MenuDefs.MenuProc; --type in place for font name
AddFontItem: MenuDefs.MenuProc; --adds font name from TypeIntoFileName
SetFont: MenuDefs.MenuProc; --font names
SetCenter: MenuDefs.MenuProc; --left, center, right
Editing menus (DrawOps)
expand style menus
ExpandShape: MenuDefs.MenuProc; --open style menus: shape, color and text
ExpandColor: MenuDefs.MenuProc;
ExpandText: MenuDefs.MenuProc;
ApplyStyle: MenuDefs.MenuProc; --apply the current style
IndicateStyle: MenuDefs.MenuProc; --indicate the current style
outline editing
FittingType: MenuDefs.MenuProc;
ExpandSplines: MenuDefs.MenuProc;
SplineType: MenuDefs.MenuProc;
NewLink: MenuDefs.MenuProc;
BackLink: MenuDefs.MenuProc;
Draw: MenuDefs.MenuProc;
Close: MenuDefs.MenuProc;
Box: MenuDefs.MenuProc;
Modify: MenuDefs.MenuProc;
Figure related menus (FigureOps)
Refresh: MenuDefs.MenuProc;
Press: MenuDefs.MenuProc;
Save: MenuDefs.MenuProc;
Restore: MenuDefs.MenuProc;
TypeIntoFileName: MenuDefs.MenuProc;
GridMenuProc: MenuDefs.MenuProc;
Merge: MenuDefs.MenuProc;
Switch: MenuDefs.MenuProc;
ColorMap: MenuDefs.MenuProc;
open and close the top level menu (GriffinMain)
Edit, Objects, Style, Files, Transform, Overlap, View
ToggleShowMenu: MenuDefs.MenuProc;
object operations (ObjectOps)
Delete: MenuDefs.MenuProc;
Undo: MenuDefs.MenuProc;
SelectAll: MenuDefs.MenuProc;
DeselectAll: MenuDefs.MenuProc;
Cluster: MenuDefs.MenuProc;
UnCluster: MenuDefs.MenuProc;
Transfer: MenuDefs.MenuProc;
ChangeOverlap: MenuDefs.MenuProc; --Top, Bottom, Up One, Down One
XForm: MenuDefs.MenuProc; --Map, Scale, ScaleX, ScaleY, Rotate
Toggle: MenuDefs.MenuProc; --Use Copy
procedures to control type in
TypeIntoMenuItem: MenuDefs.MenuProc = INLINE {
GriffinDefs.TypeIntoMenuItem[item]};
TypeIn: PROCEDURE[ch: CHARACTER] = INLINE {GriffinDefs.TypeIn[ch]};
TypeInAtControlPt: PROCEDURE = INLINE {GriffinDefs.TypeInAtControlPt[]};
EndTypeIn: PROCEDURE = INLINE {GriffinDefs.EndTypeIn[]};
procedurs to define control points. Point is constructed [x,y]
ScrPt: TYPE = ARRAY [X..Y] OF INTEGER. X=1, Y=2;
ObjPt: TYPE = ARRAY [X..Y] OF REAL. X=1, Y=2;
PlaceScreenCP: PROCEDURE[pt: PointDefs.ScrPt]; --standard interface
PlaceObjectCP: PROCEDURE[pt: PointDefs.ObjPt]; --more precision
}.