Age | Commit message (Collapse) | Author |
|
As we skip through pages very quickly, it is apparently possible
to trigger a SEGV. Alex Talis has given a clear description of
the problem on the bug, and proposed this solution.
Essentially this tweaks our CancellableAsyncTask class to ensure
that we do not destroy the cookie before it has finished being
accessed.
|
|
Code MUST pass a non-null context to all functions.
Checking ctx for null and failing silently is no more useful
than segfaulting.
fz_keep_imp and fz_drop_imp handle NULL pointers safely, so
the NULL checks for this can also be dropped at the same time.
|
|
Increase zoom limit to 64 times.
|
|
|
|
Use a flag in the pdf_annot struct instead.
Don't pass pdf_document to annotation edit functions.
|
|
When updating openjpeg, I forgot to update the Android
JNI makefiles with a newly created file.
Thanks to szukw000 for reporting this!
|
|
Also, we attempt to start the proofing at the
currently-being-viewed page.
|
|
In the proof dialog, when the document has an embedded print
profile, add it to the top of the list of choices. If it's
selected, send <EMBEDDED> into gs instead of a file name.
|
|
Enable Apply button in proofing only when color checkboxes are changed.
|
|
Out of platform/java and into the platform/android/example.
|
|
Java has a convention that 'toString' should return a printable
version of an object. We cannot both support this, and support
a sane naming of functions to interpret pdf objects that begins
with 'to'. Instead use 'as'.
This means we have 'asBoolean', 'asInteger', 'asString' which
expect to work just on pdf objects of the required type. 'toString'
continues to work on all types and gives a printable version.
We split 'toByteString' into 2 separate functions, one for acting
on strings (asByteString) and one for acting on names (asByteName)
more nicely mirroring the C level functions (pdf_to_string and
pdf_to_name).
For simplicity of use, we add asString and asName functions that
return using java Strings rather than byte arrays. There are
potential encoding issues with these, but then there are throughout
our string handling at the moment, so we will deal with those in a
followup commit.
We also update the internal workings of several functions so
that they never return NULL pointers, but rather return the null
object. To avoid repeatedly creating new null objects we introduce
a global static PDFObject.Null object.
This is important as we want get("SomethingNonexistent") to return a
valid java object, so we can safely do things like:
get("Foo").get("Bar").get("Baz").asInteger()
without having to error check at every stage.
Update DocViewActivity to call the new versions.
|
|
To be used to make correct profile invocations.
|
|
Put them in the PDF name space and separate words with underscores.
Remove redundant namespace prefixes in java constants.
Device.FLAG_MASK rather than Device.FZ_DEVFLAG_MASK.
Use namespace for PDF annotation flag enum.
|
|
|
|
The separation class had a member renamed. Rename it here too.
|
|
pages after use.
|
|
|
|
|
|
This commit puts in the UI for drawing with color
and line thickness. But it does not yet save this to
the document.
|
|
|
|
add five icons to the File toolbar (not yet functioning)
add a dialog to collect the password from the user for protected documents.
|
|
|
|
Call Memento_fin rather than piecemeal functions to
ensure we get full details when available.
Ensure we link with the required lib for backtracing to
work in Memento builds.
|
|
|
|
|
|
also, change DocPageView to paint a white background before doing anything else. Makes for smoother-looking scrolling.
And, re-introduce the slower scrolling (400 msec) when moving between pages.
|
|
|
|
ul/dr=upperLeft/lowerRight
|
|
page text (one page at a time) is converted to HTML and shown in
a class that extends WebView.
|
|
- use FZ_ENABLE_GPRF everywhere
- chasing changed fz APIs in gprf-doc.c
|
|
|
|
|
|
|
|
- move UI into the "mupdf" module.
The app simply sets up a DocView and starts it with a file path.
The app can call DocView.showUI to determine whether the built-in UI
is used. The plan is for apps to be able to use the built-in UI,
or supply their own.
Also includes some rudimentary UI for show/hiding annotations, and
listing links and outlines. Just for testing JNI features.
- add toolbar and tabs at the top of the view.
- refactoring
DocView becomes DocActivityView, DocViewInner becomes DocView.
- add Pages toolbar and page list view.
make the page list a little narrower.
give the document view and the pages view separate bitmaps,
and have DocPageView implement clipping when it draws.
- fix tabbing and brace style.
- add simple text selection and highlighting.
This is still a work in progress.
- various code review items.
fix tabs and brace styles
remove function calls from loop statements
use "highlight", not "hilight"
put a few strings into resources
avoid Right Hand Drift (tm)
Rects are inclusive...exclusive for the purpose of testing limits
put "else" on a separate line
put "catch" and "finally" on separate lines
|
|
This allows compilation using older Android NDKs.
This was mistakenly omitted from commit
537a467dfd6392d70624805943ac65182ec881b4.
|
|
Apparently, if MuPDF is invoked on a content stream that
comes from a URI, then is.available() can report 0 bytes
(as there is no data buffered). Use a modified formulation
that reads as much data as possible from the stream into
a BufferedOutputStream and then makes a byte array from that.
Would be nicer if the core could actually read from the
stream directly, perhaps, but that can wait for the new JNI
based version.
Thanks to Marc K for identifying the problem and supplying
the patch.
|
|
|
|
zooming and scrolling.
|
|
|
|
|
|
|
|
|
|
fz_bound_page needs the correct 2nd argument
pdf_widget_get_type should be pdf_widget_type
|
|
|
|
|
|
Reflect API change in example viewer.
|
|
|
|
Since the removal of the begin_page device function, structured
text extraction has been unable to correctly establish the
mediabox for extracted pages.
Update the fz_new_stext_page call to take this mediabox
information. This is an API change, but hopefully most people
are calling fz_new_stext_page_from_page or
fz_new_stext_page_from_display_list which are updated here to
cope.
Update all the apps/tools to behave properly.
|
|
|
|
- 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>
|