CDMarkObjects.mesa
Copyright © 1984 by Xerox Corporation. All rights reserved.
Created by: Bob Mayo, June 8, 1984 12:40:57 pm PDT
Redesigned by: Jacobi, September 13, 1984 3:02:09 pm PDT
Last Edited: Jacobi, September 19, 1985 3:16:58 am PDT
DIRECTORY
Rope USING [ROPE],
CD USING [Instance, Design, Position, Object];
CDMarkObjects: CEDAR DEFINITIONS =
BEGIN
MarkObjects are objects to associate names to points.
A mark object uses its origin as reference point; its client origin, the base of its innerrect and its real origin coincide, but it has a non 0 size. A mark application therefore must map the orientation of the mark to get the pointed position.
markOb: READONLY CD.Object;
markNameProperty: READONLY ATOM;
markAtom: READONLY ATOM; -- Contains the class atom for alignment marks objects.
MarkEnumerator:
TYPE =
PROC [markInstance:
CD.Instance]
RETURNS [quit:
BOOL←
FALSE];
EnumerateMarks:
PROC [cellOb:
CD.Object←
NIL, design:
CD.Design←
NIL, proc: MarkEnumerator]
RETURNS [quit:
BOOL];
--design is ignored if cell#NIL
FindMark:
PROC [cellOb:
CD.Object←
NIL, design:
CD.Design←
NIL, name: Rope.
ROPE]
RETURNS [
CD.Instance];
--returns any found mark with name name
--design is ignored if cell#NIL
SetMarkName: PROC [markInstance: CD.Instance, name: Rope.ROPE];
GetMarkName: PROC [markInstance: CD.Instance] RETURNS [name: Rope.ROPE];
GetMarkPosition: PROC [markInstance: CD.Instance] RETURNS [CD.Position];
END.