[Okular-devel] Review Request 114153: An Idea: Render PDF annotations internally while they are being moved

Jon Mease jon.mease at gmail.com
Mon Dec 30 12:53:40 UTC 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/114153/
-----------------------------------------------------------

(Updated Dec. 30, 2013, 12:53 p.m.)


Review request for Okular.


Changes
-------

Added a status update to the description.


Repository: okular


Description (updated)
-------

Update: The plan now is to only perform the internal rendering described below for Line, Ink, and Geometric annotations.  As I've worked with the internal rendering for these annotation types I've found several small bugs in the internal annotation rendering code that cause visual differences between Okular's rendering and Poppler's. My next steps are to open a series of bug reports and small review requests for these individual rendering bugs.  This review request can be considered to be on-hold until I've had time to document and fix these rendering bugs.


Unlike in other document formats, the annotations on PDF documents are rendered by the Poppler back-end along with the document itself.  Because this document rendering step is expensive we don't render annotations on PDF documents while the annotations are being moved (With Ctrl+Left click drag).  Instead of rendering the annotation itself during the move, we render a dashed outline of the annotation.  For non-PDF document types the annotations are rendered by Okular on top of the document, and so there is no large performance penalty in rendering the annotation smoothly as it is moved.  I find the aesthetic experience of moving annotations on non-PDF to be much more pleasing.

In this small patch updates the paintCroppedPageOnPainter() function draw external annotations using the internal annotation drawing logic while the annotation is being moved.  It also removes the dashed annotation outline during the move.  With this small change the experience of moving an annotation on a PDF now matches that of moving an annotation on the other document formats.

Two small oddities:  The rendering of the popup note icon differs between the Poppler back-end and Okular's internal rendering so the icon changes form while being moved and then changes back after being dropped.  The rendering of fonts on inline notes between the Poppler back-end and Okular's internal rendering seems to differ in some cases so as you move an inline note the font changes.

Thoughts?


Diffs
-----

  ui/pagepainter.cpp d5d9c3e 

Diff: https://git.reviewboard.kde.org/r/114153/diff/


Testing
-------

Tested drawing and moving each of the annotation types on a PDF document and on a DVI document. The behavior on the DVI document is unchanged. I find the behavior on the PDF document to be more natural.


Thanks,

Jon Mease

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/okular-devel/attachments/20131230/ab32fac1/attachment.html>


More information about the Okular-devel mailing list