* hwhw/master:
make muPDF cache size configurable from Lua
add XPS and CBZ support (muPDF provides this)
fixed bug for odd rendering widths
refactored muPDF integration to use strictly the fitz.h API
forgot Makefile change when factoring out drawcontext
* Since fontchooser is replaced by selectmenu, it
is no longer needed. So I rewrite it into font.lua
module which can cache faces that shared among all
UIs.
* add progressBar method in graphics.lua to draw
reading progress.
* add reading progress information in reading menu.
It is just a demo. Should be clean up in next release
when the real reading menu is out. :)
Now you get a instance rotate :) With only one bug.
I have to restore to previous rotation state of the
native system after exists. Because the native system
does poll the new rotation state that changed by ioctl.
Currently, I don't know how to force the native system
to detect the changes.
* move rotation mode to global variable, now check rotation
with Screen.cur_rotation_mode
* move screenRotate to screen module so other UIs can use it.
the framebuffer "object" now has a "member" that exposes the blitbuffer
API for the framebuffer pixmap. This allows to reuse blitting & Co for
blitbuffer-to-blitbuffer operations
This works only in ZOOM_BY_VALUE mode invoked by Shift+Page< or Shift+Page>
Panning is modal: in normal mode, you move using fiveway but
when you press fiveway you switch to move-by-screen mode
(which is useful after you centered first column of article
and you just want to move around)
At any time you can press fiveway with shift to move in even smaller
increments
also, added key codes from launchpad sources.
thus, a few constants change their names.
These are the current keys:
PGFWD = next page
PGBCK = previous page
SHIFT+PGFWD = zoom in
SHIFT+PGBCK = zoom out
A = fit to page
S = fit to page width
D = fit to page height
SHIFT+A = fit to page content
SHIFT+S = fit to page content width
SHIFT+D = fit to page content height
SHIFT+FW_UP = Gamma + 0.2
SHIFT+FW_DOWN = Gamma - 0.2