1 Clazz.declarePackage ("jssun.java2d.loops");
2 Clazz.load (null, "jssun.java2d.loops.CompositeType", ["java.lang.InternalError"], function () {
3 c$ = Clazz.decorateAsClass (function () {
7 Clazz.instantialize (this, arguments);
8 }, jssun.java2d.loops, "CompositeType");
9 Clazz.defineMethod (c$, "deriveSubType",
11 return new jssun.java2d.loops.CompositeType (this, desc);
13 c$.forAlphaComposite = Clazz.defineMethod (c$, "forAlphaComposite",
15 switch (ac.getRule ()) {
17 return jssun.java2d.loops.CompositeType.Clear;
19 if (ac.getAlpha () >= 1.0) {
20 return jssun.java2d.loops.CompositeType.SrcNoEa;
22 return jssun.java2d.loops.CompositeType.Src;
24 return jssun.java2d.loops.CompositeType.Dst;
26 if (ac.getAlpha () >= 1.0) {
27 return jssun.java2d.loops.CompositeType.SrcOverNoEa;
29 return jssun.java2d.loops.CompositeType.SrcOver;
31 return jssun.java2d.loops.CompositeType.DstOver;
33 return jssun.java2d.loops.CompositeType.SrcIn;
35 return jssun.java2d.loops.CompositeType.DstIn;
37 return jssun.java2d.loops.CompositeType.SrcOut;
39 return jssun.java2d.loops.CompositeType.DstOut;
41 return jssun.java2d.loops.CompositeType.SrcAtop;
43 return jssun.java2d.loops.CompositeType.DstAtop;
45 return jssun.java2d.loops.CompositeType.AlphaXor;
47 throw new InternalError ("Unrecognized alpha rule");
49 }, "java.awt.AlphaComposite");
50 Clazz.makeConstructor (c$,
51 function (parent, desc) {
54 this.uniqueID = jssun.java2d.loops.CompositeType.makeUniqueID ();
55 }, "jssun.java2d.loops.CompositeType,~S");
56 c$.makeUniqueID = Clazz.defineMethod (c$, "makeUniqueID",
58 if (jssun.java2d.loops.CompositeType.unusedUID > 255) {
59 throw new InternalError ("composite type id overflow");
60 }return jssun.java2d.loops.CompositeType.unusedUID++;
62 Clazz.defineMethod (c$, "getUniqueID",
66 Clazz.defineMethod (c$, "getDescriptor",
70 Clazz.defineMethod (c$, "getSuperType",
74 Clazz.overrideMethod (c$, "hashCode",
76 return this.desc.hashCode ();
78 Clazz.defineMethod (c$, "isDerivedFrom",
82 if (comptype.desc === other.desc) {
84 }comptype = comptype.next;
85 } while (comptype != null);
87 }, "jssun.java2d.loops.CompositeType");
88 Clazz.overrideMethod (c$, "equals",
90 if (Clazz.instanceOf (o, jssun.java2d.loops.CompositeType)) {
91 return ((o).uniqueID == this.uniqueID);
94 Clazz.overrideMethod (c$, "toString",
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$,