DIRECTORY Basics, D2Basic; RTBasic: CEDAR DEFINITIONS = BEGIN SideOrNone: TYPE = {bottom, top, left, right, none}; Side: TYPE = SideOrNone[bottom .. right]; LRSide: TYPE = SideOrNone[left .. right]; TBSide: TYPE = SideOrNone[bottom .. top]; DirectionOrNone: TYPE = {horizontal, vertical, none}; Direction: TYPE = DirectionOrNone[horizontal .. vertical]; AboveOrBelow: TYPE = {above, below}; PQPos: TYPE = RECORD[ p: D2Basic.Number, q: D2Basic.Number]; PQRectRef: TYPE = REF PQRect; PQRect: TYPE = RECORD[ c1, c2: PQPos]; PQRectList: TYPE = LIST OF PQRect; Range: TYPE = RECORD [ l, r: D2Basic.Number]; RangeList: TYPE = LIST OF Range; RefRange: TYPE = REF Range; OtherSide: PROCEDURE [side: Side] RETURNS [Side]; OtherDirection: PROCEDURE [direction: Direction] RETURNS [Direction]; OtherRelation: PROCEDURE [aboveOrBelow: AboveOrBelow] RETURNS [AboveOrBelow]; SimpleCompare: PROCEDURE [result1, result2: D2Basic.Number] RETURNS [result: Basics.Comparison]; XYToPQ: PROC [pDir: Direction, pos: D2Basic.Pos] RETURNS [pqPos: PQPos]; PQToXY: PROC [pDir: Direction, pqPos: PQPos] RETURNS [pos: D2Basic.Pos]; END. .RTBasic.mesa ///StdCell/RTBasic.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. by Bryan Preas August 29, 1985 2:48:22 pm PDT last edited by Bryan Preas August 29, 1985 6:12:31 pm PDT convert a position from x-y to p-q space. convert a position from p-q to x-y space. Êï˜Jšœ&™&˜Jšœ Ïmœ1™