Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / java / awt / image / SampleModel.js
1 Clazz.declarePackage ("java.awt.image");
2 Clazz.load (null, "java.awt.image.SampleModel", ["java.lang.IllegalArgumentException"], function () {
3 c$ = Clazz.decorateAsClass (function () {
4 this.width = 0;
5 this.height = 0;
6 this.numBands = 0;
7 this.dataType = 0;
8 Clazz.instantialize (this, arguments);
9 }, java.awt.image, "SampleModel");
10 Clazz.makeConstructor (c$, 
11 function (dataType, w, h, numBands) {
12 var size = w * h;
13 if (w <= 0 || h <= 0) {
14 throw  new IllegalArgumentException ("Width (" + w + ") and height (" + h + ") must be > 0");
15 }if (size >= 2147483647) {
16 throw  new IllegalArgumentException ("Dimensions (width=" + w + " height=" + h + ") are too large");
17 }if (dataType < 0 || (dataType > 3 && dataType != 32)) {
18 throw  new IllegalArgumentException ("Unsupported dataType: " + dataType);
19 }if (numBands <= 0) {
20 throw  new IllegalArgumentException ("Number of bands must be > 0");
21 }this.dataType = dataType;
22 this.width = w;
23 this.height = h;
24 this.numBands = numBands;
25 }, "~N,~N,~N,~N");
26 Clazz.defineMethod (c$, "getWidth", 
27 function () {
28 return this.width;
29 });
30 Clazz.defineMethod (c$, "getHeight", 
31 function () {
32 return this.height;
33 });
34 Clazz.defineMethod (c$, "getNumBands", 
35 function () {
36 return this.numBands;
37 });
38 Clazz.defineMethod (c$, "getDataType", 
39 function () {
40 return this.dataType;
41 });
42 Clazz.defineMethod (c$, "getTransferType", 
43 function () {
44 return this.dataType;
45 });
46 Clazz.defineMethod (c$, "getPixel", 
47 function (x, y, iArray, data) {
48 var pixels;
49 if (iArray != null) pixels = iArray;
50  else pixels =  Clazz.newIntArray (this.numBands, 0);
51 for (var i = 0; i < this.numBands; i++) {
52 pixels[i] = this.getSample (x, y, i, data);
53 }
54 return pixels;
55 }, "~N,~N,~A,java.awt.image.DataBuffer");
56 Clazz.defineMethod (c$, "getDataElements", 
57 function (x, y, w, h, obj, data) {
58 var type = this.getTransferType ();
59 var numDataElems = this.getNumDataElements ();
60 var cnt = 0;
61 var o = null;
62 switch (type) {
63 case 0:
64 var btemp;
65 var bdata;
66 if (obj == null) bdata =  Clazz.newByteArray (numDataElems * w * h, 0);
67  else bdata = obj;
68 for (var i = y; i < y + h; i++) {
69 for (var j = x; j < x + w; j++) {
70 o = this.getDataElements (j, i, o, data);
71 btemp = o;
72 for (var k = 0; k < numDataElems; k++) {
73 bdata[cnt++] = btemp[k];
74 }
75 }
76 }
77 obj = bdata;
78 break;
79 case 2:
80 var sdata;
81 var stemp;
82 if (obj == null) sdata =  Clazz.newShortArray (numDataElems * w * h, 0);
83  else sdata = obj;
84 for (var i = y; i < y + h; i++) {
85 for (var j = x; j < x + w; j++) {
86 o = this.getDataElements (j, i, o, data);
87 stemp = o;
88 for (var k = 0; k < numDataElems; k++) {
89 sdata[cnt++] = stemp[k];
90 }
91 }
92 }
93 obj = sdata;
94 break;
95 case 3:
96 var idata;
97 var itemp;
98 if (obj == null) idata =  Clazz.newIntArray (numDataElems * w * h, 0);
99  else idata = obj;
100 for (var i = y; i < y + h; i++) {
101 for (var j = x; j < x + w; j++) {
102 o = this.getDataElements (j, i, o, data);
103 itemp = o;
104 for (var k = 0; k < numDataElems; k++) {
105 idata[cnt++] = itemp[k];
106 }
107 }
108 }
109 obj = idata;
110 break;
111 }
112 return obj;
113 }, "~N,~N,~N,~N,~O,java.awt.image.DataBuffer");
114 Clazz.defineMethod (c$, "setDataElements", 
115 function (x, y, w, h, obj, data) {
116 var cnt = 0;
117 var type = this.getTransferType ();
118 var numDataElems = this.getNumDataElements ();
119 switch (type) {
120 case 0:
121 var barray = obj;
122 var btemp =  Clazz.newByteArray (numDataElems, 0);
123 for (var i = y; i < y + h; i++) {
124 for (var j = x; j < x + w; j++) {
125 for (var k = 0; k < numDataElems; k++) {
126 btemp[k] = barray[cnt++];
127 }
128 this.setDataElements (j, i, btemp, data);
129 }
130 }
131 break;
132 case 3:
133 var iArray = obj;
134 var itemp =  Clazz.newIntArray (numDataElems, 0);
135 for (var i = y; i < y + h; i++) {
136 for (var j = x; j < x + w; j++) {
137 for (var k = 0; k < numDataElems; k++) {
138 itemp[k] = iArray[cnt++];
139 }
140 this.setDataElements (j, i, itemp, data);
141 }
142 }
143 break;
144 }
145 }, "~N,~N,~N,~N,~O,java.awt.image.DataBuffer");
146 Clazz.defineMethod (c$, "getPixels", 
147 function (x, y, w, h, iArray, data) {
148 var pixels;
149 var Offset = 0;
150 if (iArray != null) pixels = iArray;
151  else pixels =  Clazz.newIntArray (this.numBands * w * h, 0);
152 for (var i = y; i < (h + y); i++) {
153 for (var j = x; j < (w + x); j++) {
154 for (var k = 0; k < this.numBands; k++) {
155 pixels[Offset++] = this.getSample (j, i, k, data);
156 }
157 }
158 }
159 return pixels;
160 }, "~N,~N,~N,~N,~A,java.awt.image.DataBuffer");
161 Clazz.defineMethod (c$, "getSampleFloat", 
162 function (x, y, b, data) {
163 var sample;
164 sample = this.getSample (x, y, b, data);
165 return sample;
166 }, "~N,~N,~N,java.awt.image.DataBuffer");
167 Clazz.defineMethod (c$, "getSampleDouble", 
168 function (x, y, b, data) {
169 var sample;
170 sample = this.getSample (x, y, b, data);
171 return sample;
172 }, "~N,~N,~N,java.awt.image.DataBuffer");
173 Clazz.defineMethod (c$, "getSamples", 
174 function (x, y, w, h, b, iArray, data) {
175 var pixels;
176 var Offset = 0;
177 if (iArray != null) pixels = iArray;
178  else pixels =  Clazz.newIntArray (w * h, 0);
179 for (var i = y; i < (h + y); i++) {
180 for (var j = x; j < (w + x); j++) {
181 pixels[Offset++] = this.getSample (j, i, b, data);
182 }
183 }
184 return pixels;
185 }, "~N,~N,~N,~N,~N,~A,java.awt.image.DataBuffer");
186 Clazz.defineMethod (c$, "setPixel", 
187 function (x, y, iArray, data) {
188 for (var i = 0; i < this.numBands; i++) this.setSample (x, y, i, iArray[i], data);
189
190 }, "~N,~N,~A,java.awt.image.DataBuffer");
191 Clazz.defineMethod (c$, "setPixel", 
192 function (x, y, fArray, data) {
193 for (var i = 0; i < this.numBands; i++) this.setSample (x, y, i, fArray[i], data);
194
195 }, "~N,~N,~A,java.awt.image.DataBuffer");
196 Clazz.defineMethod (c$, "setPixels", 
197 function (x, y, w, h, iArray, data) {
198 var Offset = 0;
199 for (var i = y; i < (y + h); i++) {
200 for (var j = x; j < (x + w); j++) {
201 for (var k = 0; k < this.numBands; k++) {
202 this.setSample (j, i, k, iArray[Offset++], data);
203 }
204 }
205 }
206 }, "~N,~N,~N,~N,~A,java.awt.image.DataBuffer");
207 Clazz.defineMethod (c$, "setSamples", 
208 function (x, y, w, h, b, iArray, data) {
209 var Offset = 0;
210 for (var i = y; i < (y + h); i++) {
211 for (var j = x; j < (x + w); j++) {
212 this.setSample (j, i, b, iArray[Offset++], data);
213 }
214 }
215 }, "~N,~N,~N,~N,~N,~A,java.awt.image.DataBuffer");
216 });