summaryrefslogtreecommitdiff
path: root/platform/java/com
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2016-02-24 13:53:18 +0100
committerTor Andersson <tor.andersson@artifex.com>2016-02-29 16:03:34 +0100
commit9add1e5e9ceb80afad8bda54ac34bfa8dfb59c61 (patch)
tree572b68f2fb0621895a561738c63902388a02697d /platform/java/com
parentdba81b84129c4ef2870274c771bef5c05a7b3343 (diff)
downloadmupdf-9add1e5e9ceb80afad8bda54ac34bfa8dfb59c61.tar.xz
jni: Add font and image constructors.
Diffstat (limited to 'platform/java/com')
-rw-r--r--platform/java/com/artifex/mupdf/fitz/Font.java17
-rw-r--r--platform/java/com/artifex/mupdf/fitz/Image.java23
-rw-r--r--platform/java/com/artifex/mupdf/fitz/Text.java11
-rw-r--r--platform/java/com/artifex/mupdf/fitz/TextWalker.java2
4 files changed, 47 insertions, 6 deletions
diff --git a/platform/java/com/artifex/mupdf/fitz/Font.java b/platform/java/com/artifex/mupdf/fitz/Font.java
index 5b9cd8c5..2f17ba0f 100644
--- a/platform/java/com/artifex/mupdf/fitz/Font.java
+++ b/platform/java/com/artifex/mupdf/fitz/Font.java
@@ -11,12 +11,29 @@ public class Font
pointer = 0;
}
+ private native long newNative(String name, int index);
+
private Font(long p) {
pointer = p;
}
+ public Font(String name, int index) {
+ pointer = newNative(name, index);
+ }
+
+ public Font(String name) {
+ pointer = newNative(name, 0);
+ }
+
public native String getName();
+ public native int encodeCharacter(int unicode);
+ public native float advanceGlyph(int glyph, int wmode);
+
+ public float advanceGlyph(int glyph) {
+ return advanceGlyph(glyph, 0);
+ }
+
public String toString() {
return "Font(" + getName() + ")";
}
diff --git a/platform/java/com/artifex/mupdf/fitz/Image.java b/platform/java/com/artifex/mupdf/fitz/Image.java
index 4964053e..3876bc1b 100644
--- a/platform/java/com/artifex/mupdf/fitz/Image.java
+++ b/platform/java/com/artifex/mupdf/fitz/Image.java
@@ -11,20 +11,35 @@ public class Image
pointer = 0;
}
+ private native long newNativeFromPixmap(Pixmap pixmap);
+ private native long newNativeFromFile(String filename);
+
private Image(long p) {
pointer = p;
}
+ public Image(Pixmap pixmap) {
+ pointer = newNativeFromPixmap(pixmap);
+ }
+
+ public Image(String filename) {
+ pointer = newNativeFromFile(filename);
+ }
+
public native int getWidth();
public native int getHeight();
- public native int getNumberOfComponents();
- public native int getBitsPerComponent();
public native int getXResolution();
public native int getYResolution();
+
+ public native int getNumberOfComponents();
+ public native int getBitsPerComponent();
public native boolean getImageMask();
public native boolean getInterpolate();
public native Image getMask();
- // FIXME: Get data back?
- // FIXME: Create images from data or java streams?
+ public native Pixmap toPixmap(int w, int h);
+
+ public Pixmap toPixmap() {
+ return toPixmap(getWidth(), getHeight());
+ }
}
diff --git a/platform/java/com/artifex/mupdf/fitz/Text.java b/platform/java/com/artifex/mupdf/fitz/Text.java
index d5d9a836..4f67266e 100644
--- a/platform/java/com/artifex/mupdf/fitz/Text.java
+++ b/platform/java/com/artifex/mupdf/fitz/Text.java
@@ -26,9 +26,18 @@ public class Text implements TextWalker
pointer = newNative();
}
- public native void showGlyph(Font font, boolean vertical, Matrix trm, int glyph, int unicode);
+ public native void showGlyph(Font font, Matrix trm, int glyph, int unicode, int wmode);
+ public native void showString(Font font, Matrix trm, String string, int wmode);
public native Rect getBounds(StrokeState stroke, Matrix ctm);
+ public void showGlyph(Font font, Matrix trm, int glyph, int unicode) {
+ showGlyph(font, trm, glyph, unicode, 0);
+ }
+
+ public void showString(Font font, Matrix trm, String string) {
+ showString(font, trm, string, 0);
+ }
+
public native void walk(TextWalker walker);
}
diff --git a/platform/java/com/artifex/mupdf/fitz/TextWalker.java b/platform/java/com/artifex/mupdf/fitz/TextWalker.java
index 99d3e150..89fe7c86 100644
--- a/platform/java/com/artifex/mupdf/fitz/TextWalker.java
+++ b/platform/java/com/artifex/mupdf/fitz/TextWalker.java
@@ -2,5 +2,5 @@ package com.artifex.mupdf.fitz;
public interface TextWalker
{
- public void showGlyph(Font font, boolean vertical, Matrix trm, int glyph, int unicode);
+ public void showGlyph(Font font, Matrix trm, int glyph, int unicode, int wmode);
}