DIRECTORY Cubic USING [Bezier], Vector2 USING [VEC], Imager USING [Context], Rope USING [ROPE]; Highlight: CEDAR DEFINITIONS = BEGIN VEC: TYPE ~ Vector2.VEC; Context: TYPE = REF Object; Object: TYPE = RECORD[data: REF Data, procs: REF Procs]; Procs: TYPE = RECORD[ showPt: PROC[ctx: Context, pt: VEC], -- inverts a small area around the given point showBezier: PROC[ctx: Context, bezier: Cubic.Bezier], showRope: PROC[ctx: Context, rope: Rope.ROPE], cleanUp: PROC[ctx: Context] ]; Data: TYPE = RECORD[ imager: Imager.Context _ NIL, lastRope: Rope.ROPE _ NIL, lastBezier: Cubic.Bezier _ [[-1,-1],[-1,-1],[-1,-1],[-1,-1]], lastPt: VEC _ [0,0], clientData: REF ]; ShowPt: PROC[ctx: Context, pt: VEC] = INLINE {ctx.procs.showPt[ctx,pt]}; ShowBezier: PROC[ctx: Context, bezier: Cubic.Bezier] = INLINE {ctx.procs.showBezier[ctx, bezier]}; ShowRope: PROC[ctx: Context, rope: Rope.ROPE]= INLINE {ctx.procs.showRope[ctx,rope]}; CleanUp: PROC[ctx: Context] = INLINE {ctx.procs.cleanUp[ctx]}; END. Highlight.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Maureen Stone October 30, 1984 6:59:34 pm PST Doug Wyatt, September 5, 1985 1:05:35 pm PDT A standard interface for ephemeral feedback. There is no default implementation. A Highlight is an object used to display ephemeral feedback. Implement this interface in the context of your application. inverts a small area around the given point, to give some feedback about what in going on. highlights a bezier cubic displays a rope clear the feedback. Κβ˜codešœ™Kšœ Οmœ1™K™—K˜Kšžœ˜—…—δά