Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / java / awt / image / DataBufferInt.js
1 Clazz.declarePackage ("java.awt.image");
2 Clazz.load (["java.awt.image.DataBuffer"], "java.awt.image.DataBufferInt", ["JU.AU", "jssun.java2d.StateTrackable"], function () {
3 c$ = Clazz.decorateAsClass (function () {
4 this.data = null;
5 this.bankdata = null;
6 Clazz.instantialize (this, arguments);
7 }, java.awt.image, "DataBufferInt", java.awt.image.DataBuffer);
8 Clazz.makeConstructor (c$, 
9 function (size) {
10 Clazz.superConstructor (this, java.awt.image.DataBufferInt, [jssun.java2d.StateTrackable.State.STABLE, 3, size]);
11 this.data =  Clazz.newIntArray (size, 0);
12 this.bankdata =  Clazz.newIntArray (1, 0);
13 this.bankdata[0] = this.data;
14 }, "~N");
15 Clazz.makeConstructor (c$, 
16 function (size, numBanks) {
17 Clazz.superConstructor (this, java.awt.image.DataBufferInt, [jssun.java2d.StateTrackable.State.STABLE, 3, size, numBanks]);
18 this.bankdata =  Clazz.newIntArray (numBanks, 0);
19 for (var i = 0; i < numBanks; i++) {
20 this.bankdata[i] =  Clazz.newIntArray (size, 0);
21 }
22 this.data = this.bankdata[0];
23 }, "~N,~N");
24 Clazz.makeConstructor (c$, 
25 function (dataArray, size) {
26 Clazz.superConstructor (this, java.awt.image.DataBufferInt, [jssun.java2d.StateTrackable.State.UNTRACKABLE, 3, size]);
27 if (JU.AU.isAI (dataArray)) {
28 this.data = dataArray;
29 this.bankdata =  Clazz.newIntArray (1, 0);
30 this.bankdata[0] = this.data;
31 } else {
32 this.banks = dataArray.length;
33 this.bankdata = dataArray.clone ();
34 this.data = this.bankdata[0];
35 }}, "~A,~N");
36 Clazz.makeConstructor (c$, 
37 function (dataArray, size, offset) {
38 Clazz.superConstructor (this, java.awt.image.DataBufferInt, [jssun.java2d.StateTrackable.State.UNTRACKABLE, 3, size, 1, offset]);
39 this.data = dataArray;
40 this.bankdata =  Clazz.newIntArray (1, 0);
41 this.bankdata[0] = this.data;
42 }, "~A,~N,~N");
43 Clazz.makeConstructor (c$, 
44 function (dataArray, size, offsets) {
45 Clazz.superConstructor (this, java.awt.image.DataBufferInt, [jssun.java2d.StateTrackable.State.UNTRACKABLE, 3, size, dataArray.length, offsets]);
46 this.bankdata = dataArray.clone ();
47 this.data = this.bankdata[0];
48 }, "~A,~N,~A");
49 Clazz.defineMethod (c$, "getData", 
50 function () {
51 this.theTrackable.setUntrackable ();
52 return this.data;
53 });
54 Clazz.defineMethod (c$, "getData", 
55 function (bank) {
56 this.theTrackable.setUntrackable ();
57 return this.bankdata[bank];
58 }, "~N");
59 Clazz.defineMethod (c$, "getBankData", 
60 function () {
61 this.theTrackable.setUntrackable ();
62 return this.bankdata.clone ();
63 });
64 Clazz.defineMethod (c$, "getElem", 
65 function (i) {
66 return this.data[i + this.offset];
67 }, "~N");
68 Clazz.defineMethod (c$, "getElem", 
69 function (bank, i) {
70 return this.bankdata[bank][i + this.offsets[bank]];
71 }, "~N,~N");
72 Clazz.defineMethod (c$, "setElem", 
73 function (i, val) {
74 this.data[i + this.offset] = val;
75 this.theTrackable.markDirty ();
76 }, "~N,~N");
77 Clazz.defineMethod (c$, "setElem", 
78 function (bank, i, val) {
79 this.bankdata[bank][i + this.offsets[bank]] = val;
80 this.theTrackable.markDirty ();
81 }, "~N,~N,~N");
82 });