9e5720592b7bd9e8e81bc19b0dd38f31cfc0173d
[jalviewjs.git] / site / j2s / jssun / awt / geom / CurveLink.js
1 Clazz.declarePackage ("jssun.awt.geom");\r
2 Clazz.load (null, "jssun.awt.geom.CurveLink", ["java.lang.InternalError", "jssun.awt.geom.Order0"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.curve = null;\r
5 this.ytop = 0;\r
6 this.ybot = 0;\r
7 this.etag = 0;\r
8 this.next = null;\r
9 Clazz.instantialize (this, arguments);\r
10 }, jssun.awt.geom, "CurveLink");\r
11 Clazz.makeConstructor (c$, \r
12 function (curve, ystart, yend, etag) {\r
13 this.curve = curve;\r
14 this.ytop = ystart;\r
15 this.ybot = yend;\r
16 this.etag = etag;\r
17 if (this.ytop < curve.getYTop () || this.ybot > curve.getYBot ()) {\r
18 throw  new InternalError ("bad curvelink [" + this.ytop + "=>" + this.ybot + "] for " + curve);\r
19 }}, "jssun.awt.geom.Curve,~N,~N,~N");\r
20 Clazz.defineMethod (c$, "absorb", \r
21 function (link) {\r
22 return this.absorb (link.curve, link.ytop, link.ybot, link.etag);\r
23 }, "jssun.awt.geom.CurveLink");\r
24 Clazz.defineMethod (c$, "absorb", \r
25 function (curve, ystart, yend, etag) {\r
26 if (this.curve !== curve || this.etag != etag || this.ybot < ystart || this.ytop > yend) {\r
27 return false;\r
28 }if (ystart < curve.getYTop () || yend > curve.getYBot ()) {\r
29 throw  new InternalError ("bad curvelink [" + ystart + "=>" + yend + "] for " + curve);\r
30 }this.ytop = Math.min (this.ytop, ystart);\r
31 this.ybot = Math.max (this.ybot, yend);\r
32 return true;\r
33 }, "jssun.awt.geom.Curve,~N,~N,~N");\r
34 Clazz.defineMethod (c$, "isEmpty", \r
35 function () {\r
36 return (this.ytop == this.ybot);\r
37 });\r
38 Clazz.defineMethod (c$, "getCurve", \r
39 function () {\r
40 return this.curve;\r
41 });\r
42 Clazz.defineMethod (c$, "getSubCurve", \r
43 function () {\r
44 if (this.ytop == this.curve.getYTop () && this.ybot == this.curve.getYBot ()) {\r
45 return this.curve.getWithDirection (this.etag);\r
46 }return this.curve.getSubCurve (this.ytop, this.ybot, this.etag);\r
47 });\r
48 Clazz.defineMethod (c$, "getMoveto", \r
49 function () {\r
50 return  new jssun.awt.geom.Order0 (this.getXTop (), this.getYTop ());\r
51 });\r
52 Clazz.defineMethod (c$, "getXTop", \r
53 function () {\r
54 return this.curve.XforY (this.ytop);\r
55 });\r
56 Clazz.defineMethod (c$, "getYTop", \r
57 function () {\r
58 return this.ytop;\r
59 });\r
60 Clazz.defineMethod (c$, "getXBot", \r
61 function () {\r
62 return this.curve.XforY (this.ybot);\r
63 });\r
64 Clazz.defineMethod (c$, "getYBot", \r
65 function () {\r
66 return this.ybot;\r
67 });\r
68 Clazz.defineMethod (c$, "getX", \r
69 function () {\r
70 return this.curve.XforY (this.ytop);\r
71 });\r
72 Clazz.defineMethod (c$, "getEdgeTag", \r
73 function () {\r
74 return this.etag;\r
75 });\r
76 Clazz.defineMethod (c$, "setNext", \r
77 function (link) {\r
78 this.next = link;\r
79 }, "jssun.awt.geom.CurveLink");\r
80 Clazz.defineMethod (c$, "getNext", \r
81 function () {\r
82 return this.next;\r
83 });\r
84 });\r