mirror of
https://github.com/webmproject/libwebp.git
synced 2025-12-24 05:56:27 +01:00
Rather than %include'ing decode.h and potentially pickup new (unsupported functions), explicitly list the desired functions as with encode. Reorganize a bit to contain most of the language specific additions to one area. This fixes the visibility of the wrap_* functions in java. The method modifiers need to come before the function prototypes. Change-Id: I595df4d1a60edcb263923b5a2621879d3b6233cf
Building:
=========
JNI SWIG bindings:
------------------
$ gcc -shared -fPIC -fno-strict-aliasing -O2 \
-I/path/to/your/jdk/includes \
libwebp_java_wrap.c \
-lwebp \
-o libwebp_jni.so
-------------------------------------- BEGIN PSEUDO EXAMPLE
import com.google.webp.libwebp;
import java.lang.reflect.Method;
public class libwebp_jni_example {
static {
System.loadLibrary("webp_jni");
}
/**
* usage: java -cp libwebp.jar:. libwebp_jni_example
*/
public static void main(String argv[]) {
final int version = libwebp.WebPGetDecoderVersion();
System.out.println("libwebp version: " + Integer.toHexString(version));
System.out.println("libwebp methods:");
final Method[] libwebpMethods = libwebp.class.getDeclaredMethods();
for (int i = 0; i < libwebpMethods.length; i++) {
System.out.println(libwebpMethods[i]);
}
}
}
-------------------------------------- END PSEUDO EXAMPLE
$ javac -cp libwebp.jar libwebp_jni_example.java
$ java -Djava.library.path=. -cp libwebp.jar:. libwebp_jni_example