<> <> <> <> <<>> DIRECTORY AtomButtons, GGCoreTypes, Imager, ImagerColor, ImagerTransformation, Rope; GGCoreOps: CEDAR DEFINITIONS = BEGIN EventListt: TYPE = GGCoreTypes.EventListt; -- spelled with two t's for "List and a Tail pointer" Event: TYPE = GGCoreTypes.Event; RopeListt: TYPE = GGCoreTypes.RopeListt; -- spelled with two t's for "List and a Tail pointer" ScalarButton: TYPE = AtomButtons.ScalarButton; <> <<>> NewEventListt: PROC [] RETURNS [listt: EventListt]; FlushEventListt: PROC [listt: EventListt]; AppendEvent: PROC [event: Event, listt: EventListt]; NoEvents: PROC [listt: EventListt] RETURNS [BOOL]; ForEachEvent: PROC [listt: EventListt, eachEventProc: EachEventProc]; EachEventProc: TYPE = PROC [thisEvent: Event] RETURNS [done: BOOL _ FALSE]; NewRopeListt: PROC [] RETURNS [listt: RopeListt]; FlushRopeListt: PROC [listt: RopeListt]; AppendRope: PROC [rope: Rope.ROPE, listt: RopeListt]; NoRopes: PROC [listt: RopeListt] RETURNS [BOOL]; ForEachRope: PROC [listt: RopeListt, eachRopeProc: EachRopeProc]; EachRopeProc: TYPE = PROC [thisRope: Rope.ROPE] RETURNS [done: BOOL _ FALSE]; <<>> <> <<>> StartList: PROC [] RETURNS [entityList, ptr: LIST OF REF ANY]; AddEntity: PROC [entity: REF ANY, entityList, ptr: LIST OF REF ANY] RETURNS [newList, newPtr: LIST OF REF ANY]; List: PROC [ref1, ref2, ref3: REF ANY _ NIL] RETURNS [LIST OF REF ANY]; <> <<>> <> <<>> StartRealList: PROC [] RETURNS [entityList, ptr: LIST OF REAL]; AddReal: PROC [entity: REAL, entityList, ptr: LIST OF REAL] RETURNS [newList, newPtr: LIST OF REAL]; AppendRealList: PROC [list1, list2: LIST OF REAL] RETURNS [result: LIST OF REAL]; SortRealList: PROC [list: LIST OF REAL, ascending: BOOL _ TRUE] RETURNS [sortedList: LIST OF REAL]; <> <> <<>> StartBoolList: PROC [] RETURNS [entityList, ptr: LIST OF BOOL]; AddBool: PROC [entity: BOOL, entityList, ptr: LIST OF BOOL] RETURNS [newList, newPtr: LIST OF BOOL]; AppendBoolList: PROC [list1, list2: LIST OF BOOL] RETURNS [result: LIST OF BOOL]; <> <<>> StartNATList: PROC [] RETURNS [entityList, ptr: LIST OF NAT]; AddNAT: PROC [entity: NAT, entityList, ptr: LIST OF NAT] RETURNS [newList, newPtr: LIST OF NAT]; AppendNATs: PROC [list1, list2: LIST OF NAT] RETURNS [result: LIST OF NAT]; <<>> <> <<>> StartScalarButtonList: PROC [] RETURNS [entityList, ptr: LIST OF ScalarButton]; AddScalarButton: PROC [entity: ScalarButton, entityList, ptr: LIST OF ScalarButton] RETURNS [newList, newPtr: LIST OF ScalarButton]; AppendScalarButtons: PROC [list1, list2: LIST OF ScalarButton] RETURNS [result: LIST OF ScalarButton]; <<>> PUChoiceList: PROC [r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19: AtomButtons.PopUpChoice _ [] ] RETURNS [list: AtomButtons.PopUpChoices]; <> <<>> <<>> <> <<>> BreakIntervalMOD: PROC [start, end, mod: NAT] RETURNS [s1, e1, s2, e2: INT]; <> < [6, 6, 0, 2];>> < [2, 6, -1, -1];>> BreakIntervalMODLen: PROC [start, len, mod: NAT] RETURNS [s1, len1, s2, len2: INT]; <> InMODRegion: PROC [test: NAT, start, end, mod: NAT] RETURNS [BOOL]; <> <<>> <> <<>> ExtractRGB: PROC [color: ImagerColor.ConstantColor] RETURNS [r,g,b: REAL]; EquivalentColors: PROC [color1, color2: Imager.Color] RETURNS [BOOL]; SetColor: PROC [dc: Imager.Context, color: Imager.Color, m: Imager.Transformation _ NIL]; <> TransformColor: PROC [color: Imager.Color, viewView: ImagerTransformation.Transformation] RETURNS [newColor: Imager.Color]; CopyColor: PROC [color: Imager.Color] RETURNS [copy: Imager.Color]; <> <<>> BoolToRope: PROC [bool: BOOL] RETURNS [rope: Rope.ROPE]; <> RopeToBool: PROC [rope: Rope.ROPE] RETURNS [bool: BOOL]; <> END.