summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
2014-05-07Fix 694510: Detect all ways to maximize a window in win32.Tor Andersson
SC_MAXIMIZE is only sent when maximizing via the maximize button. Dragging to the screen edge, double clicking the title bar or WinKey+Up do not generate an SC_MAXIMIZE message. Detect when gettincg a WM_SIZE message with SIZE_MAXIMIZE instead.
2014-05-07Fix 693313: increase the zoom range and use fixed steps.Tor Andersson
Use an explicit list of resolutions for +/- zoom stepping.
2014-05-07iOS: add extra icon sizes for iOS 7Paul Gardiner
2014-05-02Print error when trying to open document without any pagesSebastian Rasmussen
2014-05-02Fix warning in debug message for CURL in X11 viewerSebastian Rasmussen
2014-05-02Raise CURL transfer size from 4KByte to 1MByte in X11 viewerSebastian Rasmussen
Previously, the overhead for the HTTP requests and responses was too high, e.g. pdfref17.pdf would result in almost 8000 separate HTTP requests (but with this patch about 30.
2014-05-02Initialize timeout earlier in x11 viewerSebastian Rasmussen
Previously any warning displayed at the top of the page would never disappear because the display timeout being set would be overwritten by the later initialization.
2014-05-02Update pkgconfig file for the debian librarySebastian Rasmussen
2014-04-24iOS: remove the annotations button for non-interactive document typesPaul Gardiner
2014-04-24iOS: perform rendering for AirPrint in stripsPaul Gardiner
2014-04-24iOS: fix AirPrint quality to 300 dpiPaul Gardiner
2014-04-24iOS: refactor AirPrint code ready for printing at higher res and in stripsPaul Gardiner
2014-04-24iOS: copy files from Inbox to Documents so that they can be alteredPaul Gardiner
2014-04-24iOS: add support for sharing documents with other appsPaul Gardiner
2014-04-23Fix 693518: update Makerules and debian/controlTor Andersson
Debian doesn't have libopenjp2 as a package (whereas gentoo does) so I've removed it from the control file. You'll need to use the thirdparty submodule for openjpeg2 until such a time as it exists.
2014-04-23Fix 692866: improved handling of newlines when copying text.Tor Andersson
Only add newlines between selected lines of text.
2014-04-22Handle errors from curl by eventually throwingSebastian Rasmussen
Previously errors from curl_easy_perform() were never checked. This caused mupdf to enter an eternal loop, repeatedly trying to get data to parse from the remote host.
2014-04-22Tweak Intent usage for ChoosePDFActivityRobin Watts
ChoosePDFActivity can be used either to select PDF/XPS etc files, or to select key files (for digital signatures). The choice of which one to use is made according to the action string in the Intent with which the activity is invoked. Previously we would look for Intent.action.MAIN and take this to mean "Look for PDF files", and anything else to mean look for key files. Unfortunately, if you start the activity directly using adb then the action string is null, so we look for key files. The fix is to use a specific (custom) string for key files and for everything else to be treated as a request for PDF files.
2014-04-22Fix iOS formatting.Tor Andersson
2014-04-21Add share iconsPaul Gardiner
2014-04-18iOS: use bitmap based printingPaul Gardiner
allows printing of file types other than PDF
2014-04-18iOS: add AirPrint supportPaul Gardiner
2014-04-11Add all form field flags. Check flags before marking fields dirty.Tor Andersson
NoExport (and ReadOnly) fields shouldn't mark the document for saving.
2014-04-02Remove V8 section from android readme.Tor Andersson
2014-04-02Bump the version number to 1.4.Tor Andersson
2014-04-02iOS: in 7.0 and above, allow the system to tint our custom menu buttonsPaul Gardiner
2014-04-02iOS: ensure that the slider has the correct size if hidden during device ↵Paul Gardiner
rotation
2014-04-01Solve crash (NullPointerException) when cancelling from password promptRobin Watts
Attempt to open a file that needs a password, and you will get a dialogue box. Hit cancel on this, and the program crashes. This is due to an attempt to release the bitmaps on a document view that does not exist. Simple fix.
2014-04-01Fix Android build w.r.t. mujs.Robin Watts
The get_globals helper function only works on non-class objects. Hence 'MuPDFCore_javascriptSupported' can't be a static function.
2014-04-01Various android fixes.Tor Andersson
Update Android build to cope with new stream implementation. Fix a couple of typos in the android build files.
2014-03-26iOS: fix build and update to use mujsPaul Gardiner
2014-03-26Pull mujs source into VS solution (disabled)Robin Watts
This enables us to search the source easily, without affecting the fact that it is compiled using one.c in a single block.
2014-03-25Update the winrt solution with the changes made in the win32 solution.Michael Vrhel
Also update the code for the changes made in the stream API
2014-03-25Use MuJS in Android build.Tor Andersson
2014-03-25Update win32 project files for JS.Tor Andersson
2014-03-25Break dependencies on pdf-form.c and pdf-js.cTor Andersson
Split functions out of pdf-form.c that shouldn't be there, and make javascript initialization explicit.
2014-03-25Break dependency of pdf-annot.c to graphics library.Tor Andersson
2014-03-19Add routine to clean pdf content streams for pages.Robin Watts
New routine to filter the content streams for pages, xobjects, type3 charprocs, patterns etc. The filtered streams are guaranteed to be properly matched with q/Q's, and to not have changed the top level ctm. Additionally we remove (some) repeated settings of colors etc. This filtering can be extended to be smarter later. The idea of this is to both repair after editing, and to leave the streams in a form that can be easily appended to. This is preparatory to work on Bates numbering and Watermarking. Currently the streams produced are uncompressed.
2014-03-19Implement our own vsnprintf variant.Tor Andersson
The primary motivator for this is so that we can print floating point values and get the full accuracy out, without having to print 1.5 as 1.5000000, and without getting 23e24 etc. We only support %c, %f, %d, %o, %x and %s currently. We only support the zero padding qualifier, for integers. We do support some extensions: %C turns values >=128 into UTF-8. %M prints a fz_matrix. %R prints a fz_rect. %P prints a fz_point. We also implement a fprintf variant on top of this to allow for consistent results when using fz_output. a
2014-03-18Fix operator buffering of inline images.Robin Watts
Previously pdf_process buffer did not understand inline images. In order to make this work without needlessly duplicating complex code from within pdf-op-run, the parsing of inline images has been moved to happen in pdf-interpret.c. When the op_table entry for BI is called it now expects the inline image to be in csi->img and the dictionary object to be in csi->obj. To make this work, we have had to improve the handling of inline images in general. While non-inline images have been loaded and held in memory in their compressed form and only decoded when required, until now we have always loaded and decoded inline images immediately. This has been due to the difficulty in knowing how many bytes of data to read from the stream - we know the length of the stream once uncompressed, but relating this to the compressed length is hard. To cure this we introduce a new type of filter stream, a 'leecher'. We insert a leecher stream before we build the filters required to decode the image. We then read and discard the appropriate number of uncompressed bytes from the filters. This pulls the compressed data through the leecher stream, which stores it in an fz_buffer. Thus images are now always held in their compressed forms in memory. The pdf-op-run implementation is now trivial. The only real complexity in the pdf-op-buffer implementation is the need to ensure that the /Filter entry in the dictionary object matches the exact point at which we backstopped the decompression.
2014-03-17Rework fz_streams.Robin Watts
Currently fz_streams have a 4K buffer within their header. The call to read from a stream fills this buffer, resulting in more data being pulled from any underlying stream than we might like. This causes problems with the forthcoming 'leech' filter. Here we simplify the fields available in the public stream header. No specific buffer is given; simply the read and write pointers. The underlying 'read' function is replaced by a 'next' function that makes the next block of data available and returns the first character of it (or EOF). A caller to the 'next' function should supply the maximum number of bytes that it knows it will need (possibly not now, but eventually). This enables the underlying stream to efficiently decode just enough. The underlying stream is free to return fewer, or a greater number if it wants to. The exact size of the 'block' of data returned will depend on the filter in use and (possibly) the data therein. Callers can get the currently available amount of data by calling fz_available (but again should pass the maximum amount of data they know they will need). The only time this will ever return 0 is if we have hit EOF.
2014-03-04Bug 691691: Add way of clearing cached objects out of the xref.Robin Watts
We add various facilities here, intended to allow us to efficiently minimise the memory we use for holding cached pdf objects. Firstly, we add the ability to 'mark' all the currently loaded objects. Next we add the ability to 'clear the xref' - to drop all the currently loaded objects that have no other references except the ones held by the xref table itself. Finally, we add the ability to 'clear the xref to the last mark' - to drop all the currently loaded objects that have been created since the last 'mark' operation and have no other references except the ones held by the xref table. We expose this to the user by adding a new device hint 'FZ_NO_CACHE'. If set on the device, then the PDF interpreter will pdf_mark_xref before starting and pdf_clear_xref_to_mark afterwards. Thus no additional objects will be retained in memory after a given page is run, unless someone else picks them up and takes a reference to them as part of the run. We amend our simple example app to set this device hint when loading pages as part of a search.
2014-03-04Add pdf_process for filtering operator streams.Robin Watts
Currently this knows about q/Q matching/eliding and avoiding repeated/unneccesary color/colorspace setting. It will also collect a dictionary of resources used by a page. This can be extended to be cleverer in future.
2014-03-04Add pdf_process for writing operator streams out to a buffer.Robin Watts
Using this, we can reconstruct pdf streams out of the process called. This will enable us to do filtering when used in combination with future commits.
2014-03-04Add pdf_process interface.Robin Watts
Currently the only processing we can do of PDF pages is to run them through an fz_device. We introduce new "pdf_process" functionality here to enable us to do more things. We define a pdf_processor structure with a set of function pointers in, one per PDF operator, together with functions for processing xobjects etc. The guts of pdf_run_page_contents and pdf_run_annot operations are then extracted to give pdf_process_page_contents and pdf_process_annot, and the originals implemented in terms of these. This commit contains just one instance of a pdf_processor, namely the "run" processor, which contains the original code refactored. The graphical state (and device pointer) is now part of private data to the run operator set, rather than being in pdf_csi.
2014-02-10Bug 695022: Add TIFF format handlerRobin Watts
Patch from Thomas Fach-Pedersen. Many thanks! Add a new format handler that copes with TIFF files. This replaces the TIFF functionality within the image format handler, and is better because this copes with multiple images (as one image per page).
2014-01-27Android: fix to account for document handlersPaul Gardiner
2014-01-20iOS: fix the release buildPaul Gardiner
Change the library copying to use a system variable for the location that works in both builds
2014-01-17Add missing dependencies back into VS2005 project.Robin Watts
Lost as part of the accidental VS2012 change.
2014-01-16Revert change of mupdf.sln from VS2005 format to VS2012.Robin Watts