My ideas about GSOC Tiles project
boud at valdyas.org
Mon Mar 30 21:49:20 CEST 2009
On Friday 27 March 2009, Dmitry Kazakov wrote:
> We keep mipmapped both KisImage->d->m_projection and KisPaintLayers. Why
> could it be useful? It's useful for preview of operations that need whole
> image to process (e.g. for filters). When a filter window shows, it sets
> current zoom-level for KisImage->d->m_projection to something like 50%, and
> merging is done at this level.
> I think this case is better as it's more flexible. But it takes much power
> to keep image-trees for all the layers and it brakes the paradigm of
> encapsulation. I think we should experiment with this.
> An issue with "m_projection requests _changed_ tiles" could be done with
> tile-versioning. Every tile could have a revision that was used by KisImage
> to keep the projection up-to-date. But it's quite difficult to implement
> and we have to think over it properly.
Hm... Yes, that sounds pretty complicated.
> Another question is, where should we colour correct? It should be done
> after layers merged, obviously. In KisImage->d->m_projection, i guess.
Well, the final projection is converted to the right colorspace with the right
display profile in one of the toQImage methods -- it's the very last step.
> Hm.. then it's not a qt's invention:) I thought enums are something like a
> general practice in programming =)
> They used everywhere in linux-kernel.
Yes, I know :-) But using them instead of bools is something of a departure
for Qt's api, and now for ours.
> I think it's not the worst problem. By the way where this paint device
> moving used?
Whenever you move a layer using the move tool.
> The worst problems are hiding in border-effects, i guess. E.g.
> filter-layers, that use convolution. We can't apply them to the part of the
> image (or it is too complicated).
Well, we can, given the right border strategy. There is a small class of
filters that do need the entire layer, like small tiles or wavelet.
> By the way, do our "blending modes" for KisPaintLayers use something like
> So to say, can two KisPaintLayers be merged tile by tile?
Yes, provided the origin is the same.
Boudewijn Rempt | http://www.valdyas.org
More information about the kimageshop