PixmapRequest class. When requesting pixmaps, one or multiple requests are
sent to the Document that (frees memory as in current policy) and send each
PixmapRequest to the current Generator. Added a signal in generators to
notify the Document when a pixmap generation has finished.
PageView, ThumbnailsList, PreviewWidget have been unbroken after the memory
management commit. (mem management seems in pretty good shape..it's smart.)
Added 'visible widgets' list to those classes to speed up searching and
processing on visible widgets only.
Note: asyncronous pixmap requests can now be queued and we're getting very
close to the threaded generator.
Note2: Leakfixes and memory improvements.
Final NOTE: head merging is possible now, as all remaining work can be
considered bugfixes.. API is getting final. It will only change in xpdf
dep stuff, the already undefined Viewport object and some bits in
Generators.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=372787
not on screen starting from the oldest generated one. Rules (aka memory
profiles) are simple by now, but they work as expected.
Plus: added functions for getting Linux total memory and free memory by
querying the /proc filesystem. Generator creation by mimetype. -Fixes.
BROKEN: thumbnail, presentation (need to reimpl a virtual method)
TODO1: notify generators when cancelling jobs.
TODO2: add forward caching.
TODO3: rationalize code, clean it up and update README.png
TODO4: periodically check for free memory and unload pixmaps if needed.
TODO5: wisely choose default values for memory profiles.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=372514
feels better. Updated TODO with interesting things.
Note: I feel performance loss. Need to check carefully all zoom functions,
relayouts and wasted paints. I'll love to do that after merging to HEAD.
Note to all: HEAD merge only after API will be final (the only 2 variables
are MemManager, ThreadedGen and maybe a DocumentDom (if I can make it next
weekend, but I think not)).
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=370404
Abstracted xpdf's Outline to a Dom Tree. Fixed MERGE tags through the code.
Added comments (documentation) to KPDFDocument class and other classes in
document.h. Changed a little Generator interface.
Moved code from toc.h/.cpp to GeneratorPDF and shrinked a lot.
TODO (now): Convert TOC (widget) to use the Dom tree as data source.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=369914
GeneratorPDF class. Adapted the whole KPDFLink class to a hieracy of
classes and added a Viewport description associated to 'Goto' links.
Link hasn't got geometry properties. A PageRect class has born to describe
all 'active rects' on a page (hand pointed on mouse over). PageRect can
contain many type of objects such as Links or other active items (images,
...). The Page class now stores PageRects only (no more geometric Links,
as already said).
Added a DocumentInfo class filled in by generators and used by the
PropertiesDialog.
Outline hasn't been abstracted while now, but a DocumentSynopsis class
is in place and work needs to be done to make GeneratorPDF fill in a
DocumentSynopsis instance and pass it to the Toc widget.
Note1: Document has nothing more to do with xpdf, it only commands its
generator.
Note2: 2 remaining classes to be abstracted: Outline, TextPage. But
waning..
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=369651
Enrico, i've added it in the menu, do you prefer it to be in the configuration dialog?
CCMAIL: rosenric@dei.unipd.it
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=367732
Added 'continous zooming' using mid mouse button. Clipped selections to
viewport. Fixed a bad rounded float-to-int conversion (gives more pixel
precision in zooming).
CCMAIL: burellil@dei.unipd.it
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=363468
Minor:update outline too when pixmapChanged(). d->pages moved to d->items
and iterators updated accordingly.
headMergeBlocks--;
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=360557
selection) in favour of a new common selection code that uses internal
compositing engine.
o Added 'copy GFX' (in addition to the already existant 'copy text') with
a popup that asks user wether to copy to clipboard or save the image to
a file. (note: maybe a merge between selection tools (text/gfx) is
possible).
o The Zoom Tool is now a mouse mode, not a zoom mode.
o Tuned PageViewMessage class and added tips somewhere.
o Reorganized some actions and cleanup in mouse mode related code.
o Updated plans (roadmap to HEAD and new things) in TODO.
o And.. well, de don't deal with gardening anymore :-) Thanks Michael!
CCMAIL: brade@kde.org
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=360144
real PITA. Tons of unneeded repaints are casted everywhere, even when
hiding or covering widgets.
Here we fix a big-bad-bug that repainted all the already viewed pages on
a zoom operation. That means that if zooming on a page after viewing 150
pages, then *at least* 150 pages got repainted :-(.
Tried to disable clipper(), but got weird results.
2) Adding devel only debug code to check for a possible bug Aaron told me,
but I actually wasn't unable to reproduce.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=357273
'in progress' part (actually nothing of 'in progress' thing is really
in progress, but maybe in future... :-P)
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=352913
stored as KPDFLink inside KPDFPage(s) :-). What we have now: links are
detected when hovering them on a page eve in multiple-pages-per-view mode.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=351190
page, hiding others and redefining contents area. Bookmark action moved to
document, that updates observers state after each operation. Many fixes in
pageview. Pixmapwidget returns a const KPDFPage*. No scroll-on-drag and
go-to-page only with left click onThumbnailList. Starting to reorganize
PageView events (link test with cursor changing on page sample impl.).
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=350583
current page. Also displays the real zoom percentage for current page on
ZoomFit{Width,Page,Text}.
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=350578
fully functional now. Better and faster graphics in PageView and
ThumbnailList. I need the memory manager now.. mmm..
svn path=/branches/kpdf_experiments/kdegraphics/kpdf/; revision=349849