Commit Graph

65 Commits (062af7cb948f88f73b177b09d9a3da2f84a7cd64)

Author SHA1 Message Date
chrox 5b0e4b457b bugfix: destroying attr objects immediately after pthread_create 12 years ago
chrox 060eeec1c1 bugfix: reclaim thread stack explicitly by using detached threads
Otherwise the VmData size will keep increasing in multi-threads mode.
Although the increasing VmData size doesn't mean there is enormous
memory leak, it does show that the thread stack is not handled properly
when threads exit.
12 years ago
chrox f981b70ac0 add multi-threaded precache
Because the lua reader is single threaded on which both user inputloop
and background page rendering is processed. Although there is a pretty
good precache system to save user's time spending on waiting for the
rendering when going to the next page, user input is indeed blocked when
running the precache thing. The situation is even worse in koptreader as
reflowing on page would usually take several second, in this period
users cannot move to the next page view even it's already in the cache.
This patch will let precache run in the background in a seperate thread
so that the koptreader is still responsive when precaching the next
page. Now it only just works. Welcome to find out bugs in it.
12 years ago
chrox 44361faeee build libk2pdfopt as a shared library 12 years ago
chrox a5b28ff6f2 include k2pdfopt header in pdf.c and djvu.c and koptcontext.h 12 years ago
chrox f70ef06ea6 use koptcontext to keep dozons of parameters for k2pdfopt 12 years ago
chrox 3a7535d350 add trim page option 12 years ago
chrox f7be331318 add defect size option 12 years ago
chrox 486207ce1b add render quality option
Many users complained that the reflowing process is too slow. This is
rather a speed-quality dilemma. Trade-off can be made by decreasing the
dpi of source page. And by default quality is prefered.
12 years ago
chrox 19c0d282aa add indentation option in koptconfig
By default the indentaion detection is enabled in K2pdfopt. This will
sometimes generate very poor reflowed page when there are sidenotes on
the page which would be treated as indentation. Disabling indentaion
detection will rescue the reflowed page from this situation.
12 years ago
chrox 0b2f89d830 add screen rotation in koptconfig
Conflicts:

	koptconfig.lua
	koptreader.lua
12 years ago
chrox 2c3b4fa968 add auto straighten option for scanned pages
Conflicts:

	koptconfig.lua
	koptreader.lua
12 years ago
chrox 148dc48556 add column detection in koptconfig
Conflicts:

	koptconfig.lua
	koptreader.lua
12 years ago
chrox 06f3c382ac add font size option in koptconfig dialog
Conflicts:

	koptconfig.lua
	koptreader.lua
12 years ago
chrox ddb46eeb41 merge justification and full justification to one option
Conflicts:

	koptconfig.lua
	koptreader.lua
12 years ago
chrox 5294d178a0 add justification option in koptconfig dialog
Conflicts:

	koptconfig.lua
	koptreader.lua
12 years ago
chrox ad4deb26be add page margin and text wrap and contrast option in koptconfig
Conflicts:

	koptconfig.lua
	koptreader.lua
12 years ago
chrox ce0b3acd6b add config dialog for koptreader
For now only line spaceing and word spaceing are configurable with
'F'/'Aa' commands. And device size are passed to k2pdfopt in place of
the hard-coded default width and height(via @dpavlin).
Conflicts:

	koptreader.lua
12 years ago
chrox ae950ccf32 feedback zoom value used by page reflow
So that when zoom value exceed the upper limit of reflowable page size
user will notice that zoom value cannot be increased.
Conflicts:

	koptreader.lua
12 years ago
chrox 441d061664 add DJVU reflow
Conflicts:

	djvu.c
	koptreader.lua
	reader.lua
12 years ago
HW b012f1b037 changed page number reading
this is far from complete since in fact, we read page references
which follow a more complex syntax. while specifying page numbers
is one option for them, they might also specify page names. we
currently do not yet have code for this case and we will return
"-1" for all page references we can not parse.
12 years ago
Tigran Aivazian 0d740d2b3b Optimize DjVu drawPage() function
We only need to fill the image buffer with white colour if DjVu page
rendering function did not fill it in with page data.
12 years ago
Tigran Aivazian 604f635c46 Cleanup of getUsedBBox() function.
The function getUsedBBox() does not need to perform any operations on
the DjvuPage structure, so there is no need to obtain it from Lua.
12 years ago
Tigran Aivazian 5fd9aac780 Display DjVu info in the status line.
The DjVu info shown in the status line includes:
1. Physical page dimensions.
2. Current value of gamma and (in square brackets) the value of the
display for which the page was designed.
3. Page resolution (in dpi).
4. Page type.
For the end-user probably the most useful bit is the page type as it
helps him decide which rendering mode to choose for this page (and also
explains why he can't see anything on the page --- e.g. when rendering
some COMPOUND or PHOTO pages in B&W mode). For the developer the
physical page dimensions are also interesting as they allow to estimate
the amount of time needed for page decoding and cache efficiency.

Conflicts:

	djvureader.lua
12 years ago
Tigran Aivazian e3d02cd578 First stage of improving the DjVu status info.
Conflicts:

	djvureader.lua
12 years ago
Tigran Aivazian cae259e0cb Cleanup of djvu.c
1. Use the proper <string.h> header.
2. Typo fixes and whitespace changes.
3. Comment out debug printf() about cache size.
4. Remove obsolete comment(s).

Conflicts:

	djvu.c
12 years ago
Tigran Aivazian 97f59ed07c 1. It is customary to call DjVu context by the name of the program.
2. When changing DjVu page rendering mode there is no need to clear DjVu cache, only our own tile cache.

Conflicts:

	djvureader.lua
12 years ago
Tigran Aivazian bbbd64d96e Comment out the setting of dithering bits because djvulibre ignores anything less than 8 bits anyway. 12 years ago
Tigran Aivazian b761418236 Small optimization in djvu.c:drawPage() --- there is no need to create and destroy
djvu pixel format on each redraw of the page as this can be done once on open and close
of the document. Also, set dither bits to 4 to help djvulibre choose the most
optimal dithering algorithm for the Kindle. Also, make coding style of "if(" -> "if ("
consistent (both instances were used, but "if (" was more frequent).

Conflicts:

	djvu.c
12 years ago
Tigran Aivazian 7f6d3097a2 Remove the local variable render_mode from drawPage() (although it would be optimized away by gcc anyway). 12 years ago
Tigran Aivazian 0d23340738 Move render_mode support out of unireader.lua into djvureader.lua as it is djvu-specific.
Also added support for all other rendering modes handled by djvulibre.
Also made the message print a human-readable description of the mode rather than just the number.

Conflicts:

	djvureader.lua
	unireader.lua
12 years ago
Tigran Aivazian 144f5c637a DjVu enhancements:
a) add support for switching the rendering mode between B&W (default, 1) and COLOUR (0) values.
b) handle the gamma values correctly.

Conflicts:

	unireader.lua
12 years ago
Kefu Chai 8ce1aef0af remove dependency on <linux/input.h>
* and kill a warning
12 years ago
Qingping Hou 75ee86b2cb fix offset calculation in djvu.c
use 4th and 5th args in renderrect in drawPage method.
12 years ago
Qingping Hou eca9ec4877 fix TOC entry page number counting, it was one page ahead.
close #137
12 years ago
HW ec905a5a13 fixed various bugs in pointer handling 12 years ago
Qingping Hou 9e4b2675f0 Merge branch 'master' into epub
Conflicts:
	unireader.lua
12 years ago
Dobrica Pavlinusic d34ccb92e6 make cache_size optional 12 years ago
Dobrica Pavlinusic 5b1deedd86 remove setCacheSize set cache in openDocument 12 years ago
Qingping Hou 42c9773711 add: cache size control for djvureader 12 years ago
Dobrica Pavlinusic 60b7ccb3cb added cleanCache bound to C key in menu #80 12 years ago
Dobrica Pavlinusic 91bd1277d7 control renderer memory usage #80
added setCacheSize and cache_document_size configuration vairable
12 years ago
Dobrica Pavlinusic 92ec4213c0 show djvu cache size #80
Currently it shows cache_max_memsize and cache_item_max_pixels from
lua and djvu cache size on menu key
12 years ago
Qingping Hou ad9d13a947 mod: rename TOC to Toc, adapt showMenu to CREReader 12 years ago
Qingping Hou 7c81f60a58 rewrite highlight again :( finished the cursor part 12 years ago
Qingping Hou a185f238eb mod: rewrite highlight feature 12 years ago
Qingping Hou f4ea1cdb62 Merge branch 'master' of github.com:hwhw/kindlepdfviewer into djvu-highlight
Conflicts:
	blitbuffer.c
	unireader.lua
12 years ago
HW 87ec4bbf6b factored pages counter out of document struct 12 years ago
HW 8869c52c31 fix a Lua 5.0 syntax that was deprecated in 5.1
luaL_reg is now renamed to luaL_Reg. Lua 5.2 does not know about
the old name anymore, Lua 5.1.x had backward compatibility.
12 years ago
HW 9ee7afa86d separate DC out of pdf.c and djvu.c (cleanup) 12 years ago