JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / java / awt / image / ConvolveOp.js
1 Clazz.declarePackage ("java.awt.image");\r
2 Clazz.load (["java.awt.image.BufferedImageOp", "$.RasterOp"], "java.awt.image.ConvolveOp", ["java.lang.IllegalArgumentException", "$.NullPointerException", "java.awt.geom.Point2D", "java.awt.image.BufferedImage", "$.ImagingOpException", "jssun.awt.image.ImagingLib"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.kernel = null;\r
5 this.edgeHint = 0;\r
6 this.hints = null;\r
7 this.swingJStype = 'C';\r
8 Clazz.instantialize (this, arguments);\r
9 }, java.awt.image, "ConvolveOp", null, [java.awt.image.BufferedImageOp, java.awt.image.RasterOp]);\r
10 Clazz.makeConstructor (c$, \r
11 function (kernel, edgeCondition, hints) {\r
12 this.kernel = kernel;\r
13 this.edgeHint = edgeCondition;\r
14 this.hints = hints;\r
15 }, "java.awt.image.Kernel,~N,java.awt.RenderingHints");\r
16 Clazz.makeConstructor (c$, \r
17 function (kernel) {\r
18 this.kernel = kernel;\r
19 this.edgeHint = 0;\r
20 }, "java.awt.image.Kernel");\r
21 Clazz.defineMethod (c$, "getEdgeCondition", \r
22 function () {\r
23 return this.edgeHint;\r
24 });\r
25 Clazz.defineMethod (c$, "getKernel", \r
26 function () {\r
27 return this.kernel.clone ();\r
28 });\r
29 Clazz.defineMethod (c$, "filter", \r
30 function (src, dst) {\r
31 if (src == null) {\r
32 throw  new NullPointerException ("src image is null");\r
33 }if (src === dst) {\r
34 throw  new IllegalArgumentException ("src image cannot be the same as the dst image");\r
35 }var needToConvert = false;\r
36 var srcCM = src.getColorModel ();\r
37 var dstCM;\r
38 var origDst = dst;\r
39 if (dst == null) {\r
40 dst = this.createCompatibleDestImage (src, null);\r
41 dstCM = srcCM;\r
42 origDst = dst;\r
43 } else {\r
44 dstCM = dst.getColorModel ();\r
45 if (srcCM.getColorSpace ().getType () != dstCM.getColorSpace ().getType ()) {\r
46 throw  new java.awt.image.ImagingOpException ("SwingJS: Differing color spaces not allowed");\r
47 }}if (jssun.awt.image.ImagingLib.filter (this, src, dst) == null) {\r
48 throw  new java.awt.image.ImagingOpException ("Unable to convolve src image");\r
49 }if (origDst !== dst) {\r
50 var g = origDst.createGraphics ();\r
51 try {\r
52 g.drawImage (dst, 0, 0, null);\r
53 } finally {\r
54 g.dispose ();\r
55 }\r
56 }return origDst;\r
57 }, "java.awt.image.BufferedImage,java.awt.image.BufferedImage");\r
58 Clazz.defineMethod (c$, "filter", \r
59 function (src, dst) {\r
60 if (dst == null) {\r
61 dst = this.createCompatibleDestRaster (src);\r
62 } else if (src === dst) {\r
63 throw  new IllegalArgumentException ("src image cannot be the same as the dst image");\r
64 } else if (src.getNumBands () != dst.getNumBands ()) {\r
65 throw  new java.awt.image.ImagingOpException ("Different number of bands in src  and dst Rasters");\r
66 }if (jssun.awt.image.ImagingLib.filter (this, src, dst) == null) {\r
67 throw  new java.awt.image.ImagingOpException ("Unable to convolve src image");\r
68 }return dst;\r
69 }, "java.awt.image.Raster,java.awt.image.WritableRaster");\r
70 Clazz.overrideMethod (c$, "createCompatibleDestImage", \r
71 function (src, destCM) {\r
72 var image;\r
73 var w = src.getWidth ();\r
74 var h = src.getHeight ();\r
75 var wr = null;\r
76 if (destCM == null) {\r
77 destCM = src.getColorModel ();\r
78 {\r
79 wr = src.getData ().createCompatibleWritableRaster (w, h);\r
80 }}if (wr == null) {\r
81 wr = destCM.createCompatibleWritableRaster (w, h);\r
82 }image =  new java.awt.image.BufferedImage (destCM, wr, destCM.isAlphaPremultiplied (), null);\r
83 return image;\r
84 }, "java.awt.image.BufferedImage,java.awt.image.ColorModel");\r
85 Clazz.overrideMethod (c$, "createCompatibleDestRaster", \r
86 function (src) {\r
87 return src.createCompatibleWritableRaster ();\r
88 }, "java.awt.image.Raster");\r
89 Clazz.defineMethod (c$, "getBounds2D", \r
90 function (src) {\r
91 return this.getBounds2D (src.getRaster ());\r
92 }, "java.awt.image.BufferedImage");\r
93 Clazz.defineMethod (c$, "getBounds2D", \r
94 function (src) {\r
95 return src.getBounds ();\r
96 }, "java.awt.image.Raster");\r
97 Clazz.overrideMethod (c$, "getPoint2D", \r
98 function (srcPt, dstPt) {\r
99 if (dstPt == null) {\r
100 dstPt =  new java.awt.geom.Point2D.Float ();\r
101 }dstPt.setLocation (srcPt.getX (), srcPt.getY ());\r
102 return dstPt;\r
103 }, "java.awt.geom.Point2D,java.awt.geom.Point2D");\r
104 Clazz.overrideMethod (c$, "getRenderingHints", \r
105 function () {\r
106 return this.hints;\r
107 });\r
108 Clazz.defineStatics (c$,\r
109 "EDGE_ZERO_FILL", 0,\r
110 "EDGE_NO_OP", 1);\r
111 });\r