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