FOREIGN MODULE sun_awt_geom; IMPORT java_util := "java.util", java_lang := "java.lang", java_awt_geom := "java.awt.geom"; TYPE AreaOp* = POINTER TO ABSTRACT RECORD (java_lang.Object) (* Typebound Procedures *) STATIC CTAG_LEFT* = 0; CTAG_RIGHT* = 1; ETAG_ENTER* = 1; ETAG_EXIT* = -1; ETAG_IGNORE* = 0; RSTAG_INSIDE* = 1; RSTAG_OUTSIDE* = -1; PROCEDURE finalizeSubCurves*(p0 : java_util.Vector; p1 : java_util.Vector); PROCEDURE obstructs*(p0 : REAL; p1 : REAL; p2 : INTEGER) : BOOLEAN; PROCEDURE resolveLinks*(p0 : java_util.Vector; p1 : java_util.Vector; p2 : java_util.Vector); END; AreaOp$AddOp* = POINTER TO EXTENSIBLE RECORD (AreaOp$CAGOp) (* Typebound Procedures *) STATIC PROCEDURE Init*() : AreaOp$AddOp,CONSTRUCTOR; END; AreaOp$CAGOp* = POINTER TO ABSTRACT RECORD (AreaOp) (* Typebound Procedures *) STATIC PROCEDURE Init*() : AreaOp$CAGOp,CONSTRUCTOR; END; AreaOp$EOWindOp* = POINTER TO EXTENSIBLE RECORD (AreaOp) (* Typebound Procedures *) STATIC PROCEDURE Init*() : AreaOp$EOWindOp,CONSTRUCTOR; END; AreaOp$IntOp* = POINTER TO EXTENSIBLE RECORD (AreaOp$CAGOp) (* Typebound Procedures *) STATIC PROCEDURE Init*() : AreaOp$IntOp,CONSTRUCTOR; END; AreaOp$NZWindOp* = POINTER TO EXTENSIBLE RECORD (AreaOp) (* Typebound Procedures *) STATIC PROCEDURE Init*() : AreaOp$NZWindOp,CONSTRUCTOR; END; AreaOp$SubOp* = POINTER TO EXTENSIBLE RECORD (AreaOp$CAGOp) (* Typebound Procedures *) STATIC PROCEDURE Init*() : AreaOp$SubOp,CONSTRUCTOR; END; AreaOp$XorOp* = POINTER TO EXTENSIBLE RECORD (AreaOp$CAGOp) (* Typebound Procedures *) STATIC PROCEDURE Init*() : AreaOp$XorOp,CONSTRUCTOR; END; Crossings* = POINTER TO ABSTRACT RECORD (java_lang.Object) (* Typebound Procedures *) STATIC debug* = 0; PROCEDURE findCrossings*(p0 : java_awt_geom.PathIterator; p1 : REAL; p2 : REAL; p3 : REAL; p4 : REAL) : Crossings; PROCEDURE findCrossings*(p0 : java_util.Vector; p1 : REAL; p2 : REAL; p3 : REAL; p4 : REAL) : Crossings; PROCEDURE Init*(p0 : REAL; p1 : REAL; p2 : REAL; p3 : REAL) : Crossings,CONSTRUCTOR; END; Crossings$EvenOdd* = POINTER TO RECORD (Crossings) (* Typebound Procedures *) STATIC PROCEDURE Init*(p0 : REAL; p1 : REAL; p2 : REAL; p3 : REAL) : Crossings$EvenOdd,CONSTRUCTOR; END; Crossings$NonZero* = POINTER TO RECORD (Crossings) (* Typebound Procedures *) STATIC PROCEDURE Init*(p0 : REAL; p1 : REAL; p2 : REAL; p3 : REAL) : Crossings$NonZero,CONSTRUCTOR; END; Curve* = POINTER TO ABSTRACT RECORD (java_lang.Object) (* Typebound Procedures *) direction! : INTEGER; STATIC DECREASING* = -1; INCREASING* = 1; RECT_INTERSECTS* = -2147483648; TMIN* = 0.0010; PROCEDURE diffbits*(p0 : REAL; p1 : REAL) : LONGINT; PROCEDURE Init*(p0 : INTEGER) : Curve,CONSTRUCTOR; PROCEDURE insertCubic*( p0 : java_util.Vector; p1 : REAL; p2 : REAL; IN p3 : ARRAY OF REAL); PROCEDURE insertLine*(p0 : java_util.Vector; p1 : REAL; p2 : REAL; p3 : REAL; p4 : REAL); PROCEDURE insertMove*(p0 : java_util.Vector; p1 : REAL; p2 : REAL); PROCEDURE insertQuad*( p0 : java_util.Vector; p1 : REAL; p2 : REAL; IN p3 : ARRAY OF REAL); PROCEDURE next*(p0 : REAL) : REAL; PROCEDURE orderof*(p0 : REAL; p1 : REAL) : INTEGER; PROCEDURE pointCrossingsForCubic*(p0 : REAL; p1 : REAL; p2 : REAL; p3 : REAL; p4 : REAL; p5 : REAL; p6 : REAL; p7 : REAL; p8 : REAL; p9 : REAL; p10 : INTEGER) : INTEGER; PROCEDURE pointCrossingsForLine*(p0 : REAL; p1 : REAL; p2 : REAL; p3 : REAL; p4 : REAL; p5 : REAL) : INTEGER; PROCEDURE pointCrossingsForPath*(p0 : java_awt_geom.PathIterator; p1 : REAL; p2 : REAL) : INTEGER; PROCEDURE pointCrossingsForQuad*(p0 : REAL; p1 : REAL; p2 : REAL; p3 : REAL; p4 : REAL; p5 : REAL; p6 : REAL; p7 : REAL; p8 : INTEGER) : INTEGER; PROCEDURE prev*(p0 : REAL) : REAL; PROCEDURE rectCrossingsForCubic*(p0 : INTEGER; p1 : REAL; p2 : REAL; p3 : REAL; p4 : REAL; p5 : REAL; p6 : REAL; p7 : REAL; p8 : REAL; p9 : REAL; p10 : REAL; p11 : REAL; p12 : REAL; p13 : INTEGER) : INTEGER; PROCEDURE rectCrossingsForLine*(p0 : INTEGER; p1 : REAL; p2 : REAL; p3 : REAL; p4 : REAL; p5 : REAL; p6 : REAL; p7 : REAL; p8 : REAL) : INTEGER; PROCEDURE rectCrossingsForPath*(p0 : java_awt_geom.PathIterator; p1 : REAL; p2 : REAL; p3 : REAL; p4 : REAL) : INTEGER; PROCEDURE rectCrossingsForQuad*(p0 : INTEGER; p1 : REAL; p2 : REAL; p3 : REAL; p4 : REAL; p5 : REAL; p6 : REAL; p7 : REAL; p8 : REAL; p9 : REAL; p10 : REAL; p11 : INTEGER) : INTEGER; PROCEDURE round*(p0 : REAL) : REAL; PROCEDURE signeddiffbits*(p0 : REAL; p1 : REAL) : LONGINT; END; PROCEDURE (self:AreaOp) calculate*(p0 : java_util.Vector; p1 : java_util.Vector) : java_util.Vector,NEW,EXTENSIBLE; PROCEDURE (self:AreaOp) classify*(p0 : Edge) : INTEGER,NEW,ABSTRACT; PROCEDURE (self:AreaOp) getState*() : INTEGER,NEW,ABSTRACT; PROCEDURE (self:AreaOp) newRow*(),NEW,ABSTRACT; PROCEDURE (self:AreaOp$AddOp) newClassification*(p0 : BOOLEAN; p1 : BOOLEAN) : BOOLEAN,EXTENSIBLE; PROCEDURE (self:AreaOp$CAGOp) classify*(p0 : Edge) : INTEGER,EXTENSIBLE; PROCEDURE (self:AreaOp$CAGOp) getState*() : INTEGER,EXTENSIBLE; PROCEDURE (self:AreaOp$CAGOp) newClassification*(p0 : BOOLEAN; p1 : BOOLEAN) : BOOLEAN,NEW,ABSTRACT; PROCEDURE (self:AreaOp$CAGOp) newRow*(),EXTENSIBLE; PROCEDURE (self:AreaOp$EOWindOp) classify*(p0 : Edge) : INTEGER,EXTENSIBLE; PROCEDURE (self:AreaOp$EOWindOp) getState*() : INTEGER,EXTENSIBLE; PROCEDURE (self:AreaOp$EOWindOp) newRow*(),EXTENSIBLE; PROCEDURE (self:AreaOp$IntOp) newClassification*(p0 : BOOLEAN; p1 : BOOLEAN) : BOOLEAN,EXTENSIBLE; PROCEDURE (self:AreaOp$NZWindOp) classify*(p0 : Edge) : INTEGER,EXTENSIBLE; PROCEDURE (self:AreaOp$NZWindOp) getState*() : INTEGER,EXTENSIBLE; PROCEDURE (self:AreaOp$NZWindOp) newRow*(),EXTENSIBLE; PROCEDURE (self:AreaOp$SubOp) newClassification*(p0 : BOOLEAN; p1 : BOOLEAN) : BOOLEAN,EXTENSIBLE; PROCEDURE (self:AreaOp$XorOp) newClassification*(p0 : BOOLEAN; p1 : BOOLEAN) : BOOLEAN,EXTENSIBLE; PROCEDURE (self:Crossings) accumulateCubic*( p0 : REAL; p1 : REAL; IN p2 : ARRAY OF REAL) : BOOLEAN,NEW,EXTENSIBLE; PROCEDURE (self:Crossings) accumulateLine*(p0 : REAL; p1 : REAL; p2 : REAL; p3 : REAL) : BOOLEAN,NEW,EXTENSIBLE; PROCEDURE (self:Crossings) accumulateLine*(p0 : REAL; p1 : REAL; p2 : REAL; p3 : REAL; p4 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE; PROCEDURE (self:Crossings) accumulateQuad*( p0 : REAL; p1 : REAL; IN p2 : ARRAY OF REAL) : BOOLEAN,NEW,EXTENSIBLE; PROCEDURE (self:Crossings) covers*(p0 : REAL; p1 : REAL) : BOOLEAN,NEW,ABSTRACT; PROCEDURE (self:Crossings) getXHi*() : REAL,NEW; PROCEDURE (self:Crossings) getXLo*() : REAL,NEW; PROCEDURE (self:Crossings) getYHi*() : REAL,NEW; PROCEDURE (self:Crossings) getYLo*() : REAL,NEW; PROCEDURE (self:Crossings) isEmpty*() : BOOLEAN,NEW; PROCEDURE (self:Crossings) print*(),NEW,EXTENSIBLE; PROCEDURE (self:Crossings) record*(p0 : REAL; p1 : REAL; p2 : INTEGER),NEW,ABSTRACT; PROCEDURE (self:Crossings$EvenOdd) covers*(p0 : REAL; p1 : REAL) : BOOLEAN; PROCEDURE (self:Crossings$EvenOdd) record*(p0 : REAL; p1 : REAL; p2 : INTEGER),EXTENSIBLE; PROCEDURE (self:Crossings$NonZero) covers*(p0 : REAL; p1 : REAL) : BOOLEAN; PROCEDURE (self:Crossings$NonZero) insert*(p0 : INTEGER; p1 : REAL; p2 : REAL; p3 : INTEGER),NEW,EXTENSIBLE; PROCEDURE (self:Crossings$NonZero) record*(p0 : REAL; p1 : REAL; p2 : INTEGER),EXTENSIBLE; PROCEDURE (self:Crossings$NonZero) remove*(p0 : INTEGER),NEW,EXTENSIBLE; PROCEDURE (self:Curve) accumulateCrossings*(p0 : Crossings) : BOOLEAN,NEW,EXTENSIBLE; PROCEDURE (self:Curve) compareTo*( p0 : Curve; IN p1 : ARRAY OF REAL) : INTEGER,NEW,EXTENSIBLE; PROCEDURE (self:Curve) controlPointString*() : java_lang.String,NEW,EXTENSIBLE; PROCEDURE (self:Curve) crossingsFor*(p0 : REAL; p1 : REAL) : INTEGER,NEW,EXTENSIBLE; PROCEDURE (self:Curve) dXforT*(p0 : REAL; p1 : INTEGER) : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) dYforT*(p0 : REAL; p1 : INTEGER) : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) enlarge*(p0 : java_awt_geom.Rectangle2D),NEW,ABSTRACT; PROCEDURE (self:Curve) fairlyClose*(p0 : REAL; p1 : REAL) : BOOLEAN,NEW,EXTENSIBLE; PROCEDURE (self:Curve) findIntersect*( p0 : Curve; IN p1 : ARRAY OF REAL; p2 : REAL; p3 : INTEGER; p4 : INTEGER; p5 : REAL; p6 : REAL; p7 : REAL; p8 : REAL; p9 : REAL; p10 : REAL; p11 : REAL; p12 : REAL; p13 : REAL; p14 : REAL; p15 : REAL; p16 : REAL) : BOOLEAN,NEW,EXTENSIBLE; PROCEDURE (self:Curve) getDirection*() : INTEGER,NEW; PROCEDURE (self:Curve) getOrder*() : INTEGER,NEW,ABSTRACT; PROCEDURE (self:Curve) getReversedCurve*() : Curve,NEW,ABSTRACT; PROCEDURE (self:Curve) getSegment*(IN p0 : ARRAY OF REAL) : INTEGER,NEW,ABSTRACT; PROCEDURE (self:Curve) getSubCurve*(p0 : REAL; p1 : REAL) : Curve,NEW,EXTENSIBLE; PROCEDURE (self:Curve) getSubCurve*(p0 : REAL; p1 : REAL; p2 : INTEGER) : Curve,NEW,ABSTRACT; PROCEDURE (self:Curve) getWithDirection*(p0 : INTEGER) : Curve,NEW; PROCEDURE (self:Curve) getX0*() : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) getX1*() : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) getXBot*() : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) getXMax*() : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) getXMin*() : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) getXTop*() : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) getY0*() : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) getY1*() : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) getYBot*() : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) getYTop*() : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) nextVertical*(p0 : REAL; p1 : REAL) : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) refineTforY*(p0 : REAL; p1 : REAL; p2 : REAL) : REAL,NEW,EXTENSIBLE; PROCEDURE (self:Curve) TforY*(p0 : REAL) : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) toString*() : java_lang.String,EXTENSIBLE; PROCEDURE (self:Curve) XforT*(p0 : REAL) : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) XforY*(p0 : REAL) : REAL,NEW,ABSTRACT; PROCEDURE (self:Curve) YforT*(p0 : REAL) : REAL,NEW,ABSTRACT; END sun_awt_geom.