Update on autolayers merge

Boudewijn Rempt boud at valdyas.org
Wed Jan 19 09:51:23 CET 2005


We made less progress than I'd hoped; the following points from the autolayer 
merge are still open (note that these are the things that _I_ didn't know how 
tofix during the merge):


KisTiledDataManager:

* implement paste, clear (which is in effect a fast rect fill with a color),
* implement readBytes & writeBytes (I already put some commented-out code in; 
this is because I don't want to do a loop using memcpy in KisPaintDevice, and 
we often need a big blob of bytes.
* Fix the disquieting note in getTile()

kis_iterators:

* Add an iterator that traverses the image returning pointer to individual 
tiles so we can, e.g., convert image data in bigger chunks than one pixel. 

(New:) * fix KisRectIterator (for those who need fast, undoable access to 
pixels and don't care about order or neighbouring pixels)

./ui/kis_previewwidget.cc:

* Fix or decide something about the clampDelta method.

./core/kis_doc.cc

* Check layerAdd: here were only the creation and the destruction of 
fillpainter left in the code, without any action in between. What was the 
intention?

./core/kis_tile_command.cc

* Check third constructor
* The mediated access to datamanager things is a bit icky
* re-implement redo.
(new:) * check what happens if two threads are active, bothing doing undoable 
stuff.

./core/kis_fill_painter.cc

* Fix fillRect by implementing clear.


./core/kis_paint_device.cc

* Remove transform code that's now ifdeffed out, use Michael's visitors.
* Same with mirror functions
* Fix convertTo to use the pointer-to-largest chunk-of-bytes-we-can-get 
that we still need to create.
* Fix _all_ the iterator factory methods. (I couldn't get them to merge
cleanly.)

./core/kis_iterators.cc

* ??? I don't know what this bit does or should do.

./core/kis_selection.cc

* Fix invert by using proper iterators instead of the deprecated iterators
I used before.

./core/kis_rotate_visitor.cc

* Fix rotating, shearing and cropping (Note: remove the QMatrix-based 
rotate/transform & crop code in KisImage/KisPaintDevice when done.)

./core/kis_histogram.cc

* Fix area that's computed to use layer extends.

./core/kis_gradient_painter.cc

* Fix painting of gradients.

./core/kis_filter.cc

* Refreshing the preview only refreshes one pixel?
* Filtering filters only one fixel?

./core/kis_selection_manager.cc

* What do we select when we selectAll a layer?
* Fix the invert method; it now inverts a simple 0,0,100,100 rect...

./core/kis_scale_visitor.cc

Completely fix the scaling code

./core/builder/kis_image_magick_converter.cc

* Completely fix file import (quick fix now; much of the import code
should be moved to the colour strategies other we'll never be able to
import cmyk tiffs)

./tools/kis_tool_freehand.cc

* Fix the bitBlt in endPainter by using a dirtyRect -- perhaps from 
KisPainter? Also, the bit of code after that, up to and including the comment 
about delete m_target worries me.

./paintops/kis_filterop.cc

* This needs to be fixed completely.

./paintops/kis_duplicateop.cc

* This needs to be fixed completely.

./plugins/imagesize/imagesize.cc

* Should we crop layers when the image is made smaller and the layers fall 
outside of the image? What does Photoshop do? (And now I think of it -- 
should we somehow show parts of a layer outside the image, maybe with 10% 
opacity?)

./core/visitors/kis_merge.h

* Fix visit() -- w, h are always set to 100

./core/kis_iterators.h

* Fix oldQuantumValue

./core/kis_paint_device.h

* Fix clip() and setClip()


Closed are:

* Got an extent() method to get the extent of a layer.

* Get width/height of layer for filters --> the filters will use 
convertTo/FromQImage (which makes them colour model independent).

* Casper will write some code according to the decisions reached in the easy 
layer access for rgb8 filter thread.

* Fix floodfill again (note: it still crashes now & then, and the pattern fill 
is still broken -> fix by floodfilling a selection, fill selection extent 
with pattern, apply selection, bitBlt filled area?).

-- 
Boudewijn Rempt 
http://www.valdyas.org/fading/index.cgi



More information about the kimageshop mailing list