[Need immediate help for GSoC project] Implementing FreeText annotation

Dileep Sankhla sankhla.dileep96 at gmail.com
Sun Mar 18 18:42:33 UTC 2018


Hello,

I have some doubts to clear so that I can begin writing my pending GSoC
proposal parts as soon as possible. Please help me.

1.  The existing FreeText annotation in a pdf file can be moved and edited
in Okular. Is this partial support of FreeText because of the poppler-qt5
library extends the core poppler? The core poppler implements a SubType
enum with FreeText in Annot.h whereas not in poppler-qt5.

2. How does the poppler-qt5 library extend the core poppler? By including
the header files from the core poppler?

3. If the FreeText annotation needs to be implemented in poppler-qt5 then
should all the code go inside the poppler-qt5's source instead of the core
poppler one?
This means a new class called "poppler::FreeTextAnnotation" should be added
and implemented in "poppler-annotation.cc"? This means one should avoid
using the exisitng partial support for FreeText in core poppler and write
the new one as the existing also have some bugs? If writing the new code,
will it collide with the code from the core poppler? Need a basic idea.

4. A very genuine question, how does an annotation class is implemented in
poppler? This mean does all the code regarding editing, moving, resizing,
deleting, transparency of background, text color of the FreeText annotation
should go in poppler codebase? If so, then how does Okular use these
annotations and what basically goes in various annotation source files in
Okular codebase? Need a basic idea.

5. Regarding the GUI, is it wise to implement a Popup toolbox whenever the
FreeText annotation is used and the popup toolbox should have options of
text size, color, and font? Or should all these font settings should only
be in Settings -> Configure Okular -> Annotations?

6. Should unit tests be written when this annotation is implemented?

Thanks and Regards

Dileep Sankhla


‌
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/okular-devel/attachments/20180319/90ed243f/attachment.html>


More information about the Okular-devel mailing list