* Bring QPixmap* back to make Albert happy ;)
* Store only one QPixmap per page/size and rotate it directly
* Rotate ObjectRects (boundary)
* Rotate Annotations (point coordinates)
* Don't reload pixmaps, ObjectRects and annotations on rotation
svn path=/trunk/playground/graphics/okular/; revision=606371
* putting it in an own view mode
* associating the selection to every page
* using a better algorithm to calculate the selection, even in a page range
* moving its drawing from the page view to the page painter, so it's possibile to draw it just like it's done with eg annotations
Other changes (more or less related):
* moved the annotation popup to a better place, so it won't interfere with annotation drawing
* commented some debug code in TextPage
svn path=/trunk/playground/graphics/okular/; revision=588795
Fix bug 133507 that prevented the correct restoring of the document viewport on session restore for remote documents
svn path=/trunk/playground/graphics/okular/; revision=584932
PagePainter:
Updated drawShape with RasterOperation (Normal, Multiply) for getting
Highlight annotation types to work. All Highlight annotations are now
drew using the Multiply raster operation.
Painter_AGG2:
Replaced the agg_pixfmt_rgba.h pixformat definition template with an
internal version that implements different raster operations too. The
new version has been shrinked to the minimum, containing the only code
needed by kpdf AGG2 rendering engine to work.
Thanks for Rob Buis for telling me the way to go and providing sample code
with his AGG2 algorithms.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=405338
Part from the *very C00L* AGG2 library (www.antigrain.com) are imported
from the agg23 source package. The imported files provides antialiased
rendering on bgra32 qimage memory buffers.
See "kpdf/ui/painter_agg2/README.kpdf" for more info.
PagePainter:
Replaced my dear crappy scanline renderer (well, was the fastest btw :-)
with agg2 based rendering code.
Implemented HighlightAnnotation (HL, Underline, Strikeout and Squiggly)
and InkAnnotation (simple one) rendering.
Need a multiply-blending template algo for getting highlights to look
as highlighs (not solid or transparent, like now).
Makefile.am(s):
Updated to build the new library, set include paths and link it.
Here we go.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=405150
implement here.. but that looks so nice. (note: too juicy to see now,
disabled some code before committing :-).
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=404560
drawn in page.
PagePainter:
Added 2 convenience function to change the alpha component of an image
and do it while colorizing the image in a single pass.
QPainter->drawPixmap unbuffered render for AText marks, AStamp pictures
and AGeom of type InscribedSquare.
Can't wait for Arthur's painter to do the full range of painting effects
with a very simple interface, faster than my dirty implementation and
over all: not crashing! (mine does! :-)
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=404088
typical usage).
PagePainter:
Added 2 convenience methods for performing fast cropping and scaling
from qpixmaps to qimages. Split buffered graphic flow from the unbuffered
one reducing buffers conversions to the minimum. Avoid odd cases in
rescaling. Detection of annotations boundaries to check for enabling
buffered painting.
Sample quick dirty and broken (but not so much..) implementation for
painting AStamp annotations.
Misc:
PresentationWidged and ThumbnailWidget: adapted to PagePainter changes.
(PageView mod has already been committed).
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400310
implement annotations now (and create the save/load procedure).
Annotations: converging to a stable Annotation definition. Changed a bit
the paint functions. Added a first 'template' annotation, a simple
pen-like segments recorder for framework testing purposes only. This
has events filters in place and the rough paint function implemented.
PageView: removed the MouseEdit mode and using that button for toggling
the editToolBox instead. Added Annotation support. When the Annotation
is created, all pageView events flow through that new object. Repaint
of damaged/old areas is done internally and is based on the geometry
of the annotation we're creating. When an Annotation is complete, it
is reparented to the Page that adds it to its internal list.
From that point on the annotation will be rendered by pagePainter
using the pixmap-based paint function provided by the annotation
itself.
PagePainter: draws annotations stored in pages when rendering (using the
'rought paint function' till the good pixmap based one will be in
place.
Page: added preliminary support for adding Annotation(s) to the page
and deleting them all.
Document: added the pass-through call to add an Annotation to the Page
and notify observers.
PageViewToolbox: can be draged and attached to any side. Position is
remembered between runs (choose your side and that the toolbox will
always be there). Available on Right and Bottom sides too. Emits -1
when the current tool is deselected.
Misc: added Annotations to both the 'observers changed flags' and the
'pagepainter' ones and updated ui classes accordingly.
svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=390638
Part). Implemented 'history (xpdf's LinkAction) links'. History depth is
100 steps by default (this is enough for sure, clicking 100 times on a
button is not an easy task :-).
Minor issues (removed half TODOs in code, all FIXMEs are already removed):
Invoke mailer on 'mailto:' links inst instead of konqueror.
Actions cleanup: disable actions like 'print', 'preview', 'save to..', etc
when there isn't an active document. Added history actions to the toolbar
in place of the 'prev_page' and 'next_page' ones. Fixed open+open_recent
action tooltip and behavior.
Move definition and implementation of PagePainter class to ui/pagepainter
from core/page.
Valgrinded and leakchecked (2 memory leaks spotted and fixed (missing
contents deletion in KPDFGeneratorThread and missing deletion of
PixmapRequests on cancel in Document::requestPixmaps())).
svn path=/trunk/kdegraphics/kpdf/; revision=382960