1b57b3f957cb850f9278568296ef30646ed8f4d5
[jalviewjs.git] / site / swingjs / j2s / jssun / java2d / loops / CompositeType.js
1 Clazz.declarePackage ("jssun.java2d.loops");
2 Clazz.load (null, "jssun.java2d.loops.CompositeType", ["java.lang.InternalError"], function () {
3 c$ = Clazz.decorateAsClass (function () {
4 this.uniqueID = 0;
5 this.desc = null;
6 this.next = null;
7 Clazz.instantialize (this, arguments);
8 }, jssun.java2d.loops, "CompositeType");
9 Clazz.defineMethod (c$, "deriveSubType", 
10 function (desc) {
11 return  new jssun.java2d.loops.CompositeType (this, desc);
12 }, "~S");
13 c$.forAlphaComposite = Clazz.defineMethod (c$, "forAlphaComposite", 
14 function (ac) {
15 switch (ac.getRule ()) {
16 case 1:
17 return jssun.java2d.loops.CompositeType.Clear;
18 case 2:
19 if (ac.getAlpha () >= 1.0) {
20 return jssun.java2d.loops.CompositeType.SrcNoEa;
21 } else {
22 return jssun.java2d.loops.CompositeType.Src;
23 }case 9:
24 return jssun.java2d.loops.CompositeType.Dst;
25 case 3:
26 if (ac.getAlpha () >= 1.0) {
27 return jssun.java2d.loops.CompositeType.SrcOverNoEa;
28 } else {
29 return jssun.java2d.loops.CompositeType.SrcOver;
30 }case 4:
31 return jssun.java2d.loops.CompositeType.DstOver;
32 case 5:
33 return jssun.java2d.loops.CompositeType.SrcIn;
34 case 6:
35 return jssun.java2d.loops.CompositeType.DstIn;
36 case 7:
37 return jssun.java2d.loops.CompositeType.SrcOut;
38 case 8:
39 return jssun.java2d.loops.CompositeType.DstOut;
40 case 10:
41 return jssun.java2d.loops.CompositeType.SrcAtop;
42 case 11:
43 return jssun.java2d.loops.CompositeType.DstAtop;
44 case 12:
45 return jssun.java2d.loops.CompositeType.AlphaXor;
46 default:
47 throw  new InternalError ("Unrecognized alpha rule");
48 }
49 }, "java.awt.AlphaComposite");
50 Clazz.makeConstructor (c$, 
51  function (parent, desc) {
52 this.next = parent;
53 this.desc = desc;
54 this.uniqueID = jssun.java2d.loops.CompositeType.makeUniqueID ();
55 }, "jssun.java2d.loops.CompositeType,~S");
56 c$.makeUniqueID = Clazz.defineMethod (c$, "makeUniqueID", 
57  function () {
58 if (jssun.java2d.loops.CompositeType.unusedUID > 255) {
59 throw  new InternalError ("composite type id overflow");
60 }return jssun.java2d.loops.CompositeType.unusedUID++;
61 });
62 Clazz.defineMethod (c$, "getUniqueID", 
63 function () {
64 return this.uniqueID;
65 });
66 Clazz.defineMethod (c$, "getDescriptor", 
67 function () {
68 return this.desc;
69 });
70 Clazz.defineMethod (c$, "getSuperType", 
71 function () {
72 return this.next;
73 });
74 Clazz.overrideMethod (c$, "hashCode", 
75 function () {
76 return this.desc.hashCode ();
77 });
78 Clazz.defineMethod (c$, "isDerivedFrom", 
79 function (other) {
80 var comptype = this;
81 do {
82 if (comptype.desc === other.desc) {
83 return true;
84 }comptype = comptype.next;
85 } while (comptype != null);
86 return false;
87 }, "jssun.java2d.loops.CompositeType");
88 Clazz.overrideMethod (c$, "equals", 
89 function (o) {
90 if (Clazz.instanceOf (o, jssun.java2d.loops.CompositeType)) {
91 return ((o).uniqueID == this.uniqueID);
92 }return false;
93 }, "~O");
94 Clazz.overrideMethod (c$, "toString", 
95 function () {
96 return this.desc;
97 });
98 Clazz.defineStatics (c$,
99 "DESC_ANY", "Any CompositeContext",
100 "DESC_XOR", "XOR mode",
101 "DESC_CLEAR", "Porter-Duff Clear",
102 "DESC_SRC", "Porter-Duff Src",
103 "DESC_DST", "Porter-Duff Dst",
104 "DESC_SRC_OVER", "Porter-Duff Src Over Dst",
105 "DESC_DST_OVER", "Porter-Duff Dst Over Src",
106 "DESC_SRC_IN", "Porter-Duff Src In Dst",
107 "DESC_DST_IN", "Porter-Duff Dst In Src",
108 "DESC_SRC_OUT", "Porter-Duff Src HeldOutBy Dst",
109 "DESC_DST_OUT", "Porter-Duff Dst HeldOutBy Src",
110 "DESC_SRC_ATOP", "Porter-Duff Src Atop Dst",
111 "DESC_DST_ATOP", "Porter-Duff Dst Atop Src",
112 "DESC_ALPHA_XOR", "Porter-Duff Xor",
113 "DESC_SRC_NO_EA", "Porter-Duff Src, No Extra Alpha",
114 "DESC_SRC_OVER_NO_EA", "Porter-Duff SrcOverDst, No Extra Alpha",
115 "DESC_ANY_ALPHA", "Any AlphaComposite Rule");
116 c$.Any = c$.prototype.Any =  new jssun.java2d.loops.CompositeType (null, "Any CompositeContext");
117 c$.General = c$.prototype.General = jssun.java2d.loops.CompositeType.Any;
118 c$.AnyAlpha = c$.prototype.AnyAlpha = jssun.java2d.loops.CompositeType.General.deriveSubType ("Any AlphaComposite Rule");
119 c$.Xor = c$.prototype.Xor = jssun.java2d.loops.CompositeType.General.deriveSubType ("XOR mode");
120 c$.Clear = c$.prototype.Clear = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Clear");
121 c$.Src = c$.prototype.Src = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Src");
122 c$.Dst = c$.prototype.Dst = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Dst");
123 c$.SrcOver = c$.prototype.SrcOver = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Src Over Dst");
124 c$.DstOver = c$.prototype.DstOver = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Dst Over Src");
125 c$.SrcIn = c$.prototype.SrcIn = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Src In Dst");
126 c$.DstIn = c$.prototype.DstIn = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Dst In Src");
127 c$.SrcOut = c$.prototype.SrcOut = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Src HeldOutBy Dst");
128 c$.DstOut = c$.prototype.DstOut = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Dst HeldOutBy Src");
129 c$.SrcAtop = c$.prototype.SrcAtop = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Src Atop Dst");
130 c$.DstAtop = c$.prototype.DstAtop = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Dst Atop Src");
131 c$.AlphaXor = c$.prototype.AlphaXor = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Xor");
132 c$.SrcNoEa = c$.prototype.SrcNoEa = jssun.java2d.loops.CompositeType.Src.deriveSubType ("Porter-Duff Src, No Extra Alpha");
133 c$.SrcOverNoEa = c$.prototype.SrcOverNoEa = jssun.java2d.loops.CompositeType.SrcOver.deriveSubType ("Porter-Duff SrcOverDst, No Extra Alpha");
134 Clazz.defineStatics (c$,
135 "unusedUID", 1);
136 });