1 Clazz.declarePackage ("swingjs");
\r
2 Clazz.load (["java.awt.image.BufferedImage"], "swingjs.JSImage", ["JU.Base64", "swingjs.api.DOMNode"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.typeRequested = 0;
\r
6 this._imgNode = null;
\r
9 Clazz.instantialize (this, arguments);
\r
10 }, swingjs, "JSImage", java.awt.image.BufferedImage);
\r
11 Clazz.makeConstructor (c$,
\r
12 function (argb, width, height) {
\r
13 Clazz.superConstructor (this, swingjs.JSImage, [width, height, 2]);
\r
15 this.height = height;
\r
18 Clazz.defineMethod (c$, "toIntARGB",
\r
19 function (imgData) {
\r
20 var n = Clazz.doubleToInt (imgData.length / 4);
\r
21 var iData = Clazz.newIntArray (n, 0);
\r
22 for (var i = 0, j = 0; i < n; j++) iData[i++] = (imgData[j++] << 16) | (imgData[j++] << 8) | imgData[j++] | 0xFF000000;
\r
26 Clazz.defineMethod (c$, "getDOMImage",
\r
27 function (b, type) {
\r
28 var dataurl = "data:image/" + type + ";base64," + JU.Base64.getBase64 (b).toString ();
\r
32 img = new Image(this.width, this.height);
\r
33 //img.onLoad = function() { me.setDOMImage(img); };
\r
35 }this.setDOMImage (img);
\r
37 Clazz.defineMethod (c$, "setDOMImage",
\r
39 var canvas = swingjs.api.DOMNode.createElement ("canvas", "JSImage");
\r
41 var h = this.height;
\r
42 this._imgNode = img;
\r
46 var ctx = canvas.getContext("2d");
\r
47 ctx.drawImage(img, 0, 0, w, h);
\r
48 var data = ctx.getImageData(0, 0, w, h).data;
\r
49 img._pbuf32 = this.toIntARGB(data);
\r
50 }}, "swingjs.api.DOMNode");
\r
51 Clazz.defineMethod (c$, "getHeight",
\r
54 }, "java.awt.image.ImageObserver");
\r
55 Clazz.defineMethod (c$, "getWidth",
\r
58 }, "java.awt.image.ImageObserver");
\r