1 Clazz.declarePackage ("java.awt.image");
\r
2 Clazz.load (null, "java.awt.image.DataBuffer", ["java.lang.ArrayIndexOutOfBoundsException", "$.IllegalArgumentException", "jssun.java2d.StateTrackable", "$.StateTrackableDelegate"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
9 this.theTrackable = null;
\r
10 Clazz.instantialize (this, arguments);
\r
11 }, java.awt.image, "DataBuffer");
\r
12 c$.getDataTypeSize = Clazz.defineMethod (c$, "getDataTypeSize",
\r
14 if (type < 0 || type > 3) {
\r
15 throw new IllegalArgumentException ("Unknown data type " + type);
\r
16 }return java.awt.image.DataBuffer.dataTypeSize[type];
\r
18 Clazz.makeConstructor (c$,
\r
19 function (dataType, size) {
\r
20 this.construct (jssun.java2d.StateTrackable.State.UNTRACKABLE, dataType, size);
\r
22 Clazz.makeConstructor (c$,
\r
23 function (initialState, dataType, size) {
\r
24 this.theTrackable = jssun.java2d.StateTrackableDelegate.createInstance (initialState);
\r
25 this.dataType = dataType;
\r
29 this.offsets = Clazz.newIntArray (1, 0);
\r
30 }, "jssun.java2d.StateTrackable.State,~N,~N");
\r
31 Clazz.makeConstructor (c$,
\r
32 function (dataType, size, numBanks) {
\r
33 this.construct (jssun.java2d.StateTrackable.State.UNTRACKABLE, dataType, size, numBanks);
\r
35 Clazz.makeConstructor (c$,
\r
36 function (initialState, dataType, size, numBanks) {
\r
37 this.theTrackable = jssun.java2d.StateTrackableDelegate.createInstance (initialState);
\r
38 this.dataType = dataType;
\r
39 this.banks = numBanks;
\r
42 this.offsets = Clazz.newIntArray (this.banks, 0);
\r
43 }, "jssun.java2d.StateTrackable.State,~N,~N,~N");
\r
44 Clazz.makeConstructor (c$,
\r
45 function (dataType, size, numBanks, offset) {
\r
46 this.construct (jssun.java2d.StateTrackable.State.UNTRACKABLE, dataType, size, numBanks, offset);
\r
48 Clazz.makeConstructor (c$,
\r
49 function (initialState, dataType, size, numBanks, offset) {
\r
50 this.theTrackable = jssun.java2d.StateTrackableDelegate.createInstance (initialState);
\r
51 this.dataType = dataType;
\r
52 this.banks = numBanks;
\r
54 this.offset = offset;
\r
55 this.offsets = Clazz.newIntArray (numBanks, 0);
\r
56 for (var i = 0; i < numBanks; i++) {
\r
57 this.offsets[i] = offset;
\r
59 }, "jssun.java2d.StateTrackable.State,~N,~N,~N,~N");
\r
60 Clazz.makeConstructor (c$,
\r
61 function (dataType, size, numBanks, offsets) {
\r
62 this.construct (jssun.java2d.StateTrackable.State.UNTRACKABLE, dataType, size, numBanks, offsets);
\r
64 Clazz.makeConstructor (c$,
\r
65 function (initialState, dataType, size, numBanks, offsets) {
\r
66 if (numBanks != offsets.length) {
\r
67 throw new ArrayIndexOutOfBoundsException ("Number of banks does not match number of bank offsets");
\r
68 }this.theTrackable = jssun.java2d.StateTrackableDelegate.createInstance (initialState);
\r
69 this.dataType = dataType;
\r
70 this.banks = numBanks;
\r
72 this.offset = offsets[0];
\r
73 this.offsets = offsets.clone ();
\r
74 }, "jssun.java2d.StateTrackable.State,~N,~N,~N,~A");
\r
75 Clazz.defineMethod (c$, "getDataType",
\r
77 return this.dataType;
\r
79 Clazz.defineMethod (c$, "getSize",
\r
83 Clazz.defineMethod (c$, "getOffset",
\r
87 Clazz.defineMethod (c$, "getOffsets",
\r
89 return this.offsets.clone ();
\r
91 Clazz.defineMethod (c$, "getNumBanks",
\r
95 Clazz.defineMethod (c$, "getElem",
\r
97 return this.getElem (0, i);
\r
99 Clazz.defineMethod (c$, "setElem",
\r
100 function (i, val) {
\r
101 this.setElem (0, i, val);
\r
103 Clazz.defineMethod (c$, "getElemFloat",
\r
105 return this.getElem (i);
\r
107 Clazz.defineMethod (c$, "getElemFloat",
\r
108 function (bank, i) {
\r
109 return this.getElem (bank, i);
\r
111 Clazz.defineMethod (c$, "setElemFloat",
\r
112 function (i, val) {
\r
113 this.setElem (i, Clazz.floatToInt (val));
\r
115 Clazz.defineMethod (c$, "setElemFloat",
\r
116 function (bank, i, val) {
\r
117 this.setElem (bank, i, Clazz.floatToInt (val));
\r
119 Clazz.defineMethod (c$, "getElemDouble",
\r
121 return this.getElem (i);
\r
123 Clazz.defineMethod (c$, "getElemDouble",
\r
124 function (bank, i) {
\r
125 return this.getElem (bank, i);
\r
127 Clazz.defineMethod (c$, "setElemDouble",
\r
128 function (i, val) {
\r
129 this.setElem (i, Clazz.doubleToInt (val));
\r
131 Clazz.defineMethod (c$, "setElemDouble",
\r
132 function (bank, i, val) {
\r
133 this.setElem (bank, i, Clazz.doubleToInt (val));
\r
135 c$.toIntArray = Clazz.defineMethod (c$, "toIntArray",
\r
137 if (Clazz.instanceOf (obj, Array)) {
\r
139 } else if (obj == null) {
\r
141 } else if (Clazz.instanceOf (obj, Array)) {
\r
143 var idata = Clazz.newIntArray (sdata.length, 0);
\r
144 for (var i = 0; i < sdata.length; i++) {
\r
145 idata[i] = sdata[i] & 0xffff;
\r
148 } else if (Clazz.instanceOf (obj, Array)) {
\r
150 var idata = Clazz.newIntArray (bdata.length, 0);
\r
151 for (var i = 0; i < bdata.length; i++) {
\r
152 idata[i] = 0xff & bdata[i];
\r
157 Clazz.defineStatics (c$,
\r
161 "TYPE_UNDEFINED", 32,
\r
162 "dataTypeSize", Clazz.newIntArray (-1, [8, 16, 16, 32, 32, 64]));
\r