Commit Graph

223 Commits (3066c86e38c8297c4c534a31c9631bb8bd6535cf)

Author SHA1 Message Date
Hans-Werner Hilse 3066c86e38 Refactoring hardware abstraction
This is a major overhaul of the hardware abstraction layer.
A few notes:

General platform distinction happens in
  frontend/device.lua
which will delegate everything else to
  frontend/device/<platform_name>/device.lua
which should extend
  frontend/device/generic/device.lua

Screen handling is implemented in
  frontend/device/screen.lua
which includes the *functionality* to support device specifics.
Actually setting up the device specific functionality, however,
is done in the device specific setup code in the relevant
device.lua file.

The same goes for input handling.
10 years ago
chrox 8c9751744e fix #1064 by adding timestamp of document in cache key
so that when document is modified the persistent cache will
be invalidated automatically because the cache key will not
be matched. There is no perfermance overhead here at all. We
even don't need to check the modification time of the cache item
on disk, because the name of the on disk cache is a md5sum of the
cacheitem key, now the filename of the cache files contains the
modification time information.
If the document is modified since one rendered page is cached to disk,
the cache key won't match the cache file. And the cache file will
be discarded without the need to open the cache file or to check
the modification time of the cache file itself.
10 years ago
chrox c2726a8f62 save two blitbuffer memory allocations for crengine on each page turn
One for drawbuffer at CreDocument:drawCurrentView and another for
resizing of drawBuf at cre.drawCurrentPage.
10 years ago
Hans-Werner Hilse 0a74dc6072 add needed ffi module when saving annotations 10 years ago
chrox 2ff12af50c protected call of mupdf.renderImage 10 years ago
chrox 2050c0aa66 fix renderImage invocation 10 years ago
Hans-Werner Hilse e0868826ad use new FFI based mupdf API
This will use the new API where the Lua/C interface was used before
and also drop usage of mupdfimg wrapper which is now implemented
within the mupdf interface
10 years ago
chrox d30709edb0 add djvu render mode options in readermenu 10 years ago
chrox b422eb90cc refactoring readerrolling
and fix lossing progress when switching screen mode
10 years ago
chrox 7142492e42 fix #959 10 years ago
chrox 2f2d9f1bf7 issue error directly when doc is malformated
This should popup a message saying "No reader engine for this file"
instead of a crash when document file is malformated.

This should fix #868.
10 years ago
chrox 132adf8e1b register opened document in documentregistry
so that when calling getCoverPageImage in screensaver mode
the document won't be opened again. This should avoid a lot of
problem such as messing up style and options described in #863.
10 years ago
chrox b912200951 don't share info field in document
We may have multiple documents opened simultaneously, such as in
screensaver mode the current document is opened twice, it's better
to keep seperate info table for each document.

This should fix #858. When a credocument is opened for screensaver to
get the cover page, the total pages info is set to 1(strangely enough),
before this fix this total pages is shared with the reading document
so the progress bar will get a progress percentage well beyond 100% and
rendering the progress bar out of the boundering box as shown in #858.
10 years ago
chrox fd9e3d57f3 fix performance issue of screensaver on Kobo
now loadDocument will not render the document and getCoverPageImage will
be much faster.
10 years ago
chrox 0bc3eadcae refactoring: use Document API getCoverPageImage to get cover image 10 years ago
chrox 092522b89d promote user to save PDF document after highlighting
This is a wordaround for #791.
10 years ago
chrox 7ce5c9c052 fix Droid Sans Fallback not registered to crengine 10 years ago
Qingping Hou 99f6298b28 Merge pull request #829 from chrox/master
markup annotation quadpoints should be defined in counterclockwise
10 years ago
chrox 7048ca971b add getCoverPageImage api for CreDocument 10 years ago
chrox 0c29b041fe markup annotation quadpoints should be defined in counterclockwise 10 years ago
chrox 507b989747 use pdfreader instead of crereader to handle zip files
Generally zip files are zipped pictures which should be
better handled in pdfreader.
10 years ago
chrox b7c7287bab remove more global variables 10 years ago
chrox 38c75f8359 fix the first file in a zip is a directory will raise error in zipContentExt 10 years ago
chrox a7fb8811f3 add floating punctuation toggler for EPUBs 10 years ago
chrox 120f18737e add advanced option forced_ocr to force ocring text 10 years ago
WS64 c1ecf23c2c Update credocument.lua 10 years ago
NiLuJe 5ebed6655b Use Noto instead of Droid, where appropriate. 10 years ago
chrox bcd2c8e8f8 display 2 pages side-by-side in landscape for larger screen 10 years ago
chrox 9fc048ecfc considering visible page count in readerrolling
This should fix #660.
10 years ago
chrox 6cdfd322f1 update buildin font names 10 years ago
chrox fd1bb86514 fix cannot get word box in last page of a chapter 10 years ago
chrox 53165e3c2a fix init hyphenation dictionaries 10 years ago
chrox 241d67e0ec revert zip file handler to crereader
It seems that fb2.zip is a conventional format for fb2 with compression
which cannot be handled properly by mupdf.
This should fix #642.
10 years ago
Qingping Hou 7ac5b419b5 refactor(doc): use ffi binding in picdocument 10 years ago
Paulo Matias f04951e5dc Consider as corrupt a null-area bbox
Fixes crash with empty page_states
10 years ago
chrox 803e4e8600 font weight option should be persistent between launchings
This should fix #620.
10 years ago
chrox 5aa8eb52da add missing Blitbuffer since it's removed from global space 10 years ago
chrox f507fd3709 various Android fix
now the android build has nearly the same features as the
Kindle/Kobo build. It's time for Android nightly build?
10 years ago
chrox 6fba40cc77 use mupdf to handle zipped image files 10 years ago
chrox a8b7b2cdbd add base document init method to create new configurable for each document
this should fix configurables pollution when opening multiple documents
at the same time, e.g. when clipping page images in Evernote plugin.
10 years ago
chrox 17741e292b serialize cache when closing ReaderUI other than closing document 10 years ago
chrox 55734f6aaa export highlighted rect in scanned page to Evernote 10 years ago
chrox 3b1e05bb7f switch to setIntProperty api for setting page margins 10 years ago
chrox 6bf1a9d033 use setStringProperty method to set font face
This should fix #569.
10 years ago
chrox e1527611c5 show a box indicator when tapping on a link
only for PDF/DJVU docs for now since there is no easy way
to get link box from crengine
10 years ago
chrox 30e6b3529b hide Nimbus fonts in font selecting dialog 10 years ago
chrox 775e5ea3b4 serialize the most recently used blitbuffer/koptcontext
to speedup koreader startup for PDF/DJVU documents
especially when reflowing
10 years ago
chrox c6c4cbcab1 add dewatermark option for pdf/djvu documents 10 years ago
Qingping Hou 4b357c1466 move reader code into frontend/apps/reader
it makes more sense to completely separate the UI framework and
application code

also move frontend/ui/configurable.lua to frontend/configurable.lua
10 years ago
chrox 92219a1f1e cleanup: expand tab to 4 spaces 10 years ago