CDVFurtherPainters.mesa
Copyright © 1984 by Xerox Corporation. All rights reserved.
by Christian Jacobi August 28, 1984 4:48:20 pm PDT
last edited by Christian Jacobi August 30, 1984 9:39:50 am PDT
DIRECTORY
AMTypes,
CD,
CDVPrivate;
CDVFurtherPainters: CEDAR DEFINITIONS =
BEGIN
-- Non public chipndale interface to implement further behaviour
-- of the viewer PaintProc.
FurtherPaintProc: TYPE = PROC [me: CDVPrivate.MyGraphicRef, key: REF];
InstallFurtherPaint:
PROC[
keyReferentType: AMTypes.Type𡤊MTypes.nullType, --default means check value only
keyValue: REF←NIL, --default means check type only; you can not install a proc for NIL
proc: FurtherPaintProc
];
--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.
--Manual registration of key is requested.
--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 special handled
--as on Callfurther its ref field is used as key.
CallFurther:
PRIVATE PROC[me: CDVPrivate.MyGraphicRef, key:
REF];
--Catches all errors and signals!
--Called by the viewer paintproc of chipndale-design viewers only.
END.