1 Clazz.declarePackage ("java.awt.image");
2 Clazz.load (["java.awt.image.DataBuffer"], "java.awt.image.DataBufferByte", ["JU.AU", "jssun.java2d.StateTrackable"], function () {
3 c$ = Clazz.decorateAsClass (function () {
6 Clazz.instantialize (this, arguments);
7 }, java.awt.image, "DataBufferByte", java.awt.image.DataBuffer);
8 Clazz.makeConstructor (c$,
10 Clazz.superConstructor (this, java.awt.image.DataBufferByte, [jssun.java2d.StateTrackable.State.STABLE, 0, size]);
11 this.data = Clazz.newByteArray (size, 0);
12 this.bankdata = Clazz.newByteArray (1, 0);
13 this.bankdata[0] = this.data;
15 Clazz.makeConstructor (c$,
16 function (size, numBanks) {
17 Clazz.superConstructor (this, java.awt.image.DataBufferByte, [jssun.java2d.StateTrackable.State.STABLE, 0, size, numBanks]);
18 this.bankdata = Clazz.newByteArray (numBanks, 0);
19 for (var i = 0; i < numBanks; i++) {
20 this.bankdata[i] = Clazz.newByteArray (size, 0);
22 this.data = this.bankdata[0];
24 Clazz.makeConstructor (c$,
25 function (dataArray, size) {
26 Clazz.superConstructor (this, java.awt.image.DataBufferByte, [jssun.java2d.StateTrackable.State.UNTRACKABLE, 0, size]);
27 if (JU.AU.isAI (dataArray)) {
28 this.data = dataArray;
29 this.bankdata = Clazz.newByteArray (1, 0);
30 this.bankdata[0] = this.data;
32 this.banks = dataArray.length;
33 this.bankdata = dataArray.clone ();
34 this.data = this.bankdata[0];
36 Clazz.makeConstructor (c$,
37 function (dataArray, size, offset) {
38 Clazz.superConstructor (this, java.awt.image.DataBufferByte, [jssun.java2d.StateTrackable.State.UNTRACKABLE, 0, size, 1, offset]);
39 this.data = dataArray;
40 this.bankdata = Clazz.newByteArray (1, 0);
41 this.bankdata[0] = this.data;
43 Clazz.makeConstructor (c$,
44 function (dataArray, size, offsets) {
45 Clazz.superConstructor (this, java.awt.image.DataBufferByte, [jssun.java2d.StateTrackable.State.UNTRACKABLE, 0, size, dataArray.length, offsets]);
46 this.bankdata = dataArray.clone ();
47 this.data = this.bankdata[0];
49 Clazz.defineMethod (c$, "getData",
51 this.theTrackable.setUntrackable ();
54 Clazz.defineMethod (c$, "getData",
56 this.theTrackable.setUntrackable ();
57 return this.bankdata[bank];
59 Clazz.defineMethod (c$, "getBankData",
61 this.theTrackable.setUntrackable ();
62 return this.bankdata.clone ();
64 Clazz.defineMethod (c$, "getElem",
66 return (this.data[i + this.offset]) & 0xff;
68 Clazz.defineMethod (c$, "getElem",
70 return (this.bankdata[bank][i + this.offsets[bank]]) & 0xff;
72 Clazz.defineMethod (c$, "setElem",
74 this.data[i + this.offset] = val;
75 this.theTrackable.markDirty ();
77 Clazz.defineMethod (c$, "setElem",
78 function (bank, i, val) {
79 this.bankdata[bank][i + this.offsets[bank]] = val;
80 this.theTrackable.markDirty ();