javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/HTML5GraphicsEnvironment.java
1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/HTML5GraphicsEnvironment.java Mon May 27 14:13:01 2013 +0200
1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/HTML5GraphicsEnvironment.java Sun Sep 08 10:58:10 2013 +0200
1.3 @@ -450,7 +450,6 @@
1.4
1.5 // @JavaScriptBody(args = {"path"}, body = "var b = new Image(); b.src=path; return b;")
1.6 // public native Image getImageForPathImpl(String path);
1.7 -
1.8 @Override
1.9 public int getHeight() {
1.10 return canvas.getHeight();
1.11 @@ -473,4 +472,45 @@
1.12
1.13 @JavaScriptBody(args = {"src"}, body = "var image = new Image(); image.src = src; return image;")
1.14 private static native Object createImage(String src);
1.15 +
1.16 + @Override
1.17 + public int getWidth(Image image, Object nativeImage) {
1.18 + if (nativeImage == null) {
1.19 + nativeImage = createImage(image.getSrc());
1.20 + }
1.21 + return getWidth(nativeImage);
1.22 + }
1.23 +
1.24 + @JavaScriptBody(args = {"nativeImage"}, body = "return nativeImage.naturalWidth;")
1.25 + private static native int getWidth(Object nativeImage);
1.26 +
1.27 + @Override
1.28 + public int getHeight(Image image, Object nativeImage) {
1.29 + if (nativeImage == null) {
1.30 + nativeImage = createImage(image.getSrc());
1.31 + }
1.32 + return getHeight(nativeImage);
1.33 + }
1.34 +
1.35 + @JavaScriptBody(args = {"nativeImage"}, body = "return nativeImage.naturalHeight;")
1.36 + private static native int getHeight(Object nativeImage);
1.37 +
1.38 + @Override
1.39 + public Object mergeImages(Image a, Image b, Object cachedA, Object cachedB) {
1.40 + return mergeImages(cachedA, cachedB);
1.41 + }
1.42 +
1.43 + @JavaScriptBody(args = {"img1", "img2"}, body = "var canvas = document.createElement('img');\n"
1.44 + + "var context = canvas.getContext(\"2d\");\n"
1.45 + + "var width = img1.width;\n"
1.46 + + "var height = img1.height;\n"
1.47 + + "canvas.width = width;\n"
1.48 + + "canvas.height = height;\n"
1.49 + + "context.drawImage(img1, 0, 0);\n"
1.50 + + "context.drawImage(img2, 0, 0);\n"
1.51 + + "url = canvas.toDataURL();\n"
1.52 + + "var resultImage = document.createElement('img');\n"
1.53 + + "resultImage.src=url;\n"
1.54 + + "return resultImage;")
1.55 + public static native Object mergeImages(Object img1, Object img2);
1.56 }