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]; 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 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 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; 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; ToggleShowMenu: MenuDefs.MenuProc; 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 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[]}; PlaceScreenCP: PROCEDURE[pt: PointDefs.ScrPt]; --standard interface PlaceObjectCP: PROCEDURE[pt: PointDefs.ObjPt]; --more precision }. Ü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 MenuProc: TYPE = PROC[item: MenuItemHandle]; --Style menus (ControllerMenus) Shape, color and text Editing menus (DrawOps) expand style menus outline editing Figure related menus (FigureOps) open and close the top level menu (GriffinMain) Edit, Objects, Style, Files, Transform, Overlap, View object operations (ObjectOps) procedures to control type in 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; Ê$˜Jšœ™Jšœ"™"šœ™JšœZ™Z—Jšœ+™+šÏk ˜ Jšœ œ˜*Jšœ œ:˜KJšœ œ˜Jšœœœ˜J˜—JšÏbœ ˜"Jšœ˜JšÏnœœ œœ˜KJšœ,™,™Jšœ™Jšž œÏc ˜-Jšž œ ˜;Jšž œ ˜5Jšžœ ˜,Jšžœ ˜6Jšžœ ˜BJšž œ &˜FJšžœ  ˜(Jšž œ ˜3—šœ™J™Jšž œ )˜IJšž œ˜Jšž œ˜Jšž œ ˜8Jšž œ ˜>Jšœ™Jšž œ˜Jšž œ˜!Jšž œ˜Jšžœ˜Jšžœ˜Jšžœ˜Jšžœ˜Jšžœ˜Jšžœ˜—šœ ™ Jšžœ˜Jšžœ˜Jšžœ˜Jšžœ˜Jšžœ˜$Jšž œ˜ Jšžœ˜Jšžœ˜Jšžœ˜—Jšœ/™/šœ5™5Jšžœ˜"—šœ™Jšžœ˜Jšžœ˜Jšž œ˜Jšž œ˜Jšžœ˜Jšž œ˜Jšžœ˜Jšž œ ˜AJšžœ $˜>Jšžœ  ˜%—šœ™šžœœ˜.Jšœ$˜$—JšŸœ œ œœ˜CJšŸœ œœ#˜HJšŸ œ œœ˜8—Jšœ?™?Jšœœ !œ™0šœœ œ™-JšŸ œ œ+˜CJšŸ œ œ'˜?—Jšœ˜—…— ``