oKular report
Piotr Szymański
niedakh at gmail.com
Thu Jul 21 12:48:13 CEST 2005
Hi,
A summary of what has been going in oKular in the last weeks.
1. 05 July 2005
The option to show the page tab in TOC with page number relevant to given
chapter is now not a compile time option but a hidden configuration option.
2. 06 July 2005
Understood how the core (API) of kpdf works. Added some introudction for new
developers, not really finished yet, but still useful because its much easier
to read this than to go through the code in part.cpp and ui stuff.
3. 15 July 2005
a.) Forwardport of important changes from head to annotation_branch and
oKular.
b.) Abstracted the text layer of the page. Earlier kpdf used the xpdf's
TextPage class. Added some changes to xpdf code, I was later asked to send
them to poppler by bradh, will do it once I have a while.
Added the search and getText functions for searching and getting text for
selection.
KPDFTextPage, the abstract class supports the situation when document provides
only textline information, or only per word information, but also support per
glyph and per char area definitions.
This is done in a KPDFTextEntity which uses a NormalizedRect since I believe
there can not be a situation where the Entity starts on this line and ends on
another.
c.) Added the RegularArea<NormalizedShape, Shape> template class, which takes
care of defining a finite sum of NormalizedShapes. NormalizedShape is a
version of Shape with coordinates in [0,1], where 0 and 1 are the bounds of
the scrollview.
Also this introduced one regression, some edges are drawn twice, fix is in
progress.
With b.) and c.) we support searching for sets of words on different
textlines/pages. KPDF didnt support that. Ex. "hello world" will be found
even if they are on different lines/pages, ie. when hello is the last word on
page 1 and world is the first one on page 2.
d.) Finished making the generators as loadable modules.
e.) Backported from kviewshell: handling of compressed files.
4. 21 July 2005
a.) added support for changing rotation of the document by the user, does not
yet work in pdf generator, will investigate why, seems to be done properly
though.
b.) reorganised generators into one generator dir which holds plugins.
5. Since 15 July 2005 - working on ghostview backend. First wanted to do this
based on kghostview, but decided finally to use libgs, the ghostscript
library. Unfortunately its API is very badly documented, I am losing all my
motivation and have completely no joy of developing this. I have some code
already done, I do hope it works.
I thought deliverables 1 and 2 were met. Well Wlfired Huss pointed to me that
we also need support for:
- generators adding menu items, catching mouse/keyboard events, adding rmb
stuff
This is in progress.
- errors/warnings generation
This will be done along the ghostview backend.
- adding printing configuration options
Damn i have no idea how to do this. we are passing a configured KPrinter
reference to the print function which takes care of printing inside the
generator. No real idea on this now :(
--
Piotr Szymański
niedakh at gmail.com
CS student at Faculty of Fundamental Problems of Technology,
Wroclaw University of technology, Poland
More information about the Kde-soc
mailing list