<> <> <> <> <<>> <> <> <<>> DIRECTORY Rope USING [ROPE], Xl USING [Connection, Font, Fontable]; XlFontOps: CEDAR DEFINITIONS ~ BEGIN <<>> GetDefaultFont: PROC [c: Xl.Connection] RETURNS [font: Xl.Font]; <> QueryPosInfo: PROC [c: Xl.Connection, font: Xl.Fontable, text: Rope.ROPE, x: INT] RETURNS [PosInfo]; <> <> <<0 <= charIndex < Rope.Length[text]>> <<0 <= gapIndex <= Rope.Length[text]>> PosInfo: TYPE = RECORD [ charIndex: INT, --index of character closest to x gapIndex: INT, --index of gap closest to x gapX: INT --x position giving best match for gapIndex ]; <<>> END.