2
0
mirror of https://github.com/koreader/koreader synced 2024-10-31 21:20:20 +00:00
Commit Graph

3764 Commits

Author SHA1 Message Date
{Qingping,Dave} Hou
bac3ae568b Merge pull request #686 from chrox/prerendering
add pre-rendering in pdf/djvu readers
2013-01-05 16:46:52 -08:00
chrox
12a76fee33 add pre-rendering in pdf/djvu readers
"HintPage" tasks are scheduled into the execution stack of UIManager
after each page drawing. These tasks should be checked immediately after
screen is refreshed so tasks are double-checked in the main loop.
2013-01-05 22:28:14 +08:00
chrox
bfe7b5e332 move Reflow option to More options dialog 2013-01-05 20:15:17 +08:00
{Qingping,Dave} Hou
3ec818a3cd Merge pull request #684 from chrox/koptreader-new-ui
add reflow mode in pdf/djvu readers
2013-01-04 00:28:57 -08:00
Qingping Hou
c0602fba95 fix nil dimen bug in InputContainer:init 2013-01-04 03:16:18 -05:00
chrox
349bcb996e use koptinterface to reflow text in pdf/djvu readers 2013-01-03 22:33:49 +08:00
Qingping Hou
06444e3420 add notification widget and used it in readerbookmark 2013-01-01 18:08:19 -05:00
Qingping Hou
fff8658530 notify user if page already book marked 2013-01-01 17:27:10 -05:00
Qingping Hou
d04ab4e4ae add readerbookmark 2013-01-01 14:45:52 -05:00
Qingping Hou
9e7d41d129 bug fix in readertoc
* typo in fillToc method
* handle xpointer in getTocTitleByPage
* return true in onShowToc
2013-01-01 14:45:44 -05:00
Qingping Hou
a05e87a2dc move Back key binding of readerui to ReaderUI:init() 2013-01-01 14:40:37 -05:00
Qingping Hou
b79fafb863 add Device:hasKeyboard in device.lua 2013-01-01 14:40:32 -05:00
Qingping Hou
d295e28046 remove unused onPageUpdate and onPosUpdate in readertoc 2013-01-01 14:40:24 -05:00
Qingping Hou
943d56699e remove dulplicate onSetDimensions handler in readertoc 2013-01-01 14:40:17 -05:00
Qingping Hou
2bf0a5cf0a use menu widget ignore attribute for reader menu
now menu is poped up from top of screen
2013-01-01 14:40:09 -05:00
Qingping Hou
6af311bc17 add ignore attribute to CenterContainer widget 2013-01-01 14:40:02 -05:00
Qingping Hou
a19b3cc1b4 bug fix: set toc menu height and width 2012-12-31 00:49:43 -05:00
Qingping Hou
414f8bec34 use left swipe for next page turn 2012-12-31 00:09:33 -05:00
Qingping Hou
d3292740ec adapt ReaderPanning to new touch event system 2012-12-30 22:57:23 -05:00
Qingping Hou
120f7b0252 bug fix: signal ViewRecalculate event after panning
This make sure ReaderPaging get correct visible_area when
turnning to previous page.
2012-12-30 22:53:57 -05:00
Qingping Hou
8a8b993ade add toc menu for touch UI 2012-12-30 19:13:46 -05:00
Qingping Hou
468178c37c bug fix in menu widget, call close_callback on after select 2012-12-30 18:51:14 -05:00
Qingping Hou
c5fc851bb7 bug fix for swipe gesture detection (nil x or y)
a complete_last_ev var is used to make sure the first argument
to isSwipe() method has no nil x or y entry.
2012-12-30 01:01:44 -05:00
Qingping Hou
f19b6e7667 use swipe gestures in menu widget to signal page turn 2012-12-30 00:56:21 -05:00
Qingping Hou
0f51f34ff6 add swipe event detection in gesturedetector.lua 2012-12-30 00:45:21 -05:00
chrox
e525264b01 save/restore koptconfig to setting files 2012-12-24 17:36:52 +08:00
chrox
99a7ebaeb6 larger option text in paperwhite 2012-12-24 16:55:10 +08:00
chrox
a649301e69 make pdfreader and djvureader the defaults 2012-12-24 08:19:34 +08:00
chrox
074522a36b first usable koptreader for new UI 2012-12-24 08:16:41 +08:00
chrox
755e012dba add config options 2012-12-24 08:16:33 +08:00
chrox
138def10c3 Demo version of koptreader config dialog. 2012-12-24 08:16:17 +08:00
Qingping Hou
93abd2fee7 add page status to readerrolling for better page view_mode support
* now when rendering in page view mode, we only keep track of page
number instead of pos inside document. Because using pos inside
document for page view mode is really a bad idea and will lead to
many unsovlabe bugs...
2012-12-22 13:27:46 +08:00
Qingping Hou
5ab98420bd use predefined variable instead of magic number for view_mode 2012-12-21 09:10:16 +08:00
Qingping Hou
efa37c97ab bug fix in readerfont
After set font in ReaderFont:onReadSettings, we have to send UpdatePos
event in order to set m_is_rendered(member of LVDocView) to true.

Otherwise position inside document will be reset to 0 on first view
render, this makes the first page of document is always displayed on
document open.

So far, I don't know why this call will alter the value of m_is_rendered.
It just works...
2012-12-21 06:00:51 +08:00
Qingping Hou
4d010f10e2 disable overlap dimming for page view mode in crereader 2012-12-18 12:31:55 +08:00
Qingping Hou
5a57ef84d3 remove default_font in readerfont because it is defined in credocument. 2012-12-17 15:01:31 +08:00
Qingping Hou
e27b99f770 read font_face and font_size from document settings
This is done in readerfont.lua
2012-12-17 14:51:50 +08:00
Qingping Hou
5d1c98e90a add setFontSize to credocument.lua 2012-12-17 14:50:50 +08:00
Qingping Hou
590bf149be count FrameContainer padding into menu title bar size 2012-12-16 03:43:33 -05:00
Qingping Hou
2050696de6 bug fix in FrameContainer
content_size should be obtained by calling self[1]:getSize()
2012-12-16 03:42:30 -05:00
Qingping Hou
6beebe4423 remove menu item underline for touch device 2012-12-16 02:16:21 -05:00
Qingping Hou
dbd27cd600 rename ReaderMenu:addToMainMenuCallback to registerToMainMenu
since we are actully inserting widgets, not callbacks
2012-12-15 09:30:48 +08:00
Qingping Hou
5b6558383d register ReaderZooming's zoommode menu in ReaderMenu 2012-12-15 09:26:40 +08:00
Qingping Hou
9a439f5dc4 register ReaderFont's font menu in ReaderMenu 2012-12-15 09:23:02 +08:00
Qingping Hou
f7c65ebef7 add register_widget in ReaderMenu & minor fixes in menu.lua
* now readerwidgets can add menu items in ReaderMenu by
calling ReaderMenu:addToMainMenuCallback and define its own
addToMainMenu method, which takes ReaderMenu's item_table as argument.
2012-12-15 09:20:12 +08:00
Qingping Hou
93f7813d1a do deep copy on InputContainer widget _init 2012-12-14 05:52:56 +08:00
Qingping Hou
476733dc87 register font menu to main reader menu for touch device 2012-12-14 02:32:16 +08:00
Qingping Hou
1675d8667b add cre view mode support in frontend 2012-12-13 12:41:48 +08:00
Qingping Hou
756cce6174 use DroidSansFallback.ttf in font.lua 2012-12-13 01:40:35 +08:00
Qingping Hou
93b642a0d7 fix Device:isKindle4() method 2012-12-12 10:03:16 +08:00
Qingping Hou
309af296db read document configuration files from history dir
this feature was introduced by @NuPogodi in old KPV
2012-12-12 09:35:49 +08:00
Qingping Hou
97041638a6 Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into new_ui_houqp 2012-12-11 22:56:37 +08:00
eureka
424776b564 fix bug in eventhook for KT
* no return
* it is value that should be changed
2012-12-11 13:14:41 +08:00
Qingping Hou
b253a774f6 added TODO in Input:init in case I forget it in the future 2012-12-10 21:05:35 -05:00
Qingping Hou
c8d43cd33c add Input:eventAdjustHook(ev)
so we can adjust input event for KT on the fly.
the touch input event coordinates in KT ranges from 0-4095
instead of the screen size.
2012-12-10 20:58:16 -05:00
Qingping Hou
1b7357fc0f add Device:hasKeyboard to help initialize UI components
So that kindle4 won't have all the gesture event registered.
2012-12-10 19:01:32 -05:00
eureka
bf86cf7a93 KT input device patch from eureka
* add KT detection
* remove unnacessary input device for KT
2012-12-10 18:52:22 -05:00
Qingping Hou
c0616b4173 make sure menu height not exceed screen height. 2012-12-11 02:30:50 +08:00
Qingping Hou
5fc4adafc4 fill menu with dummy blank widget to extend its height 2012-12-11 01:59:24 +08:00
Qingping Hou
418bfd9fc2 remove update_area since I cannot come up with a good implementation yet 2012-12-09 01:26:28 +08:00
Qingping Hou
c8de4f3f6c adapt filechooser and readermenu to new menu widget
* now if you want to center a menu, you have to wrap it
in CenterContainer. Refer to readermenu for details.
2012-12-09 01:25:32 +08:00
Qingping Hou
92bce18537 bug fix in InputContainer and menu widget
* add _init callback for all widgets, which is used for base widget
initialization. see comment in Widget:new(o) for more information.

* new ges_events and key_events are created for each InputContainer
widget, previously, they shared the same tables.

* remove hardcoded menu widget dimen

* recalculate menu dimen on table item changes

* add CloseAllMenus for menu widget
2012-12-09 01:21:30 +08:00
Qingping Hou
cc38d9e6fc add KT support 2012-12-08 01:06:47 -05:00
Qingping Hou
e98a89f8d5 demo for dimming on page overlap 2012-12-08 01:05:10 -05:00
Qingping Hou
683c7eee2c handle corrupted usedbbox in Document:getUsedBBoxDimensions() 2012-12-07 16:42:27 -05:00
Qingping Hou
3af979b84d add close button for menu 2012-12-07 23:30:15 +08:00
Qingping Hou
74dc0abc18 add UIManager.repaint_all to force repaint on all widgets 2012-12-07 23:29:24 +08:00
Qingping Hou
7accd7572b add OverlapGroup in widget.lua 2012-12-07 23:28:55 +08:00
{Qingping,Dave} Hou
e00dfa7d38 Merge pull request #650 from houqp/new_ui_houqp
add touch support for readerrolling
2012-12-06 07:33:48 -08:00
{Qingping,Dave} Hou
5cbbfaceff Merge pull request #649 from chrox/koptreader-new-ui
move page reflowing code to getPageDimensions method
2012-12-04 01:08:12 -08:00
Qingping Hou
90f6dfefb4 code tide up in readerpaging 2012-12-04 17:05:58 +08:00
Qingping Hou
98ca3aa83f add touch support for readerrolling 2012-12-04 17:05:40 +08:00
Qingping Hou
d077bafb6d fix bug no default zoom mode bug in readerpaging
reported by @chrox, see #647
2012-12-04 15:19:50 +08:00
chrox
fd461e4f3e move page reflowing code to getPageDimensions method 2012-12-04 10:36:36 +08:00
Qingping Hou
ae1c489a0f implement full pageturn by viewport for all modes
* add notIntersectWith method for Geom
* add math.roundAwayFromZero in geometry.lua
* Readerview:recalculate now signals ViewRecalculate event.
  For now, this event is only usefull for ReaderPaging
2012-12-03 13:48:41 +08:00
Qingping Hou
7b707ab367 add usedbbox support 2012-12-02 17:09:32 +08:00
Qingping Hou
7e04c97b70 bug fix for PdfDocument:getUsedBBox
when cache found, we should return cache.ubbox
not cache.data
2012-12-02 15:14:02 +08:00
Qingping Hou
65e8e2292f revert wrong cleanup for commit cf3cc65c03
self.layout must be updated for any widget that inherits
from focusmanager. Previous commit removed related code on
menu item update.
2012-11-29 10:48:57 -05:00
{Qingping,Dave} Hou
267ed42be6 Merge pull request #638 from houqp/new_ui_code_fix
zoom mode support in reader menu & menu module bug fix
2012-11-29 07:33:54 -08:00
{Qingping,Dave} Hou
8e085c3e5d Merge pull request #641 from houqp/new_ui_code
merge latest changes from master branch
2012-11-29 07:32:32 -08:00
chrox
4dd9232194 recalculate page size after each call of drawPage
Only after renderPage is called can koptdocument update
reflowed page size. And the recalculate acts as a page
size updater here.
2012-11-29 21:58:24 +08:00
chrox
aa9fe4b01c cache page size after page is reflowed
So that when page dimension is recalculated right page size
other than screen size is returned.
2012-11-29 21:58:12 +08:00
chrox
c462090600 add koptreader demo 2012-11-27 20:43:49 +08:00
{Qingping,Dave} Hou
da87914cbf Merge pull request #634 from houqp/ges-detect
Touch gesture detection module
2012-11-26 15:20:54 -08:00
Qingping Hou
d57ac2e756 Use the font DroidSansFallbackFull.ttf in font.lua 2012-11-26 13:39:09 -05:00
Qingping Hou
ba3973b2ac add all zoom modes support to reader menu 2012-11-26 15:30:24 +08:00
Qingping Hou
cf3cc65c03 fix bug in multi-level menu support
The size of framecontainer is not reset after content changed.
2012-11-26 15:25:28 +08:00
Qingping Hou
c701248a8d rename Input:setTimeOut to Input:setTimtout
To keep consistent with Javascript setTimeout function...
2012-11-25 15:57:29 +08:00
Qingping Hou
e3617676a1 fix deprecated debug call in credocument.lua 2012-11-23 01:10:34 -05:00
Qingping Hou
a7b2215249 bug fix in time.lua
a crazy typo
2012-11-23 01:04:56 -05:00
Qingping Hou
324f67412a fix bug in timer_callbacks scheduling & change variable name
watiEvent should stop checking timer_callbacks when execceds
wait timeout set by timeout_us.
2012-11-17 13:51:34 -05:00
Qingping Hou
d3e0424122 add setTimeOut method in inputevent.lua
adapt all the state machine to use setTimeOut. Now supported gestures
includes tap, double tap and hold.
2012-11-17 13:41:26 -05:00
Qingping Hou
a8e4c6ed73 add setTimeOut method in inputevet and use it in gesturedetector 2012-11-16 18:55:13 -05:00
Qingping Hou
dfd697453b add time module 2012-11-16 18:54:01 -05:00
Qingping Hou
f06afb798e rewrite gesturedetector state machine 2012-11-15 19:58:01 -05:00
Qingping Hou
1fb10efc43 introduce state methods in gesturedetector 2012-11-13 01:12:01 -05:00
Qingping Hou
d4e5b4cb06 add readerpaging and readermenu touch support 2012-11-11 15:25:49 +08:00
Qingping Hou
5e2537210f remove comments in menu.lua 2012-11-11 14:30:35 +08:00
Qingping Hou
032a71cbc4 bug fix in single tap detection 2012-11-11 14:30:35 +08:00
Qingping Hou
3486ae7e09 first demo of gesture parsing 2012-11-11 14:30:35 +08:00
Qingping Hou
36a4ead630 update document.lua according to API change in cre.cpp 2012-11-11 14:29:56 +08:00
Qingping Hou
e000bde0be remove old comment in inputevent init 2012-11-05 10:50:15 -05:00
Qingping Hou
03595f8701 use os.remove instead of calling "rm" in os.execute 2012-11-05 10:27:21 -05:00
Qingping Hou
c96fc292f9 adapt inputevent.lua to new emu input implementaion 2012-11-04 11:19:31 +08:00
Tigran Aivazian
db3796cd24 Remove alt_getopt.lua module altogether.
Conflicts:

	Makefile
	frontend/alt_getopt.lua
2012-10-31 21:47:41 -04:00
Qingping Hou
e07c1d147f add multi-touch event definitions from linux/input.h 2012-10-21 01:25:48 +08:00
Qingping Hou
54b33bd6a7 fix DXG detection 2012-10-14 14:32:08 -04:00
Qingping Hou
2985d27569 rewrite device detection 2012-10-14 14:22:01 +08:00
Qingping Hou
ea022b651f add rendermode support for djvu documents 2012-10-09 18:26:01 -04:00
Qingping Hou
8ccbfba6cc Djvu Validate patch from tigran123
refer to commit in master(kpv) tree:
64b6ef4afd
2012-10-09 16:15:13 -04:00
Qingping Hou
e3b567b2b1 fix kerning for Utf8Text family methods from tigran123
refer to master pullrequest #386 and #383, related
commits are (all in master(kpv) tree):
cb25029ddd
c7b4cf71f8
379cba7b68
2012-10-09 16:08:34 -04:00
Qingping Hou
78c7007f43 add todo for kerning in text widgets 2012-10-09 12:39:09 -04:00
Tigran Aivazian
d551e7fb63 Cleanup crereader fonts initialization.
Don't try to register the two fonts Dingbats.cff and StandardSymL.cff
with crengine because it will reject them anyway. But we cannot simply
remove these two fonts because they are used internally by mupdf to
emulate "builtin" fonts which are mandated by Adobe PDF specification to
be present in every valid implementation.
2012-10-03 13:08:27 -04:00
Qingping Hou
eb79e1c95c handle file with no extension in filechooser 2012-09-17 20:36:39 -04:00
Qingping Hou
dfff1906fd return only one value in ReaderToc:cleanUpTocTitle(title) 2012-09-17 20:21:03 -04:00
Qingping Hou
25af917170 call cre.initCache() in CreDocument:engineInit() 2012-09-17 20:12:33 -04:00
Qingping Hou
c1ccff70ad minor adjustment for Makefile and document.lua 2012-08-25 22:52:12 +08:00
Qingping Hou
1c216b6458 add last read page/percent setting support 2012-06-27 01:00:21 +08:00
Qingping Hou
59592e862e read font settings on readsettings event 2012-06-27 00:59:47 +08:00
Qingping Hou
0e122b12bf read settings after readerui widgets initialization 2012-06-27 00:59:22 +08:00
Qingping Hou
45e9198ab2 add document fontface and fontsize settings support 2012-06-26 17:05:49 +08:00
Qingping Hou
fab19c3bfa add document settings support 2012-06-26 17:05:09 +08:00
Qingping Hou
ca46092f1b fix naming for fake events device, part 2 2012-06-24 10:13:24 +08:00
Qingping Hou
cee51b8db2 change menu item underline color to make refresh more responsive 2012-06-23 22:23:43 +08:00
Qingping Hou
d6a2c9908c enable partial and full refresh on widget redraw
also added halfdone code for repaint area on widget
redraw.
2012-06-19 10:44:54 +08:00
Qingping Hou
271701edfe screensaver and usbplugin events support 2012-06-14 01:52:08 +08:00
Qingping Hou
2d104d7792 adjust keycodes for k4 & add device.lua 2012-06-13 21:27:38 +08:00
Qingping Hou
51ed793d14 add screen rotate support 2012-06-13 00:14:23 +08:00
Qingping Hou
b71ac38d3b exit KPV on Ctrl+C 2012-06-12 21:18:39 +08:00
Qingping Hou
bad329811d add line space control feature for credocument 2012-06-12 21:12:04 +08:00
Qingping Hou
b3cdbeee19 add font size control feature for credocument
also rename getFont to getFontFace
2012-06-12 20:59:56 +08:00
Qingping Hou
0ddc9f6e99 add back readerfont.lua 2012-06-12 18:04:08 +08:00
Qingping Hou
acaf8d660e font menu for readerui 2012-06-12 17:42:28 +08:00
Qingping Hou
f8f188ff89 jump to first menu item if pagebck is pressed in first page 2012-06-12 16:02:08 +08:00
Qingping Hou
7d008bf622 fix end_position calculation in Menu:onNextPage 2012-06-12 15:59:35 +08:00
Qingping Hou
77761554d9 add CreDocument:engineInit() method 2012-06-12 14:52:35 +08:00
Qingping Hou
d89cbc43f9 replace getProvider with openDocument
now getProvider only returns the provider
2012-06-12 14:38:00 +08:00
Qingping Hou
07d6f66565 fix screen rotation mode restore for native system 2012-06-12 12:13:51 +08:00
Qingping Hou
348891c242 add start_pos and password for readerui.lua 2012-06-12 00:35:13 +08:00
Qingping Hou
4fb2c9d2e3 add gotoPercent for readerrolling.lua 2012-06-12 00:34:30 +08:00
Qingping Hou
2b39ba8b83 register all the supported formats for crengine 2012-06-11 23:50:11 +08:00
Qingping Hou
793a431c43 add sub menu support for menu widget 2012-06-11 13:46:19 +08:00
HW
4d3e6af106 small changes to menu and addition of a reader menu
the reader menu is still very bare-bone, I plan to enhance it now.
2012-06-10 20:14:29 +02:00
Qingping Hou
937a91c297 fix fb:getOrientation method, adjust mode numbering
also use it in screen.lua
2012-06-11 00:09:23 +08:00
HW
5025be971d separated dialog.lua into source files for each individual function 2012-06-10 17:52:09 +02:00
HW
ce5614ef6f cleanup, also removal of G_* constants
a bit of cleanup, switched width/height combo over to use
Geom() objects, moved framebuffer handling to Screen object,
callback syntax sanitizing, lots of small changes
2012-06-10 17:36:19 +02:00
HW
88a7781913 removed one case of Lua <5.1 varargs handling 2012-06-10 13:05:30 +02:00
Qingping Hou
371f9bb5af fix doc for key events 2012-06-05 19:03:50 +08:00
Qingping Hou
3ac00b90d6 add y direction panning for readerrolling.lua 2012-06-05 19:03:06 +08:00
Qingping Hou
e7d16de4e2 first demo for credocument 2012-06-05 15:23:36 +08:00
Qingping Hou
e4160a9909 fix table index in sequenceToString method 2012-06-04 10:38:52 +08:00
Qingping Hou
b40a748a78 move duplicate codes to document.lua 2012-06-03 22:26:16 +08:00
Qingping Hou
86a3ff6447 Merge remote-tracking branch 'origin/new_ui_code' into new_ui_code 2012-06-03 17:46:01 +08:00
Qingping Hou
7f6773dc6f demo for djvu support
wait for code clean up
2012-06-03 11:11:15 +08:00
HW
60ccd7441e fixed menu info displaying, replaced debug() by DEBUG()
the replacement of debug() was necessary to be able to access the lua library "debug" (for backtraces etc.)
2012-05-28 18:59:16 +02:00
HW
8191cbe852 some fixes to filechoser and menu 2012-05-28 00:14:08 +02:00
HW
ca3247320f first filechooser implementation 2012-05-27 23:43:00 +02:00
HW
c136773203 some minor changes to avoid long access paths into tables 2012-05-27 18:23:01 +02:00
Qingping Hou
a1a9b5e9b0 move toc related methods to readertoc.lua 2012-05-27 21:24:33 +08:00
Qingping Hou
cf048e286d add toc menu support for readerui 2012-05-27 19:47:22 +08:00
Qingping Hou
284d5ce9d9 two bug fixes in menu widget
* update page info
* item shortcut support in all pages
2012-05-27 19:44:37 +08:00
Qingping Hou
07e17125b5 add select callback to menu and bug fix in shortcut 2012-05-27 14:03:13 +08:00
HW
d5c7e6ccb5 factored out pdfdocument implementation 2012-05-19 01:13:53 +02:00
HW
9e531fc2db file reorganisation
all lua frontend files are now in the frontend/ directory.
all old code is cleaned up.
2012-05-19 01:10:57 +02:00