JAL-1807 includes ?j2sdebug flag and DebugJS._(msg)
[jalviewjs.git] / site / j2s / swingjs / JSImage.js
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
5 this.pix = null;\r
6 this._imgNode = null;\r
7 this.width = 0;\r
8 this.height = 0;\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
14 this.width = width;\r
15 this.height = height;\r
16 this.pix = argb;\r
17 }, "~A,~N,~N");\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
23 \r
24 return iData;\r
25 }, "~A");\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
29 var me = this;\r
30 var img = null;\r
31 {\r
32 img = new Image(this.width, this.height);\r
33 //img.onLoad = function() { me.setDOMImage(img); };\r
34 img.src = dataurl;\r
35 }this.setDOMImage (img);\r
36 }, "~A,~S");\r
37 Clazz.defineMethod (c$, "setDOMImage", \r
38 function (img) {\r
39 var canvas = swingjs.api.DOMNode.createElement ("canvas", "JSImage");\r
40 var w = this.width;\r
41 var h = this.height;\r
42 this._imgNode = img;\r
43 {\r
44 canvas.width = w;\r
45 canvas.height = h;\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
52 function (o) {\r
53 return this.height;\r
54 }, "java.awt.image.ImageObserver");\r
55 Clazz.defineMethod (c$, "getWidth", \r
56 function (o) {\r
57 return this.width;\r
58 }, "java.awt.image.ImageObserver");\r
59 });\r