summaryrefslogtreecommitdiff
path: root/android
AgeCommit message (Collapse)Author
2013-05-03Simple Image file format recogniserRobin Watts
Now can open jpeg/png/tiff files within mupdf.
2013-04-30Split dev_text into three parts.Tor Andersson
One for the raw span extraction pass, one for paragraph sorting, and another for HTML output.
2013-04-30Android: Update text handling in android specific code.Robin Watts
Need to update text handling in line with new object types due to image extraction.
2013-04-29Android: Fix the makefile (again) for v8 or not.Robin Watts
Eventually I will get this right.
2013-04-29Internationalisation: Translations of strings.Robin Watts
2013-04-29Add Memento build option to Android build. Fix memory leaks.Robin Watts
Following up on a report from a potential customer, fix various places in mupdf.c where we were leaking memory (devices not freed, context not properly freed etc). In order to track this down, I added a Memento build - just do: ndk-build MEMENTO=1 when building. This only checks for leaks, not for memory overwrites by default as it uses MEMENTO_LEAKONLY to avoid any possibility of the android kernel killing stuff for being too slow or using too much memory.
2013-04-29Android: Missed renaming of function.Robin Watts
We renamed fz_new_output_buffer to be fz_new_output_with_buffer, and missed the call from the Android specific source. Fixed here. Thanks to Philippe Le Becq for the report.
2013-04-18Android: Fix V8_BUILD makefile logic.Robin Watts
V8_OK needs to be set before the includes. LOCAL_LDLIBS need to be set after them.
2013-04-16android: More string cleanups.Tor Andersson
2013-04-11Move pdf_image to fz_image.Robin Watts
In order to be able to output images (either in the pdfwrite device or in the html conversion), we need to be able to get to the original compressed data stream (or else we're going to end up recompressing images). To do that, we need to expose all of the contents of pdf_image into fz_image, so it makes sense to just amalgamate the two. This has knock on effects for the creation of indexed colorspaces, requiring some of that logic to be moved. Also, we need to make xps use the same structures; this means pushing PNG and TIFF support into the decoding code. Also we need to be able to load just the headers from PNG/TIFF/JPEGs as xps doesn't include dimension/resolution information. Also, separate out all the fz_image stuff into fitz/res_image.c rather than having it in res_pixmap.
2013-04-11android: Clean up string resources.Tor Andersson
2013-04-09Android: Ensure mTopBarMode is initialisedRobin Watts
Otherwise loading calc.pdf and clicking buttons causes a null pointer exception.
2013-04-09Android: Remove import of java.util.DequeRobin Watts
We have this as a local class, and the import was a hangover from old code that stops it working on Froyo/Gingerbread.
2013-04-09Disable V8 usage on armeabi - only for armeabi-v7a for now.Robin Watts
Until someone can get me v8 libs that work on armeabi at least!
2013-04-09Android: handle features not supported other than for PDF filesPaul Gardiner
2013-04-09Android: new, more-logical menu hierarchyPaul Gardiner
2013-04-08Android: Fix operation under Froyo/Gingerbread.Robin Watts
Android resolves references at class load time, so when MuPDFActivity is loaded, it tries to resolve AnimatorInflater. This fails on a 2.2 system. The fix is to push the code into 'SafeAnimatorInflater'. When MuPDFActivity is loaded, SafeAnimatorInflater is resolved, but it's not actually loaded until it's used. We never use it unless we have at least honeycomb, hence we never try to resolve the missing class.
2013-04-04Android: quicker response to print failurePaul Gardiner
2013-04-03Android: avoid SEGV when printing fails, and display errorPaul Gardiner
2013-04-03Updated print icons.Robin Watts
Less 'pretty', but more in the style of the others.
2013-04-03Android: prepare for localisationPaul Gardiner
2013-04-03Use xml onClick field to avoid some of the explicit Button objectsPaul Gardiner
2013-03-29Android: some user-feedback improvementsPaul Gardiner
Disable some features when in reflow mode Disable features when document format prohibits Add a few instructional on-scrren, info messages
2013-03-29Android: initial support for printingPaul Gardiner
This wont work for other than PDF documents Also, we should save the file before printing if it has been changed
2013-03-27Android: fix git rebase slipPaul Gardiner
2013-03-26Make pdf_functions public as fz_functions.Robin Watts
Implementations remain unexposed, but this means we can safely pass functions in shades without having to 'sample' them (though we may still choose to do this for speed).
2013-03-26Reflow: Move from html output using tables to html output using div/spanRobin Watts
The div/spans still use table style rendering, but it's simpler code (and html) this way.
2013-03-26Rework text extraction structures.Robin Watts
Rework the text extraction structures - the broad strokes are similar but we now hold more information at each stage to enable us to perform more detailed analysis on the structure of the page. We now hold: fz_text_char's (the position, ucs value, and style of each char). fz_text_span's (sets of chars that share the same baseline/transform, with no more than an expected amount of whitespace between each char). fz_text_line's (sets of spans that share the same baseline (more or less, allowing for super/subscript, but possibly with a larger than expected amount of whitespace). fz_text_block's (sets of lines that follow one another) After fz_text_analysis is called, we hope to have fz_text_blocks split such that each block is a paragraph. This new implementation has the same restrictions as the current implementation it replaces, namely that chars are only considered for addition onto the most recent span at the moment, but this revised form is designed to allow more easy extension, and for this restriction to be lifted. Also add simple paragraph splitting based on finding the most common 'line distance' in blocks. When we add spans together to collate them into lines, we record the 'horizontal' and 'vertical' spacing between them. (Not actually horizontal or vertical, so much as 'in the direction of writing' and 'perpendicular to the direction of writing'). The 'horizontal' value enables us to more correctly output spaces when converting to (say) html later. The 'vertical' value enables us to spot subscripts and superscripts etc, as well as small changes in the baseline due to style changes. We are careful to base the baseline comparison on the baseline for the line, not the baseline for the previous span, as otherwise superscripts/ subscripts on the end of the line affect what we match next. Also, we are less tolerant of vertical shifts after a large gap. This avoids false positives where different columns just happen to almost line up.
2013-03-26Android: Ensure that autorotate doesn't kick us out of reflow mode.Robin Watts
2013-03-26Android: Popup notifications for entering/exiting reflow mode.Robin Watts
2013-03-25Android: remove unintentional reliance on API 9Paul Gardiner
The AsyncTask class we took from android source makes use of ArrayDeque which in turn makes use of Deque, neither of which are available below API 9. Fix is to take these two classes from android source also
2013-03-25Android: add support for Ink annotation creationPaul Gardiner
2013-03-24Android: warn when no text selected and avoid creating empty annotationsPaul Gardiner
2013-03-24Add another input mode for drawing ink annotationsPaul Gardiner
2013-03-21Bug 693719: Android: Catch exceptions when counting pages.Robin Watts
Return 0. Check for this case when opening a PDF and give a nice dialogue. Fix the nice dialogue code so that it doesn't crash afterwards due to a null mSearchTask.
2013-03-18Auto-generate appearance streams for strikeout, underline, highlightPaul Gardiner
This fixes bug #693664, and also simplifies app code. The example file attached to the bug produces strange results, but that is because the QuadPoint information is incorrect.
2013-03-04Avoid interactive features causing bloat in mutoolPaul Gardiner
2013-02-28Pass bbox to pdf_set_annot_appearance rather than base on display listPaul Gardiner
Use of the bbox device to derive the area of the display list can lead to bad results because of heuristics used to handle corners of stroked paths.
2013-02-28Fix bug: failure to set the SubType field of created annotations.Paul Gardiner
Also, in the app, protect against exceptions thrown due to unknown annotation types.
2013-02-27Android: Update *.mk files to allow for non-arm android builds.Robin Watts
We could do with non arm builds of v8 to go with these.
2013-02-26Android: add support for highlight and underline markup annotations.Paul Gardiner
Highlight annotations currently come out opaque so aren't a lot of use.
2013-02-26Include required quadPoints entry in created markup annotations.Paul Gardiner
Also change the way we pass the text rectangles so that non-axis-aligned ones can be permitted, and relocate the code that calculates the strike-out lines from the bounding boxes
2013-02-26Android: implement annotation deletionPaul Gardiner
2013-02-22Android: add annotation-editing menu, triggered on annotation selectionPaul Gardiner
2013-02-22Android: support selection of annotationPaul Gardiner
2013-02-22Android: move selected text operations from PageView to MuPDFPageViewPaul Gardiner
2013-02-22Android: avoid unnecessary repeated set up of child viewsPaul Gardiner
This change showed up a bug where highlights may fail to show if passed in while the page was set as blank. That bug is also fixed in this commit
2013-02-22Android: add MuPDFCore.getAnnotationsPaul Gardiner
2013-02-13Android: highlight reflow icon when in reflow modePaul Gardiner
2013-02-13Redraw reflow icons in Xara to get better antialiasing.Robin Watts