2
0
mirror of https://github.com/koreader/koreader synced 2024-11-18 03:25:46 +00:00
Commit Graph

5346 Commits

Author SHA1 Message Date
HW
a02ae3a460 Added kerning for rendering text 2011-12-01 16:11:43 +01:00
HW
04772ea3ee enable garbage collection for pdfpage and ft_face 2011-12-01 14:33:17 +01:00
HW
b38b75298a fixed blitting for uneven horizontal offsets/dests 2011-12-01 14:28:10 +01:00
HW
f307264fb6 added freetype text rendering (still buggy)
this allows to render glyphs and also brings a simple
engine for rendering UTF-8 strings onto the framebuffer.
blitting to uneven offset is implemented here, too, but
needs more work and is still buggy.

In the end, this will allow for a simple GUI.
2011-12-01 01:35:53 +01:00
HW
ff38118a89 added exemplary storing of last read page 2011-11-29 00:54:38 +01:00
HW
12edfa7627 integrated sqlite3 + luasqlite3 in build
This will pull in support for SQLite3.
For the API, see here:
http://lua.sqlite.org/index.cgi/index
2011-11-29 00:07:46 +01:00
HW
3a670a479e Merge pull request #8 from dpavlin/master
panning and lauchpad integration
2011-11-28 12:52:56 -08:00
Dobrica Pavlinusic
31a487e746 fix direction of up/down pan 2011-11-26 16:32:24 +01:00
Dobrica Pavlinusic
aa55dca677 open reader using shift+P+P from Kindle's pdf viewer using launchpad
lsof is used to find path of current opened pdf
2011-11-26 16:24:00 +01:00
Dobrica Pavlinusic
04087c072f added altmode for smaller pans and zooms 2011-11-26 15:52:20 +01:00
Dobrica Pavlinusic
95952f7b11 enable panning over zoomed page
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
2011-11-26 15:41:11 +01:00
HW
be6e493f01 Merge pull request #7 from dpavlin/master
scp all *.lua files to Kindle
2011-11-21 11:28:41 -08:00
Dobrica Pavlinusic
bdda25f284 move gamma controlls to volume or F11/F12 in emu
Idea is to fee 5way presses for pan/zoom operations in future
2011-11-21 19:30:17 +01:00
Dobrica Pavlinusic
2d023d79c2 scp all *.lua files to Kindle 2011-11-21 19:30:00 +01:00
HW
e54ce6a358 changed gamma handling: now we multiply. 2011-11-21 01:18:10 +01:00
HW
a6541596ce added multiple zoom variants
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
2011-11-21 01:02:03 +01:00
HW
be1327e302 prepare zoom-to-content 2011-11-21 00:40:23 +01:00
HW
50492835e7 fixed cache aging 2011-11-20 23:06:49 +01:00
HW
11cc9e38f4 added mupdf patching to Makefile 2011-11-20 23:02:39 +01:00
HW
2414a4b9ec fixed bugs: initialization in einkfb.c, cache aging 2011-11-20 23:01:22 +01:00
HW
d96666f4b1 new cache organization in preparation for more complex tile data
in order to use the tile cache for variable zoomed tiles, we need more
flexibility. thus, now cache tiles are hashed (well, in fact it's a
concatenation) of their metadata.

also, we close pages right after opening them - there was no re-use
before and now we have opening and closing at one place. this should
also make it easier for the garbage collector.
2011-11-20 22:36:31 +01:00
HW
a07ea2f8b8 factored out key config and tilecache 2011-11-20 21:40:56 +01:00
HW
c2dd2d9897 switched blitbuffer to 4bpp (from 8bpp alpha + 8bpp gray)
this should allow to cache more, bigger pixmaps. We'll need this for
zoomed-in pages.
2011-11-20 21:29:59 +01:00
HW
13fc5cefbb Merge pull request #6 from dpavlin/master
modify_gamma now use cache correctly, add memory-limit patch for muPDF
2011-11-20 04:17:38 -08:00
Dobrica Pavlinusic
e76d8bc6a9 limit mupdf to 64M memory usage
mupdf is well known to have problems with rasterizing huge bitmaps.
In Kindle DXG example, huge means larger than memory size which is
128Mb. Generally, getting memory usage above 100M gets kindle blocked
so setting it to 64M seems like sane default. 96M might be upper
resonable limit.

K3 users with 256M or RAM might increase this value to 192M, but more
testing is needed.

For comparison, some full-page ads from Digital Linux Journal in pdf
(older numbers) require 512M of RAM to render on Intel laptop!
2011-11-20 00:34:34 +01:00
Dobrica Pavlinusic
0d9de55944 modify_gamma now use cache correctly
This exposed small bug in checkcache which checked just page no
which didn't get invalidated when closing page, so we now check if page
is also not nil
2011-11-20 00:32:18 +01:00
HW
4f888ca267 Merge pull request #5 from dpavlin/gamma
Change gamma using keypresses, still needs cache invalidation
2011-11-17 10:08:21 -08:00
Dobrica Pavlinusic
1d7dc7ffee naive modify_gamma implementation 2011-11-17 18:37:08 +01:00
Dobrica Pavlinusic
0bff614525 device emu for emulated /tmp/input 2011-11-17 18:25:15 +01:00
HW
fad798bf28 Merge pull request #4 from dpavlin/master
make long-form --goto page work again
2011-11-17 04:31:30 -08:00
Dobrica Pavlinusic
f56c122e49 make long-form --goto page work 2011-11-17 11:58:49 +01:00
HW
c6e491ad11 accidently enabled PDF tracing output, revert that. 2011-11-17 00:52:07 +01:00
HW
4e037e44f5 more makefile love: compile everything in one go
now - after fetching third party sources - you can
compile everything via

make

or

EMULATE_READER=1 make

in one go.
2011-11-17 00:50:10 +01:00
HW
32b85d2035 reader.lua changes to reflect new emulator 2011-11-17 00:14:36 +01:00
Dobrica Pavlinusic
716d81a28b add missing d (device) option 2011-11-17 07:09:37 +08:00
Dobrica Pavlinusic
83cfaad621 added --goto page comamnd-line argument 2011-11-17 07:08:57 +08:00
HW
7fafc61bb8 debug output leftover removed 2011-11-17 00:04:15 +01:00
HW
f78776a4d5 changes on building (clean-up) and emulation code
cleaned up Makefile a bit and made emulation related
parts really conditional on a single flag (EMULATE_READER).
2011-11-16 23:52:26 +01:00
HW
8fa7bdb9e9 reflect recent changes in README 2011-11-16 23:51:55 +01:00
HW
2a789efefb changed/enabled reader device emulation
The sources can now conditionally compile emulation code
for the e-ink framebuffer and input events.
It uses SDL for doing that, so you need this installed
if you want to use emulation (you do not need it if you're
only compiling for the e-ink device).
This allows for rapid testing of new code.
2011-11-16 23:50:00 +01:00
HW
d10b73d81a fixed non-initialization bug for dc->gamma 2011-11-16 17:26:34 +01:00
HW
ade5c4892d better argument parsing and option for gamma correction
included MIT-licensed alt_getopt implementation:
http://files.luaforge.net/releases/alt-getopt/alt-getopt/alt-getopt-0.7.0

created example use of gamma correction.

reader.lua now has usage notes for its invocation syntax.
2011-11-16 17:13:08 +01:00
HW
c1476e94c9 included Linux kernel API header file for eink display 2011-11-16 15:59:37 +01:00
HW
447b9fe2b5 added gamma setting to drawcontext
usage in Lua:
dc:setGamma(1.5)
print(dc:getGamma())

set it to a negative value to disable gamma correction
(since gamma correction will always imply calculations
over the full buffer data).
2011-11-16 01:56:37 +01:00
HW
10a8d59882 oops, Makefile wasn't in initial import. 2011-11-14 19:17:14 +01:00
HW
0c24e3c7e0 initial project, basic reader working 2011-11-14 18:30:16 +01:00