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
8 Clazz.instantialize (this, arguments);
\r
9 }, java.awt.image, "SampleModel");
\r
10 Clazz.makeConstructor (c$,
\r
11 function (dataType, w, h, numBands) {
\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
24 this.numBands = numBands;
\r
26 Clazz.defineMethod (c$, "getWidth",
\r
30 Clazz.defineMethod (c$, "getHeight",
\r
34 Clazz.defineMethod (c$, "getNumBands",
\r
36 return this.numBands;
\r
38 Clazz.defineMethod (c$, "getDataType",
\r
40 return this.dataType;
\r
42 Clazz.defineMethod (c$, "getTransferType",
\r
44 return this.dataType;
\r
46 Clazz.defineMethod (c$, "getPixel",
\r
47 function (x, y, iArray, data) {
\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
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
66 if (obj == null) bdata = Clazz.newByteArray (numDataElems * w * h, 0);
\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
72 for (var k = 0; k < numDataElems; k++) {
\r
73 bdata[cnt++] = btemp[k];
\r
82 if (obj == null) sdata = Clazz.newShortArray (numDataElems * w * h, 0);
\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
88 for (var k = 0; k < numDataElems; k++) {
\r
89 sdata[cnt++] = stemp[k];
\r
98 if (obj == null) idata = Clazz.newIntArray (numDataElems * w * h, 0);
\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
104 for (var k = 0; k < numDataElems; k++) {
\r
105 idata[cnt++] = itemp[k];
\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
117 var type = this.getTransferType ();
\r
118 var numDataElems = this.getNumDataElements ();
\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
128 this.setDataElements (j, i, btemp, data);
\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
140 this.setDataElements (j, i, itemp, data);
\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
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
160 }, "~N,~N,~N,~N,~A,java.awt.image.DataBuffer");
\r
161 Clazz.defineMethod (c$, "getSampleFloat",
\r
162 function (x, y, b, data) {
\r
164 sample = this.getSample (x, y, b, data);
\r
166 }, "~N,~N,~N,java.awt.image.DataBuffer");
\r
167 Clazz.defineMethod (c$, "getSampleDouble",
\r
168 function (x, y, b, data) {
\r
170 sample = this.getSample (x, y, b, data);
\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
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
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
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
195 }, "~N,~N,~A,java.awt.image.DataBuffer");
\r
196 Clazz.defineMethod (c$, "setPixels",
\r
197 function (x, y, w, h, iArray, data) {
\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
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
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
215 }, "~N,~N,~N,~N,~N,~A,java.awt.image.DataBuffer");
\r