summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
2015-04-03Bug 694388: Android: Don't call requestLayout more than we need to.Robin Watts
Thanks to Goncalo Ferreira for spotting this.
2015-03-31Bug 695457: Improve mouse wheel handling in viewer.Robin Watts
On windows, handle mouse wheel events as mouse events rather than keyboard ones. This means that Ctrl-wheel zooms as expected (consistent with Chrome etc). Also ensure that Shift-wheel changes from vertical to horizontal. Mouse wheel over pages that are larger than fit in the window now scroll around the page. Once they hit the edge of the window, the page flips to the next/previous page as you would expect.
2015-03-30Bug 695804: Add support for 'Shift-Space' in the viewer.Robin Watts
Update pdfapp_onkey to take modifiers. If shift is held down when space is sent, then back up a page. This involves updating the windows app to actually send modifiers. Previously they were always sent as zero to the onmouse routine.
2015-03-30Add header for waitpid().Tor Andersson
2015-03-30Bug 695829: Mouse buttons flip pages in presentation mode.Robin Watts
Adopt patch from Risto Saarelma. When in presentation mode, left and right mouse buttons flip pages forward/back.
2015-03-30Bug 695558: Fix UTF-8 window titles on X11.Robin Watts
Adopt Guillume Duranceau's patch to set the NET_WM_NAME property for window titles.
2015-03-26Android: Tweak MuPDFReaderView enum definition.Robin Watts
Given that MuPDFReaderView has a public setMode call, ensure that the enum with the Mode values in is public too. Thanks to Jeremy Dixon for pointing out the issue.
2015-03-26Bug 695701: Tweak forking of PDF links to avoid zombie processes.Robin Watts
Adopt a small patch from ooesili@gmail.com to avoid zombie processes that are left around after processes opened from PDF links are terminated.
2015-03-26Bug 695811: Adopt Freds patch for Android crashes with strange filenames.Robin Watts
I can't claim to entirely understand why one formulation works and the other doesn't, but it seems a harmless enough fix that apparently works.
2015-03-25Update Android code to use new PDF_NAME formulation.Robin Watts
2015-03-24Rework handling of PDF names for speed and memory.Robin Watts
Currently, every PDF name is allocated in a pdf_obj structure, and comparisons are done using strcmp. Given that we can predict most of the PDF names we'll use in a given file, this seems wasteful. The pdf_obj type is opaque outside the pdf-object.c file, so we can abuse it slightly without anyone outside knowing. We collect a sorted list of names used in PDF (resources/pdf/names.txt), and we add a utility (namedump) that preprocesses this into 2 header files. The first (include/mupdf/pdf/pdf-names-table.h, included as part of include/mupdf/pdf/object.h), defines a set of "PDF_NAME_xxxx" entries. These are pdf_obj *'s that callers can use to mean "A PDF object that means literal name 'xxxx'" The second (source/pdf/pdf-name-impl.h) is a C array of names. We therefore update the code so that rather than passing "xxxx" to functions (such as pdf_dict_gets(...)) we now pass PDF_NAME_xxxx (to pdf_dict_get(...)). This is a fairly natural (if widespread) change. The pdf_dict_getp (and sibling) functions that take a path (e.g. "foo/bar/baz") are therefore supplemented with equivalents that take a list (pdf_dict_getl(... , PDF_NAME_foo, PDF_NAME_bar, PDF_NAME_baz, NULL)). The actual implementation of this relies on the fact that small pointer values are never valid values. For a given pdf_obj *p, if NULL < (intptr_t)p < PDF_NAME__LIMIT then p is a literal entry in the name table. This enables us to do fast pointer compares and to skip expensive strcmps. Also, bring "null", "true" and "false" into the same style as PDF names. Rather than using full pdf_obj structures for null/true/false, use special pointer values just above the PDF_NAME_ table. This saves memory and makes comparisons easier.
2015-03-20Fix Win32 builds of MuPDF; freetype config options not found.Robin Watts
Fred had updated a path in an include file. The Makefiles cope with this, the VS solution does not.
2015-03-12VS solution: bring x64 libmupdf into line with other files.Robin Watts
The lib was being built in an odd place.
2015-02-27gsview and windows: Fixes for changes in mupdf APIMichael Vrhel
Also a few fixes in the project files based upon recent updates.
2015-02-25Add 64 bit windows builds to MSVC solution.Robin Watts
A few casts are required within the code, along with a few #ifdef changes. Some tweaks to curl are required too.
2015-02-25iOS: Minor cleanups to match current best practiceJoseph Heenan
2015-02-25iOS: Fix some warnings in the 64bit buildJoseph Heenan
2015-02-25iOS: Disable empty body warningJoseph Heenan
This silences this warning: thirdparty/jbig2dec/jbig2_text.c:899:73: warning: for loop has empty body [-Wempty-body] for (SBSYMCODELEN = 0; (1 << SBSYMCODELEN) < SBNUMSYMS; SBSYMCODELEN++); ^ thirdparty/jbig2dec/jbig2_text.c:899:73: note: put the semicolon on a separate line to silence this warning
2015-02-25iOS: Suppress warnings about unused functionsJoseph Heenan
There are a fair number of warnings about unused functions, mostly in third-party modules, and we would like the build to be warning free. We need to change the main Makefile, as -Wall is currently added in Makerules, and we need our -Wno-unused-function in XCFLAGS to be after -Wall on the command line for it to have any effect.
2015-02-25iOS: conform to recent mupdf API changes.fredrossperry
2015-02-25Fix Android builds.Robin Watts
Update android Core.mk file for html document handler, and fix a stray fz_free_page that didn't get updated.
2015-02-24Update MSVC solution with html entries. Fix windows issues with html.Robin Watts
Add the new source files to the solution. Windows builds whinge about float->double conversions. Fix these with explicit casts. Avoid calling strtof and strcasecmp.
2015-02-17Bring Windows app up to date with API changes.Robin Watts
2015-02-17Add ctx parameter and remove embedded contexts for API regularity.Tor Andersson
Purge several embedded contexts: Remove embedded context in fz_output. Remove embedded context in fz_stream. Remove embedded context in fz_device. Remove fz_rebind_stream (since it is no longer necessary). Remove embedded context in svg_device. Remove embedded context in XML parser. Add ctx argument to fz_document functions. Remove embedded context in fz_document. Remove embedded context in pdf_document. Remove embedded context in pdf_obj. Make fz_page independent of fz_document in the interface. We shouldn't need to pass the document to all functions handling a page. If a page is tied to the source document, it's redundant; otherwise it's just pointless. Fix reference counting oddity in fz_new_image_from_pixmap.
2015-02-17Rename fz_close_* and fz_free_* to fz_drop_*.Tor Andersson
Rename fz_close to fz_drop_stream. Rename fz_close_archive to fz_drop_archive. Rename fz_close_output to fz_drop_output. Rename fz_free_* to fz_drop_*. Rename pdf_free_* to pdf_drop_*. Rename xps_free_* to xps_drop_*.
2015-02-17Reference count fz_document.Tor Andersson
2015-02-10Print dialog release when new document is opened.Michael Vrhel
If this release is not done, the previous documents pages appear in the preview and bad things happen if you try to step through the pages in the preview.
2015-02-10Disable options that are not currently possible to do when the source is an ↵Michael Vrhel
image. Currently if the source was a png, jpeg or cbz file we can't do conversions with ghostscript and also we can't print. So I will disable the controls for now and we can look into adding that functionality later if we want. Disable printing capability for image based formats. Currently printing is all XPS based. If the source document is JPG, PNG or CBZ we don't currently have a method for creating the XPS content for these. We could do a bitmap print or possibly wrap up the images in a XPS file or just do a direct bitmap print via some C# magic. I need to investigate. For the short time, though it is simply disabled.
2015-02-05Fix makefile dependencies (gen_font_droid.h is no more).Tor Andersson
2015-02-03Installer changes for gsview.nsiMichael Vrhel
Addition of license information. Also changes to ensure registry keys used by application are removed during the uninstall. Many changes in the installer code to ensure that the file type associations are made and the proper icons are displayed for each file type.
2015-01-27Fix mismatching allocation and deallocation issues.Michael Vrhel
The form of delete should match the form that is used in the new command. Otherwise the behavior is undefined.
2015-01-27Move OK and Cancel to lower left of dialog. Suggested by Fred-Ross Perry.Michael Vrhel
2015-01-27Remove visual studio based installers and add nsis installerMichael Vrhel
2015-01-27Fix issue in display list CacheMichael Vrhel
The commit fc05b51c2b198dcc5553f6de1b8fb0e22e7d28ae cleaned up a few issues in the display list cache but it introduced issues when multiple threads are using the lists. In particular one thread could be using a list at the tail of the cache list, while another thread is adding one to the cache, and removing the entry at the tail. The solution is to make sure the ref count of the list is incremented when someone is using the list and making sure that it gets decremented when they are done with the list.
2015-01-27Catch exception thrown for case when character conversion failsMichael Vrhel
2015-01-22Fix android scrolling bug.Robin Watts
Spotted by "Pogon". The code to choose between horizontal and vertical scrolling was broken due to a missing ! in a condition. Cut and Paste error.
2015-01-20Fix reference counting of display lists in Cache.cppMichael Vrhel
Fred Ross-Perry found some issues with the display list counting. This fixes the problems. Also he found a spot where we should have been doing just the page contents as opposed to the page.
2015-01-20Fix VS2013 project to build after files added and removed.Michael Vrhel
2015-01-20Rework of gsview printing with addition of new Print control dialogMichael Vrhel
This adds an additional project (gsprint.vxcproj) which will do the necessary native calls to bring up the custom print dialog for the output device. We can then obtain the settings and make the appropriate page size adjustments in creating our xps content.
2014-12-03Add ZIP file and directory reading module.Tor Andersson
2014-11-26Change incorrect loglevel of some messages from error to infomax
2014-10-12iOS: Remove CFBundleIcon* keys from the Info.plistJoseph Heenan
These are now generated by Xcode at build time from the asset catalogue, and the CFBundleIconFiles we had here was upsetting the app store validator.
2014-10-05iOS: Run at native res on iphone6/6+Joseph Heenan
All that is necessary is to add a launch xib.
2014-10-05iOS: tweak types to avoid warnings in 64 bit buildsJoseph Heenan
Still more warnings left.
2014-10-04iOS: minor cleans upsJoseph Heenan
unused variables / functions / potential uninitialised variable usage
2014-10-04iOS: convert app icons & launch image into image cataloguesJoseph Heenan
2014-10-04iOS: Enable various warnings to match current best practiceJoseph Heenan
2014-10-04iOS: Fix an analyser warningJoseph Heenan
In MuDocRef initialise. it spotted cases where self could be released twice after a failure.
2014-10-04iOS: Remove empty didReceiveMemoryWarning implementationJoseph Heenan
2014-10-04iOS: Fix a warning in xcode 6Joseph Heenan
scrollViewDidEndZooming takes a CGFloat.