diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2016-02-24 13:53:18 +0100 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2016-02-29 16:03:34 +0100 |
commit | 9add1e5e9ceb80afad8bda54ac34bfa8dfb59c61 (patch) | |
tree | 572b68f2fb0621895a561738c63902388a02697d /platform/java/com | |
parent | dba81b84129c4ef2870274c771bef5c05a7b3343 (diff) | |
download | mupdf-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.java | 17 | ||||
-rw-r--r-- | platform/java/com/artifex/mupdf/fitz/Image.java | 23 | ||||
-rw-r--r-- | platform/java/com/artifex/mupdf/fitz/Text.java | 11 | ||||
-rw-r--r-- | platform/java/com/artifex/mupdf/fitz/TextWalker.java | 2 |
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); } |