JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / java / awt / image / Kernel.js
1 Clazz.declarePackage ("java.awt.image");\r
2 Clazz.load (null, "java.awt.image.Kernel", ["java.lang.IllegalArgumentException", "$.InternalError"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.width = 0;\r
5 this.height = 0;\r
6 this.xOrigin = 0;\r
7 this.yOrigin = 0;\r
8 this.data = null;\r
9 Clazz.instantialize (this, arguments);\r
10 }, java.awt.image, "Kernel", null, Cloneable);\r
11 Clazz.makeConstructor (c$, \r
12 function (width, height, data) {\r
13 this.width = width;\r
14 this.height = height;\r
15 this.xOrigin = (width - 1) >> 1;\r
16 this.yOrigin = (height - 1) >> 1;\r
17 var len = width * height;\r
18 if (data.length < len) {\r
19 throw  new IllegalArgumentException ("Data array too small (is " + data.length + " and should be " + len);\r
20 }this.data =  Clazz.newFloatArray (len, 0);\r
21 System.arraycopy (data, 0, this.data, 0, len);\r
22 }, "~N,~N,~A");\r
23 Clazz.defineMethod (c$, "getXOrigin", \r
24 function () {\r
25 return this.xOrigin;\r
26 });\r
27 Clazz.defineMethod (c$, "getYOrigin", \r
28 function () {\r
29 return this.yOrigin;\r
30 });\r
31 Clazz.defineMethod (c$, "getWidth", \r
32 function () {\r
33 return this.width;\r
34 });\r
35 Clazz.defineMethod (c$, "getHeight", \r
36 function () {\r
37 return this.height;\r
38 });\r
39 Clazz.defineMethod (c$, "getKernelData", \r
40 function (data) {\r
41 if (data == null) {\r
42 data =  Clazz.newFloatArray (this.data.length, 0);\r
43 } else if (data.length < this.data.length) {\r
44 throw  new IllegalArgumentException ("Data array too small (should be " + this.data.length + " but is " + data.length + " )");\r
45 }System.arraycopy (this.data, 0, data, 0, this.data.length);\r
46 return data;\r
47 }, "~A");\r
48 Clazz.defineMethod (c$, "clone", \r
49 function () {\r
50 try {\r
51 return Clazz.superCall (this, java.awt.image.Kernel, "clone", []);\r
52 } catch (e) {\r
53 if (Clazz.exceptionOf (e, CloneNotSupportedException)) {\r
54 throw  new InternalError ();\r
55 } else {\r
56 throw e;\r
57 }\r
58 }\r
59 });\r
60 });\r