summaryrefslogtreecommitdiff
path: root/platform/java/mupdf_native.c
AgeCommit message (Collapse)Author
2016-09-01JNI: Keep arguments before giving them to constructor.Sebastian Rasmussen
The arguments will be freed by the finalizer of the object. The finalizer for an object is called even if the constructor throws an Exception or an OutOfMemoryError.
2016-09-01JNI: get_context() may throw error and should be handled separately.Sebastian Rasmussen
2016-09-01JNI: Do not check self pointer, it is always valid.Sebastian Rasmussen
If an object reference is NULL the JVM will signal NullPointerException before the JNI-code is executed.
2016-09-01JNI: Check for exceptions after calling method.Sebastian Rasmussen
The return value from CallObjectMethod() is not valid if an exception is thrown, so check for exceptions before looking at the return value. Mentioned at http://developer.android.com/training/articles/perf-jni.html
2016-09-01JNI: Use short form of NULL checks.Sebastian Rasmussen
2016-09-01JNI: Use jboolean/JNI_TRUE/JNI_FALSE everywhere.Sebastian Rasmussen
2016-09-01JNI: Whitespace/comment/error message cleanup.Sebastian Rasmussen
2016-09-01JNI: Remove unused nativeAnnots/-Links.Sebastian Rasmussen
2016-09-01JNI: Remove unused variables and cast byte array region.Sebastian Rasmussen
Fixes two compiler warnings.
2016-09-01JNI: Update to new pdf_load_stream interface.Sebastian Rasmussen
2016-08-23Java - correct the JNI signatures for bbox fields in StructuredText inner ↵Fred Ross-Perry
classes.
2016-08-16Android java - ad textAsHtml() to the Page class.fred ross-perry
The JNI implementation is taken from core.textAsHtml() in the old viewer.
2016-08-16JNI: Add finalizers for Shade and PDFGraftMap.Sebastian Rasmussen
2016-08-08Java/JNI: Added blocks/lines/spans/chars to StructuredText.fred ross-perry
added TextBlock, TextLine, TextSpan and TextChar inner classes to StructuredText. Calling StructuredText.getBlocks() returns an array of TextBlocks, which in turn contains an array of TextLines, etc.
2016-08-07JNI: Only store links/annotations if all are successfully handled.Sebastian Rasmussen
2016-08-02JNI: Add/change PDFDocument.save() related methods.Sebastian Rasmussen
Added methods: * PDFDocument.hasUnsavedChanges() * PDFDocument.canBeSavedIncrementally() The interface for PDFDocument.save() now returns the number of errors encountered while saving.
2016-08-02JNI: Delete forgotten global references to classes.Sebastian Rasmussen
2016-07-20JNI: Add PDFDocument methods for grafting objects onto documents.Sebastian Rasmussen
2016-07-20JNI: Add DisplayList.toStructuredText().Sebastian Rasmussen
2016-07-20JNI: Implement PDFOBject.write*() methods.Sebastian Rasmussen
2016-07-20JNI: fz_var()/return to make behavior correct upon fz_throw().Sebastian Rasmussen
Previously in many instances the code was allowed to continue after running jni_rethrow() or jni_throw(). When doing so it used variables whose values may have changed inside fz_try(). Those variables must in that case be declared using fz_var(). Another way of avoiding this from happening (and thus having to use fz_var()) is to return from the function immediately after jni_rethrow()/jni_throw(). All remaining occurrances where this is not possible still needs fz_var(). The code is now changed so that it either uses fz_var() or returns early to avoid using variables that have not been declared using fz_var().
2016-07-20JNI: Check more JNI arguments for null.Sebastian Rasmussen
2016-07-19JNI: Fix local ref leaks in methods using object arrays.Robin Watts
Would be fine were it not for the finite number of local refs we are allowed.
2016-07-19JNI: Fix bug in Document.loadOutline.Sebastian Rasmussen
Previously an exception was thrown for documents without an outline. Now document both with and without an outline are handled correctly.
2016-07-17JNI: Implement document Outline.Sebastian Rasmussen
2016-07-17JNI: Implement Link for hyperlinks in document.Sebastian Rasmussen
2016-07-17JNI: When adding stream/page contents, accept String.Sebastian Rasmussen
This is for easy of use, in addition to accepting Buffer.
2016-07-17JNI: Validate that page indicies are always positive.Sebastian Rasmussen
2016-07-17JNI: Extend Buffer interface, especially for reading.Sebastian Rasmussen
2016-07-17JNI: Cleanup of Annotation and PDFObject_toByteString.Sebastian Rasmussen
2016-07-15java - move fitz sources into a 'src' subfolder.fred ross-perry
2016-07-15Adding missing JNI interfaces.Sebastian Rasmussen
Some objects get their interfaces expanded or the entire object is added both corresponding to what was already present in the mujs interface. Some interfaces, e.g. Buffer.writeLines() has been adapted to suit Java.
2016-07-15Cleanup of JNI code for consistency.Sebastian Rasmussen
* Make sure that arguments are checked for NULL before being passed to ->Get JNI-functions (as these may crash on NULL). * Remove unused argument to from_Device(). * Consistently use jint and jfloat in JNIEXPORTed functions. * Check ctx for NULL in all relevant functions. * Throw Java exception when constructors fail. * to_*_safe() means that the function doesn't fz_throw(). * to_*_own() means that the function takes ownership of the object. * Make sure that jprefixing of argument identifies does not clash with jprefixing of types, specifically jstring. * Rename (j)colorspace -> (j)cs, (j)shade -> (j)shd, (j)device -> (j)dev. * Always check that the context is available in bindings. * Always check that required arguments are non-NULL or have decent default values (e.g. for fz_matrix and fz_rect).
2016-07-12Android JNI Annotation fix.Robin Watts
We pass pointers from the JNI layer into the java to be stored as java longs. When doing this it is VITAL that we cast them correctly as otherwise the JNI layer on android has problems - presumably because of alignment in the procedure calling standard. I'd missed this in one place. Fixed here. <log></log>
2016-07-11JNI: Fix annotation crashing problem.Robin Watts
I was forgetting to 'keep' the annot. Inspection of the code shows just 1 other place where I've made that mistake, and it's currently disabled (but updated here anyway).
2016-07-11Update mupdf_native.c for Windows.Robin Watts
Use Windows threads rather than pthreads when building on windows.
2016-07-08git stripspaceTor Andersson
2016-07-08Separate close and drop functionality for devices and writers.Tor Andersson
Closing a device or writer may throw exceptions, but much of the foreign language bindings (JNI and JS) depend on drop to never throw an exception (exceptions in finalizers are bad).
2016-07-06Android example: modify to use new JNI, N-up page displayfredrossperry
- uses AndroidDrawDevice for rendering - very simple sample app - mupdf-specific functionality in a module called "mupdf" - N-up page display - page rendering in a background task Signed-off-by: fredrossperry <fredrossperry@gmail.com>
2016-06-23Update JNI code. Take explicit alpha argument in toPixmap functions.Tor Andersson
2016-06-23modified mupdf.c and mupdf_native.c to adapt to APIs that have recently changed.fredrossperry
2016-06-16Update JNI bindings for pixmap alpha changes.Tor Andersson
2016-04-27Add fz_close_device function.Tor Andersson
Garbage collected languages need a way to signal that they are done with a device other than freeing it. Call it implicitly on fz_drop_device; so take care not to call it again in case it has been explicitly called already.
2016-04-06Fix java build for Bidi enum renames.Tor Andersson
2016-03-31Reorganize java and android source.Tor Andersson
platform/java and platform/android are reorganized: platform/java The new JNI Java classes, mupdf_native.{c,h}, Makefile and Makejar. platform/java/example The example desktop viewer classes. platform/android/viewer The original demo viewer. ndk-build is used to build libmupdf_java.so, making reference to mupdf_native.{c,h} in platform/java.
2016-03-21Fix uninitialized value errors.Tor Andersson
2016-03-14Remove begin_page and end_page device calls.Tor Andersson
To be moved into a new document writer interface later.
2016-03-14Fix TextWalker.showGlyph signature string.Tor Andersson
2016-03-11Implement fz_text_language support functions.Robin Watts
Add code to convert to and from fz_text_language codes from ISO 639 language strings. No validation is carried out.
2016-02-29jni: Use boolean wmode in text and font classes.Tor Andersson