<> <> <> <> <<>> DIRECTORY CD; CDStretchyBackdoor: CEDAR DEFINITIONS = BEGIN <> MatchProc: TYPE = PROC [me: CD.Object, r: CD.Rect, layer: CD.Layer, prim: BOOL, horz: BOOL] RETURNS [BOOL_FALSE]; MakeSimilarProc: TYPE = PROC [me: CD.Object, ir: CD.Rect] RETURNS [CD.Object_NIL]; HasMatchProc: PROC [ob: CD.Object] RETURNS [BOOL]; <<--Returns whether a MatchProc has been registered>> Match: PROC [me: CD.Object, r: CD.Rect, layer: CD.Layer, prim: BOOL, horz: BOOL] RETURNS [BOOL]; <<--calls MatchProc>> MakeSimilar: PROC [me: CD.Object, ir: CD.Rect] RETURNS [CD.Object_NIL]; <<--Returns similar object, or NIL if failed or no MakeSimilarProc registered>> InstallMatchProc: PROC [type: CD.ObjectClass, match: MatchProc]; InstallMakeSimilarProc: PROC [type: CD.ObjectClass, makeSimilar: MakeSimilarProc]; END.