/* * Copyright 2015 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /* AJAR=$ANDROID_SDK_ROOT/platforms/android-19/android.jar CLASS=CreateSkiaPicture SRC=platform_tools/android/apps/canvasproof/src/main javac -classpath $AJAR $SRC/java/org/skia/canvasproof/$CLASS.java javah -classpath $AJAR:$SRC/java -d $SRC/jni org.skia.canvasproof.$CLASS */ package org.skia.canvasproof; import android.util.Log; import java.io.IOException; import java.io.InputStream; import java.lang.UnsatisfiedLinkError; public class CreateSkiaPicture { private static final String TAG = "CreateSkiaPicture"; public static void init() { try { System.loadLibrary("skia_android"); System.loadLibrary("canvasproof"); } catch (java.lang.Error e) { Log.v(TAG, "System.loadLibrary error", e); } } public static long create(InputStream inputStream) throws IOException { byte[] buffer = new byte[16 * (1 << 10)]; // 16 KByte long p = 0; try { p = CreateSkiaPicture.createImpl(inputStream, buffer); } catch (UnsatisfiedLinkError e) { Log.e(TAG, "UnsatisfiedLinkError createImpl"); } inputStream.close(); return p; } public static void delete(long ptr) { try { if (ptr != 0) { CreateSkiaPicture.deleteImpl(ptr); } } catch (UnsatisfiedLinkError e) { Log.e(TAG, "UnsatisfiedLinkError deleteImpl"); } } private static native void deleteImpl(long ptr); private static native long createImpl(InputStream s, byte[] b); }