Krita as a shape
The main effort for KOffice 2.0 is the flake library -- an attempt to integrate the various parts of KOffice as tightly as possible. Some time ago I managed to make Krita a flake shape provider, that is, create a shape that embeds a Krita image. You can't do much with it except load an image, display it, rotate, stretch & shear it. The next part will be much more interesting: choosing which Krita tools to provide to other applications, so it will be possible to paint or filter the Krita image shape right inside, say, Karbon.
At the same time, Emanuele Tampioni, who started hacking on Krita with last year's Summer of Code, has begun working on making shapes show up in Krita. This is a much more complex proposition: in the rest of KOffice all painting is done through Qt. Every shape gets handed a QPainter object and paints itself. But in Krita, we have this stack of layers that get composited using special code. Qt cannot do that for us, because Qt only knows 8 bit rgb and only a subset of all possible composition operations. So, we have to find a way to make it possible for shapes to paint themselves on Krita layers.
That will make it possible to mix shape layers and paint layers (together with group layers, adjustment layers and who knows what else), which is pretty cool and will make working with text and vector art inside Krita really easy to understand. The main thing we need for that is to reimplement QPaintEngine so it can work on a KisPaintDevice.
/hacking/krita | permanent link | |