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