DIRECTORY AMTypes, CD, CDVPrivate, ViewerClasses; CDViewerBackdoor: CEDAR DEFINITIONS = BEGIN InstallGetProc: PROC [op: ATOM, proc: ViewerClasses.GetProc]; InstallSetProc: PROC [op: ATOM, proc: ViewerClasses.SetProc]; CallGetProc: PRIVATE ViewerClasses.GetProc; CallSetProc: PRIVATE ViewerClasses.SetProc; FurtherPaintProc: TYPE = PROC [me: CDVPrivate.VRef, key: REF]; InstallFurtherPaint: PROC[ keyReferentType: AMTypes.Type _ AMTypes.nullType, keyValue: REF _ NIL, proc: FurtherPaintProc ]; CallFurtherPaint: PRIVATE PROC[me: CDVPrivate.VRef, key: REF]; END. PCDViewerBackdoor.mesa (a ChipNDale module) Copyright c 1984, 1987 by Xerox Corporation. All rights reserved. Created by Christian Jacobi, March 3, 1987 3:16:32 pm PST Last edited by: Christian Jacobi, March 3, 1987 4:07:32 pm PST Non public ChipNDale interface to implement further behaviour for viewers. Set and Get procs Independent implementation of different op atoms for usage of ViewerOps.GetViewer or ViewerOps.SetViewer to be used on ChipNDale viewers. Manual registration of op atoms is required to avoid collisions. See ChipNDale's documentation for the appropriate file. -- To be used by the implementation of any particular op feature. -- To be used by the implementation of ChipNDale's viewer class only. More drawing behaviours Independent implementation of further behaviour of the viewer PaintProc. Manual registration of keys is requested. See ChipNDale's documentation for the appropriate file. --default means check value only --default means check type only; you can not install a proc for NIL -- All errors and signals from proc will be catched. -- Sometimes calls proc with; sometimes without locks, depending on key. -- It is ok to call the viewers-PaintProc recursively, but please -- do not cause wedges, there is no protection. -- May or may not check if keyValue is of type REF keyReferentType, if both non NIL -- Never use CODE[CDDraw.Comm] as keyReferentType; CDDraw.Comm is specially -- handled, as on CallFurther its ref field is used as key. -- Catches all errors and signals! -- Called by the viewer paintproc of ChipNDale-design viewers only. Κώ˜codešœ2™2Kšœ Οmœ7™BKšœ:™:Kšœ>™>K˜—šΟk ˜ Kšœ˜Kšžœ˜Kšœ ˜ Kšœ˜—K˜KšΟnœžœž œ˜%Kšž˜K˜KšœL™LK™K™KšΠlx™˜šœ‰™‰K™KšœA™AKšœ7™7K™—KšœA™AKšŸœžœžœ ˜>KšŸœžœžœ ˜>K˜KšœE™EKšΟb œžœ˜+Kš‘ œžœ˜+K˜—K™Kš ™˜šœJ™JK™KšΟc)™)Kšœ7™7K™—Kšœžœžœžœ˜>K˜šŸœžœ˜šœ2˜2Kšœ ™ —šœ žœžœ˜KšœC™C—Kšœ˜Kšœ˜Kš’4™4Kš’H™HKš’A™AKš’4™4Kš’S™SKš’L™LKšœ’œ0™@—K˜šŸœž œžœ˜>Kšœ"™"K™C——K˜Kšžœ˜K˜K˜K˜—…—D ’