Commit Graph

8743 Commits (3427c207b0dc8eca0ace1dc25633dd6a76e910ab)
 

Author SHA1 Message Date
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.
13 years ago
HW ff38118a89 added exemplary storing of last read page 13 years ago
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
13 years ago
HW 3a670a479e Merge pull request #8 from dpavlin/master
panning and lauchpad integration
13 years ago
Dobrica Pavlinusic 31a487e746 fix direction of up/down pan 13 years ago
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
13 years ago
Dobrica Pavlinusic 04087c072f added altmode for smaller pans and zooms 13 years ago
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
13 years ago
HW be6e493f01 Merge pull request #7 from dpavlin/master
scp all *.lua files to Kindle
13 years ago
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
13 years ago
Dobrica Pavlinusic 2d023d79c2 scp all *.lua files to Kindle 13 years ago
HW e54ce6a358 changed gamma handling: now we multiply. 13 years ago
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
13 years ago
HW be1327e302 prepare zoom-to-content 13 years ago
HW 50492835e7 fixed cache aging 13 years ago
HW 11cc9e38f4 added mupdf patching to Makefile 13 years ago
HW 2414a4b9ec fixed bugs: initialization in einkfb.c, cache aging 13 years ago
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.
13 years ago
HW a07ea2f8b8 factored out key config and tilecache 13 years ago
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.
13 years ago
HW 13fc5cefbb Merge pull request #6 from dpavlin/master
modify_gamma now use cache correctly, add memory-limit patch for muPDF
13 years ago
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!
13 years ago
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
13 years ago
HW 4f888ca267 Merge pull request #5 from dpavlin/gamma
Change gamma using keypresses, still needs cache invalidation
13 years ago
Dobrica Pavlinusic 1d7dc7ffee naive modify_gamma implementation 13 years ago
Dobrica Pavlinusic 0bff614525 device emu for emulated /tmp/input 13 years ago
HW fad798bf28 Merge pull request #4 from dpavlin/master
make long-form --goto page work again
13 years ago
Dobrica Pavlinusic f56c122e49 make long-form --goto page work 13 years ago
HW c6e491ad11 accidently enabled PDF tracing output, revert that. 13 years ago
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.
13 years ago
HW 32b85d2035 reader.lua changes to reflect new emulator 13 years ago
Dobrica Pavlinusic 716d81a28b add missing d (device) option 13 years ago
Dobrica Pavlinusic 83cfaad621 added --goto page comamnd-line argument 13 years ago
HW 7fafc61bb8 debug output leftover removed 13 years ago
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).
13 years ago
HW 8fa7bdb9e9 reflect recent changes in README 13 years ago
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.
13 years ago
HW d10b73d81a fixed non-initialization bug for dc->gamma 13 years ago
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.
13 years ago
HW c1476e94c9 included Linux kernel API header file for eink display 13 years ago
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).
13 years ago
HW 10a8d59882 oops, Makefile wasn't in initial import. 13 years ago
HW 0c24e3c7e0 initial project, basic reader working 13 years ago