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