blob: 681375aab489703b8e08325ea36f0547748fead7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
package com.artifex.mupdf.fitz;
// This class handles the loading of the MuPDF shared library, together
// with the ThreadLocal magic to get the required context.
//
// The only publicly accessible method here is Context.setStoreSize, which
// sets the store size to use. This must be called before any other MuPDF
// function.
public class Context
{
// Make sure to initialize inited before calling
// init() from the static block below.
private static boolean inited = false;
static {
init();
}
private static native int initNative();
public static native int gprfSupportedNative();
public static void init() {
if (!inited) {
inited = true;
try {
System.loadLibrary("mupdf_java");
} catch (UnsatisfiedLinkError e) {
try {
System.loadLibrary("mupdf_java64");
} catch (UnsatisfiedLinkError ee) {
System.loadLibrary("mupdf_java32");
}
}
if (initNative() < 0)
throw new RuntimeException("cannot initialize mupdf library");
}
}
// FIXME: We should support the store size being changed dynamically.
// This requires changes within the MuPDF core.
//public native static void setStoreSize(long newSize);
}
|