Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / java / awt / image / DataBuffer.js
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 () {
4 this.dataType = 0;
5 this.banks = 0;
6 this.offset = 0;
7 this.size = 0;
8 this.offsets = null;
9 this.theTrackable = null;
10 Clazz.instantialize (this, arguments);
11 }, java.awt.image, "DataBuffer");
12 c$.getDataTypeSize = Clazz.defineMethod (c$, "getDataTypeSize", 
13 function (type) {
14 if (type < 0 || type > 3) {
15 throw  new IllegalArgumentException ("Unknown data type " + type);
16 }return java.awt.image.DataBuffer.dataTypeSize[type];
17 }, "~N");
18 Clazz.makeConstructor (c$, 
19 function (dataType, size) {
20 this.construct (jssun.java2d.StateTrackable.State.UNTRACKABLE, dataType, size);
21 }, "~N,~N");
22 Clazz.makeConstructor (c$, 
23 function (initialState, dataType, size) {
24 this.theTrackable = jssun.java2d.StateTrackableDelegate.createInstance (initialState);
25 this.dataType = dataType;
26 this.banks = 1;
27 this.size = size;
28 this.offset = 0;
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);
34 }, "~N,~N,~N");
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;
40 this.size = size;
41 this.offset = 0;
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);
47 }, "~N,~N,~N,~N");
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;
53 this.size = size;
54 this.offset = offset;
55 this.offsets =  Clazz.newIntArray (numBanks, 0);
56 for (var i = 0; i < numBanks; i++) {
57 this.offsets[i] = offset;
58 }
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);
63 }, "~N,~N,~N,~A");
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;
71 this.size = size;
72 this.offset = offsets[0];
73 this.offsets = offsets.clone ();
74 }, "jssun.java2d.StateTrackable.State,~N,~N,~N,~A");
75 Clazz.defineMethod (c$, "getDataType", 
76 function () {
77 return this.dataType;
78 });
79 Clazz.defineMethod (c$, "getSize", 
80 function () {
81 return this.size;
82 });
83 Clazz.defineMethod (c$, "getOffset", 
84 function () {
85 return this.offset;
86 });
87 Clazz.defineMethod (c$, "getOffsets", 
88 function () {
89 return this.offsets.clone ();
90 });
91 Clazz.defineMethod (c$, "getNumBanks", 
92 function () {
93 return this.banks;
94 });
95 Clazz.defineMethod (c$, "getElem", 
96 function (i) {
97 return this.getElem (0, i);
98 }, "~N");
99 Clazz.defineMethod (c$, "setElem", 
100 function (i, val) {
101 this.setElem (0, i, val);
102 }, "~N,~N");
103 Clazz.defineMethod (c$, "getElemFloat", 
104 function (i) {
105 return this.getElem (i);
106 }, "~N");
107 Clazz.defineMethod (c$, "getElemFloat", 
108 function (bank, i) {
109 return this.getElem (bank, i);
110 }, "~N,~N");
111 Clazz.defineMethod (c$, "setElemFloat", 
112 function (i, val) {
113 this.setElem (i, Clazz.floatToInt (val));
114 }, "~N,~N");
115 Clazz.defineMethod (c$, "setElemFloat", 
116 function (bank, i, val) {
117 this.setElem (bank, i, Clazz.floatToInt (val));
118 }, "~N,~N,~N");
119 Clazz.defineMethod (c$, "getElemDouble", 
120 function (i) {
121 return this.getElem (i);
122 }, "~N");
123 Clazz.defineMethod (c$, "getElemDouble", 
124 function (bank, i) {
125 return this.getElem (bank, i);
126 }, "~N,~N");
127 Clazz.defineMethod (c$, "setElemDouble", 
128 function (i, val) {
129 this.setElem (i, Clazz.doubleToInt (val));
130 }, "~N,~N");
131 Clazz.defineMethod (c$, "setElemDouble", 
132 function (bank, i, val) {
133 this.setElem (bank, i, Clazz.doubleToInt (val));
134 }, "~N,~N,~N");
135 c$.toIntArray = Clazz.defineMethod (c$, "toIntArray", 
136 function (obj) {
137 if (Clazz.instanceOf (obj, Array)) {
138 return obj;
139 } else if (obj == null) {
140 return null;
141 } else if (Clazz.instanceOf (obj, Array)) {
142 var sdata = obj;
143 var idata =  Clazz.newIntArray (sdata.length, 0);
144 for (var i = 0; i < sdata.length; i++) {
145 idata[i] = sdata[i] & 0xffff;
146 }
147 return idata;
148 } else if (Clazz.instanceOf (obj, Array)) {
149 var bdata = obj;
150 var idata =  Clazz.newIntArray (bdata.length, 0);
151 for (var i = 0; i < bdata.length; i++) {
152 idata[i] = 0xff & bdata[i];
153 }
154 return idata;
155 }return null;
156 }, "~O");
157 Clazz.defineStatics (c$,
158 "TYPE_BYTE", 0,
159 "TYPE_SHORT", 2,
160 "TYPE_INT", 3,
161 "TYPE_UNDEFINED", 32,
162 "dataTypeSize",  Clazz.newIntArray (-1, [8, 16, 16, 32, 32, 64]));
163 });