1 Clazz.declarePackage ("jssun.java2d.loops");
\r
2 Clazz.load (null, "jssun.java2d.loops.CompositeType", ["java.lang.InternalError"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
7 Clazz.instantialize (this, arguments);
\r
8 }, jssun.java2d.loops, "CompositeType");
\r
9 Clazz.defineMethod (c$, "deriveSubType",
\r
11 return new jssun.java2d.loops.CompositeType (this, desc);
\r
13 c$.forAlphaComposite = Clazz.defineMethod (c$, "forAlphaComposite",
\r
15 switch (ac.getRule ()) {
\r
17 return jssun.java2d.loops.CompositeType.Clear;
\r
19 if (ac.getAlpha () >= 1.0) {
\r
20 return jssun.java2d.loops.CompositeType.SrcNoEa;
\r
22 return jssun.java2d.loops.CompositeType.Src;
\r
24 return jssun.java2d.loops.CompositeType.Dst;
\r
26 if (ac.getAlpha () >= 1.0) {
\r
27 return jssun.java2d.loops.CompositeType.SrcOverNoEa;
\r
29 return jssun.java2d.loops.CompositeType.SrcOver;
\r
31 return jssun.java2d.loops.CompositeType.DstOver;
\r
33 return jssun.java2d.loops.CompositeType.SrcIn;
\r
35 return jssun.java2d.loops.CompositeType.DstIn;
\r
37 return jssun.java2d.loops.CompositeType.SrcOut;
\r
39 return jssun.java2d.loops.CompositeType.DstOut;
\r
41 return jssun.java2d.loops.CompositeType.SrcAtop;
\r
43 return jssun.java2d.loops.CompositeType.DstAtop;
\r
45 return jssun.java2d.loops.CompositeType.AlphaXor;
\r
47 throw new InternalError ("Unrecognized alpha rule");
\r
49 }, "java.awt.AlphaComposite");
\r
50 Clazz.makeConstructor (c$,
\r
51 function (parent, desc) {
\r
54 this.uniqueID = jssun.java2d.loops.CompositeType.makeUniqueID ();
\r
55 }, "jssun.java2d.loops.CompositeType,~S");
\r
56 c$.makeUniqueID = Clazz.defineMethod (c$, "makeUniqueID",
\r
58 if (jssun.java2d.loops.CompositeType.unusedUID > 255) {
\r
59 throw new InternalError ("composite type id overflow");
\r
60 }return jssun.java2d.loops.CompositeType.unusedUID++;
\r
62 Clazz.defineMethod (c$, "getUniqueID",
\r
64 return this.uniqueID;
\r
66 Clazz.defineMethod (c$, "getDescriptor",
\r
70 Clazz.defineMethod (c$, "getSuperType",
\r
74 Clazz.overrideMethod (c$, "hashCode",
\r
76 return this.desc.hashCode ();
\r
78 Clazz.defineMethod (c$, "isDerivedFrom",
\r
80 var comptype = this;
\r
82 if (comptype.desc === other.desc) {
\r
84 }comptype = comptype.next;
\r
85 } while (comptype != null);
\r
87 }, "jssun.java2d.loops.CompositeType");
\r
88 Clazz.overrideMethod (c$, "equals",
\r
90 if (Clazz.instanceOf (o, jssun.java2d.loops.CompositeType)) {
\r
91 return ((o).uniqueID == this.uniqueID);
\r
94 Clazz.overrideMethod (c$, "toString",
\r
98 Clazz.defineStatics (c$,
\r
99 "DESC_ANY", "Any CompositeContext",
\r
100 "DESC_XOR", "XOR mode",
\r
101 "DESC_CLEAR", "Porter-Duff Clear",
\r
102 "DESC_SRC", "Porter-Duff Src",
\r
103 "DESC_DST", "Porter-Duff Dst",
\r
104 "DESC_SRC_OVER", "Porter-Duff Src Over Dst",
\r
105 "DESC_DST_OVER", "Porter-Duff Dst Over Src",
\r
106 "DESC_SRC_IN", "Porter-Duff Src In Dst",
\r
107 "DESC_DST_IN", "Porter-Duff Dst In Src",
\r
108 "DESC_SRC_OUT", "Porter-Duff Src HeldOutBy Dst",
\r
109 "DESC_DST_OUT", "Porter-Duff Dst HeldOutBy Src",
\r
110 "DESC_SRC_ATOP", "Porter-Duff Src Atop Dst",
\r
111 "DESC_DST_ATOP", "Porter-Duff Dst Atop Src",
\r
112 "DESC_ALPHA_XOR", "Porter-Duff Xor",
\r
113 "DESC_SRC_NO_EA", "Porter-Duff Src, No Extra Alpha",
\r
114 "DESC_SRC_OVER_NO_EA", "Porter-Duff SrcOverDst, No Extra Alpha",
\r
115 "DESC_ANY_ALPHA", "Any AlphaComposite Rule");
\r
116 c$.Any = c$.prototype.Any = new jssun.java2d.loops.CompositeType (null, "Any CompositeContext");
\r
117 c$.General = c$.prototype.General = jssun.java2d.loops.CompositeType.Any;
\r
118 c$.AnyAlpha = c$.prototype.AnyAlpha = jssun.java2d.loops.CompositeType.General.deriveSubType ("Any AlphaComposite Rule");
\r
119 c$.Xor = c$.prototype.Xor = jssun.java2d.loops.CompositeType.General.deriveSubType ("XOR mode");
\r
120 c$.Clear = c$.prototype.Clear = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Clear");
\r
121 c$.Src = c$.prototype.Src = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Src");
\r
122 c$.Dst = c$.prototype.Dst = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Dst");
\r
123 c$.SrcOver = c$.prototype.SrcOver = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Src Over Dst");
\r
124 c$.DstOver = c$.prototype.DstOver = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Dst Over Src");
\r
125 c$.SrcIn = c$.prototype.SrcIn = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Src In Dst");
\r
126 c$.DstIn = c$.prototype.DstIn = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Dst In Src");
\r
127 c$.SrcOut = c$.prototype.SrcOut = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Src HeldOutBy Dst");
\r
128 c$.DstOut = c$.prototype.DstOut = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Dst HeldOutBy Src");
\r
129 c$.SrcAtop = c$.prototype.SrcAtop = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Src Atop Dst");
\r
130 c$.DstAtop = c$.prototype.DstAtop = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Dst Atop Src");
\r
131 c$.AlphaXor = c$.prototype.AlphaXor = jssun.java2d.loops.CompositeType.AnyAlpha.deriveSubType ("Porter-Duff Xor");
\r
132 c$.SrcNoEa = c$.prototype.SrcNoEa = jssun.java2d.loops.CompositeType.Src.deriveSubType ("Porter-Duff Src, No Extra Alpha");
\r
133 c$.SrcOverNoEa = c$.prototype.SrcOverNoEa = jssun.java2d.loops.CompositeType.SrcOver.deriveSubType ("Porter-Duff SrcOverDst, No Extra Alpha");
\r
134 Clazz.defineStatics (c$,
\r