1 Clazz.declarePackage ("java.awt.image");
\r
2 Clazz.load (["java.awt.image.MultiPixelPackedSampleModel", "$.SinglePixelPackedSampleModel"], "java.awt.image.Raster", ["java.lang.IllegalArgumentException", "$.NullPointerException", "java.awt.Point", "$.Rectangle", "java.awt.image.DataBuffer", "$.DataBufferByte", "$.DataBufferInt", "$.RasterFormatException", "swingjs.api.Interface"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.sampleModel = null;
\r
5 this.dataBuffer = null;
\r
10 this.sampleModelTranslateX = 0;
\r
11 this.sampleModelTranslateY = 0;
\r
13 this.numDataElements = 0;
\r
15 Clazz.instantialize (this, arguments);
\r
16 }, java.awt.image, "Raster");
\r
17 c$.createPackedRaster = Clazz.defineMethod (c$, "createPackedRaster",
\r
18 function (dataType, w, h, bandMasks, location) {
\r
22 d = new java.awt.image.DataBufferByte (w * h);
\r
25 d = new java.awt.image.DataBufferInt (w * h);
\r
28 throw new IllegalArgumentException ("Unsupported data type " + dataType);
\r
30 return java.awt.image.Raster.createPackedRaster (d, w, h, w, bandMasks, location);
\r
31 }, "~N,~N,~N,~A,java.awt.Point");
\r
32 c$.createPackedRaster = Clazz.defineMethod (c$, "createPackedRaster",
\r
33 function (dataType, w, h, bands, bitsPerBand, location) {
\r
36 throw new IllegalArgumentException ("Number of bands (" + bands + ") must be greater than 0");
\r
37 }if (bitsPerBand <= 0) {
\r
38 throw new IllegalArgumentException ("Bits per band (" + bitsPerBand + ") must be greater than 0");
\r
40 var masks = Clazz.newIntArray (bands, 0);
\r
41 var mask = (1 << bitsPerBand) - 1;
\r
42 var shift = (bands - 1) * bitsPerBand;
\r
43 if (shift + bitsPerBand > java.awt.image.DataBuffer.getDataTypeSize (dataType)) {
\r
44 throw new IllegalArgumentException ("bitsPerBand(" + bitsPerBand + ") * bands is " + " greater than data type " + "size.");
\r
45 }switch (dataType) {
\r
50 throw new IllegalArgumentException ("Unsupported data type " + dataType);
\r
52 for (var i = 0; i < bands; i++) {
\r
53 masks[i] = mask << shift;
\r
54 shift = shift - bitsPerBand;
\r
56 return java.awt.image.Raster.createPackedRaster (dataType, w, h, masks, location);
\r
61 d = new java.awt.image.DataBufferByte (Clazz.doubleToInt (Math.ceil (fw / (Clazz.doubleToInt (8 / bitsPerBand)))) * h);
\r
64 d = new java.awt.image.DataBufferInt (Clazz.doubleToInt (Math.ceil (fw / (Clazz.doubleToInt (32 / bitsPerBand)))) * h);
\r
67 throw new IllegalArgumentException ("Unsupported data type " + dataType);
\r
69 return java.awt.image.Raster.createPackedRaster (d, w, h, bitsPerBand, location);
\r
70 }}, "~N,~N,~N,~N,~N,java.awt.Point");
\r
71 c$.createPackedRaster = Clazz.defineMethod (c$, "createPackedRaster",
\r
72 function (dataBuffer, w, h, scanlineStride, bandMasks, location) {
\r
73 if (dataBuffer == null) {
\r
74 throw new NullPointerException ("DataBuffer cannot be null");
\r
75 }if (location == null) {
\r
76 location = new java.awt.Point (0, 0);
\r
77 }var dataType = dataBuffer.getDataType ();
\r
78 var sppsm = new java.awt.image.SinglePixelPackedSampleModel (dataType, w, h, scanlineStride, bandMasks);
\r
84 throw new IllegalArgumentException ("Unsupported data type " + dataType);
\r
86 var r = swingjs.api.Interface.getInstance ("jssun.awt.image." + (dataType == 0 ? "Byte" : "Integer") + "InterleavedRaster", true);
\r
87 r.setParams (sppsm, dataBuffer, location);
\r
89 }, "java.awt.image.DataBuffer,~N,~N,~N,~A,java.awt.Point");
\r
90 c$.createPackedRaster = Clazz.defineMethod (c$, "createPackedRaster",
\r
91 function (dataBuffer, w, h, bitsPerPixel, location) {
\r
92 if (dataBuffer == null) {
\r
93 throw new NullPointerException ("DataBuffer cannot be null");
\r
94 }if (location == null) {
\r
95 location = new java.awt.Point (0, 0);
\r
96 }var dataType = dataBuffer.getDataType ();
\r
97 if (dataType != 0 && dataType != 3) {
\r
98 throw new IllegalArgumentException ("Unsupported data type " + dataType);
\r
99 }if (dataBuffer.getNumBanks () != 1) {
\r
100 throw new java.awt.image.RasterFormatException ("DataBuffer for packed Rasters must only have 1 bank.");
\r
101 }var mppsm = new java.awt.image.MultiPixelPackedSampleModel (dataType, w, h, bitsPerPixel);
\r
102 if (dataType == 0 && (bitsPerPixel == 1 || bitsPerPixel == 2 || bitsPerPixel == 4)) {
\r
103 return new jssun.awt.image.BytePackedRaster (mppsm, dataBuffer, location);
\r
105 return new jssun.awt.image.SunWritableRaster (mppsm, dataBuffer, location);
\r
106 }}, "java.awt.image.DataBuffer,~N,~N,~N,java.awt.Point");
\r
107 c$.createRaster = Clazz.defineMethod (c$, "createRaster",
\r
108 function (sm, db, location) {
\r
109 if ((sm == null) || (db == null)) {
\r
110 throw new NullPointerException ("SampleModel and DataBuffer cannot be null");
\r
111 }if (location == null) {
\r
112 location = new java.awt.Point (0, 0);
\r
113 }var dataType = sm.getDataType ();
\r
114 if (Clazz.instanceOf (sm, java.awt.image.MultiPixelPackedSampleModel) && dataType == 0 && sm.getSampleSize (0) < 8) {
\r
115 return new jssun.awt.image.BytePackedRaster (sm, db, location);
\r
116 }return new java.awt.image.Raster (sm, db, location);
\r
117 }, "java.awt.image.SampleModel,java.awt.image.DataBuffer,java.awt.Point");
\r
118 c$.createWritableRaster = Clazz.defineMethod (c$, "createWritableRaster",
\r
119 function (sm, location) {
\r
120 if (location == null) {
\r
121 location = new java.awt.Point (0, 0);
\r
122 }return java.awt.image.Raster.createWritableRaster (sm, sm.createDataBuffer (), location);
\r
123 }, "java.awt.image.SampleModel,java.awt.Point");
\r
124 c$.createWritableRaster = Clazz.defineMethod (c$, "createWritableRaster",
\r
125 function (sm, db, location) {
\r
126 if ((sm == null) || (db == null)) {
\r
127 throw new NullPointerException ("SampleModel and DataBuffer cannot be null");
\r
128 }if (location == null) {
\r
129 location = new java.awt.Point (0, 0);
\r
130 }var dataType = sm.getDataType ();
\r
131 if (Clazz.instanceOf (sm, java.awt.image.MultiPixelPackedSampleModel) && dataType == 0 && sm.getSampleSize (0) < 8) {
\r
132 return new jssun.awt.image.BytePackedRaster (sm, db, location);
\r
133 }return new jssun.awt.image.SunWritableRaster (sm, db, location);
\r
134 }, "java.awt.image.SampleModel,java.awt.image.DataBuffer,java.awt.Point");
\r
135 Clazz.makeConstructor (c$,
\r
136 function (sampleModel, origin) {
\r
137 this.setRaster (sampleModel, sampleModel.createDataBuffer (), new java.awt.Rectangle (origin.x, origin.y, sampleModel.getWidth (), sampleModel.getHeight ()), origin, null);
\r
138 }, "java.awt.image.SampleModel,java.awt.Point");
\r
139 Clazz.makeConstructor (c$,
\r
140 function (sampleModel, dataBuffer, origin) {
\r
141 this.setRaster (sampleModel, dataBuffer, new java.awt.Rectangle (origin.x, origin.y, sampleModel.getWidth (), sampleModel.getHeight ()), origin, null);
\r
142 }, "java.awt.image.SampleModel,java.awt.image.DataBuffer,java.awt.Point");
\r
143 Clazz.makeConstructor (c$,
\r
146 Clazz.makeConstructor (c$,
\r
147 function (sampleModel, dataBuffer, aRegion, sampleModelTranslate, parent) {
\r
148 this.setRaster (sampleModel, dataBuffer, aRegion, sampleModelTranslate, parent);
\r
149 }, "java.awt.image.SampleModel,java.awt.image.DataBuffer,java.awt.Rectangle,java.awt.Point,java.awt.image.Raster");
\r
150 Clazz.defineMethod (c$, "setRaster",
\r
151 function (sampleModel, dataBuffer, aRegion, sampleModelTranslate, parent) {
\r
152 if ((sampleModel == null) || (dataBuffer == null) || (aRegion == null) || (sampleModelTranslate == null)) {
\r
153 throw new NullPointerException ("SampleModel, dataBuffer, aRegion and sampleModelTranslate cannot be null");
\r
154 }this.sampleModel = sampleModel;
\r
155 this.dataBuffer = dataBuffer;
\r
156 this.minX = aRegion.x;
\r
157 this.minY = aRegion.y;
\r
158 this.width = aRegion.width;
\r
159 this.height = aRegion.height;
\r
160 if (this.width <= 0 || this.height <= 0) {
\r
161 throw new java.awt.image.RasterFormatException ("negative or zero " + ((this.width <= 0) ? "width" : "height"));
\r
162 }if ((this.minX + this.width) < this.minX) {
\r
163 throw new java.awt.image.RasterFormatException ("overflow condition for X coordinates of Raster");
\r
164 }if ((this.minY + this.height) < this.minY) {
\r
165 throw new java.awt.image.RasterFormatException ("overflow condition for Y coordinates of Raster");
\r
166 }this.sampleModelTranslateX = sampleModelTranslate.x;
\r
167 this.sampleModelTranslateY = sampleModelTranslate.y;
\r
168 this.numBands = sampleModel.getNumBands ();
\r
169 this.numDataElements = sampleModel.getNumDataElements ();
\r
170 this.parent = parent;
\r
171 }, "java.awt.image.SampleModel,java.awt.image.DataBuffer,java.awt.Rectangle,java.awt.Point,java.awt.image.Raster");
\r
172 Clazz.defineMethod (c$, "getParent",
\r
174 return this.parent;
\r
176 Clazz.defineMethod (c$, "getSampleModelTranslateX",
\r
178 return this.sampleModelTranslateX;
\r
180 Clazz.defineMethod (c$, "getSampleModelTranslateY",
\r
182 return this.sampleModelTranslateY;
\r
184 Clazz.defineMethod (c$, "createCompatibleWritableRaster",
\r
186 return new jssun.awt.image.SunWritableRaster (this.sampleModel, new java.awt.Point (0, 0));
\r
188 Clazz.defineMethod (c$, "createCompatibleWritableRaster",
\r
190 if (w <= 0 || h <= 0) {
\r
191 throw new java.awt.image.RasterFormatException ("negative " + ((w <= 0) ? "width" : "height"));
\r
192 }var sm = this.sampleModel.createCompatibleSampleModel (w, h);
\r
193 return new jssun.awt.image.SunWritableRaster (sm, new java.awt.Point (0, 0));
\r
195 Clazz.defineMethod (c$, "createCompatibleWritableRaster",
\r
197 if (rect == null) {
\r
198 throw new NullPointerException ("Rect cannot be null");
\r
199 }return this.createCompatibleWritableRaster (rect.x, rect.y, rect.width, rect.height);
\r
200 }, "java.awt.Rectangle");
\r
201 Clazz.defineMethod (c$, "createCompatibleWritableRaster",
\r
202 function (x, y, w, h) {
\r
203 var ret = this.createCompatibleWritableRaster (w, h);
\r
204 return ret.createWritableChild (0, 0, w, h, x, y, null);
\r
206 Clazz.defineMethod (c$, "createTranslatedChild",
\r
207 function (childMinX, childMinY) {
\r
208 return this.createChild (this.minX, this.minY, this.width, this.height, childMinX, childMinY, null);
\r
210 Clazz.defineMethod (c$, "createChild",
\r
211 function (parentX, parentY, width, height, childMinX, childMinY, bandList) {
\r
212 if (parentX < this.minX) {
\r
213 throw new java.awt.image.RasterFormatException ("parentX lies outside raster");
\r
214 }if (parentY < this.minY) {
\r
215 throw new java.awt.image.RasterFormatException ("parentY lies outside raster");
\r
216 }if ((parentX + width < parentX) || (parentX + width > this.width + this.minX)) {
\r
217 throw new java.awt.image.RasterFormatException ("(parentX + width) is outside raster");
\r
218 }if ((parentY + height < parentY) || (parentY + height > this.height + this.minY)) {
\r
219 throw new java.awt.image.RasterFormatException ("(parentY + height) is outside raster");
\r
220 }var subSampleModel;
\r
221 if (bandList == null) {
\r
222 subSampleModel = this.sampleModel;
\r
224 subSampleModel = this.sampleModel.createSubsetSampleModel (bandList);
\r
225 }var deltaX = childMinX - parentX;
\r
226 var deltaY = childMinY - parentY;
\r
227 return new java.awt.image.Raster (subSampleModel, this.getDataBuffer (), new java.awt.Rectangle (childMinX, childMinY, width, height), new java.awt.Point (this.sampleModelTranslateX + deltaX, this.sampleModelTranslateY + deltaY), this);
\r
228 }, "~N,~N,~N,~N,~N,~N,~A");
\r
229 Clazz.defineMethod (c$, "getBounds",
\r
231 return new java.awt.Rectangle (this.minX, this.minY, this.width, this.height);
\r
233 Clazz.defineMethod (c$, "getMinX",
\r
237 Clazz.defineMethod (c$, "getMinY",
\r
241 Clazz.defineMethod (c$, "getWidth",
\r
245 Clazz.defineMethod (c$, "getHeight",
\r
247 return this.height;
\r
249 Clazz.defineMethod (c$, "getNumBands",
\r
251 return this.numBands;
\r
253 Clazz.defineMethod (c$, "getNumDataElements",
\r
255 return this.sampleModel.getNumDataElements ();
\r
257 Clazz.defineMethod (c$, "getTransferType",
\r
259 return this.sampleModel.getTransferType ();
\r
261 Clazz.defineMethod (c$, "getDataBuffer",
\r
263 return this.dataBuffer;
\r
265 Clazz.defineMethod (c$, "getSampleModel",
\r
267 return this.sampleModel;
\r
269 Clazz.defineMethod (c$, "getDataElements",
\r
270 function (x, y, outData) {
\r
271 return this.sampleModel.getDataElements (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, outData, this.dataBuffer);
\r
273 Clazz.defineMethod (c$, "getDataElements",
\r
274 function (x, y, w, h, outData) {
\r
275 return this.sampleModel.getDataElements (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, w, h, outData, this.dataBuffer);
\r
276 }, "~N,~N,~N,~N,~O");
\r
277 Clazz.defineMethod (c$, "getPixel",
\r
278 function (x, y, iArray) {
\r
279 return this.sampleModel.getPixel (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, iArray, this.dataBuffer);
\r
281 Clazz.defineMethod (c$, "getPixel",
\r
282 function (x, y, fArray) {
\r
283 return this.sampleModel.getPixel (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, fArray, this.dataBuffer);
\r
285 Clazz.defineMethod (c$, "getPixel",
\r
286 function (x, y, dArray) {
\r
287 return this.sampleModel.getPixel (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, dArray, this.dataBuffer);
\r
289 Clazz.defineMethod (c$, "getPixels",
\r
290 function (x, y, w, h, iArray) {
\r
291 return this.sampleModel.getPixels (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, w, h, iArray, this.dataBuffer);
\r
292 }, "~N,~N,~N,~N,~A");
\r
293 Clazz.defineMethod (c$, "getPixels",
\r
294 function (x, y, w, h, fArray) {
\r
295 return this.sampleModel.getPixels (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, w, h, fArray, this.dataBuffer);
\r
296 }, "~N,~N,~N,~N,~A");
\r
297 Clazz.defineMethod (c$, "getPixels",
\r
298 function (x, y, w, h, dArray) {
\r
299 return this.sampleModel.getPixels (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, w, h, dArray, this.dataBuffer);
\r
300 }, "~N,~N,~N,~N,~A");
\r
301 Clazz.defineMethod (c$, "getSample",
\r
302 function (x, y, b) {
\r
303 return this.sampleModel.getSample (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, b, this.dataBuffer);
\r
305 Clazz.defineMethod (c$, "getSampleFloat",
\r
306 function (x, y, b) {
\r
307 return this.sampleModel.getSampleFloat (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, b, this.dataBuffer);
\r
309 Clazz.defineMethod (c$, "getSampleDouble",
\r
310 function (x, y, b) {
\r
311 return this.sampleModel.getSampleDouble (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, b, this.dataBuffer);
\r
313 Clazz.defineMethod (c$, "getSamples",
\r
314 function (x, y, w, h, b, iArray) {
\r
315 return this.sampleModel.getSamples (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, w, h, b, iArray, this.dataBuffer);
\r
316 }, "~N,~N,~N,~N,~N,~A");
\r
317 Clazz.defineMethod (c$, "getSamples",
\r
318 function (x, y, w, h, b, fArray) {
\r
319 return this.sampleModel.getSamples (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, w, h, b, fArray, this.dataBuffer);
\r
320 }, "~N,~N,~N,~N,~N,~A");
\r
321 Clazz.defineMethod (c$, "getSamples",
\r
322 function (x, y, w, h, b, dArray) {
\r
323 return this.sampleModel.getSamples (x - this.sampleModelTranslateX, y - this.sampleModelTranslateY, w, h, b, dArray, this.dataBuffer);
\r
324 }, "~N,~N,~N,~N,~N,~A");
\r