All to Pixmap server

Jaroslaw Staniek staniek at kde.org
Thu Dec 29 16:48:10 GMT 2011


On 29 December 2011 17:30, Alex Fiestas <afiestas at kde.org> wrote:
> Hi there
>
> For those who don't know me my name is Alex Fiestas (afiestas), I have been
> KDE developer for 2/3 years and so far I have work on BlueDevil (Bluetooth),
> Kamoso (video), libsolid and I'm currently the manager of the Solid
> community.
>
> I have been asked to develop a small server which will convert the most
> popular documents into pixmaps so they can be rendered quickly anywhere, I'm
> going to start the basic structure today but before I start with the
> document processing I'd like to ask you for advice :p
>
> This is more or less what I know and what I have thought:
>
> Requirements:
> The server must be as fast as possible and reliable, so we must be prepare
> to handle crashes. The resulted document should be something standard such
> PNG or JPG.
>
> Faster way I saw:
> I have done some PoC using calligraconverter as base, the faster way I found
> without messing too much with Calligra internals is to use the private
> classes from each Calligra app to get the QWidget that will end rendering
> the page or the document, and then use QWidget::render to paint everything
> into a QPixmap.
>
> I know that with this method I'm messing with internal parts of Calligra on
> where API or ABI is not guaranteed but if there is no other way of doing
> this that's a price I'm ok to pay.
>
> Finally, since I'm using private classes from each app, I'm going to use a
> plug-in system.
>
> Problems:
> Since I'm using private API which is not exported I'm forced to clone the
> whole project, so atm what I'm going to do is to put the code into
> tools/atopixmap and split the project into:
>
> atopixmap: binary which will transform * to pixmap
> atopixmapserver: small server that will fork for each request and will
> handle crashes, limits etc
>
> Once the project is finished, I'd like to merge it back to calligra but that
> depends on you, not sure what is the policy on using private api.

Nice project :)
If you plan to contribute back, the target would be the KoAbstraction library:

http://community.kde.org/Calligra/Libs/KoAbstraction

-- 
regards / pozdrawiam, Jaroslaw Staniek
 http://www.linkedin.com/in/jstaniek
 Kexi & Calligra (kexi-project.org, identi.ca/kexi, calligra-suite.org)
 KDE Software Development Platform on MS Windows (windows.kde.org)



More information about the calligra-devel mailing list