Copyright (c) 2000 California Institute of Technology
All rights reserved. See the file COPYRIGHT for a full description.
$Id: Figure.i3.html,v 1.2 2009-06-26 16:32:36 wagner Exp $
INTERFACE Figure;
IMPORT VBT;
IMPORT Rd;
IMPORT Rect;
IMPORT Axis;
IMPORT DrawContext;
IMPORT CacheDrawContext;
IMPORT TextSubs;
IMPORT Point;
IMPORT Region;
TYPE
T <: ROOT;
constructing Figure.Ts
PROCEDURE FromPS(rd: Rd.T; captureResDPI := 720): T;
construct a Figure.T from an eps file
PROCEDURE FromCache(cache: CacheDrawContext.T; static := TRUE): T;
construct a Figure.T from cached drawing commands.
if static is TRUE, assumes that cache will never change.
PROCEDURE FromFigure(fig: T; where := Point.Origin;
subs: TextSubs.T := NIL): T;
clone a Figure.T. Optionally translating to where,
and replacing some text according to subs.
PROCEDURE FromText(text: TEXT := NIL; size := 12): T;
construct a Figure.T containing TEXT text, of size size,
attached left-justified at the origin.
If text is NIL, return an empty figure.
using Figure.Ts
PROCEDURE Plot(fig: T; in: DrawContext.T;
where := Point.Origin; subs: TextSubs.T := NIL);
plot fig into in, possibly tanslating its origin to where,
and optionally replacing some text.
PROCEDURE ToCache(fig: T; static := TRUE): CacheDrawContext.T;
if static is TRUE, assumes that returned cache will never change.
PROCEDURE Size(fig: T; in: DrawContext.T;
axis := Axis.T.Hor;
subs: TextSubs.T := NIL): CARDINAL;
return size along axis axis of figure fig, were it to be plotted
in in with substitutions subs.
<*OBSOLETE*>PROCEDURE VBTSize(fig: T; vbt: VBT.T;
axis := Axis.T.Hor;
subs: TextSubs.T := NIL): CARDINAL;
return size along axis axis of figure fig, were it to be plotted
in a new VBTDrawContext for vbt with substitutions subs.
PROCEDURE BoundRect(fig: T; in: DrawContext.T;
where := Point.Origin;
subs: TextSubs.T := NIL): Rect.T;
like Size, but return the whole rectangle
PROCEDURE BoundRegion(fig: T; in: DrawContext.T;
where := Point.Origin;
subs: TextSubs.T := NIL): Region.T;
like BoundRect, but return a possibly more accurate region.
END Figure.