[prev in list] [next in list] [prev in thread] [next in thread]
List: koffice-devel
Subject: Re: Review Request: Fixed bugs in thumbnail creation mechanism
From: "Dmitry Kazakov" <dimula73 () gmail ! com>
Date: 2009-07-12 7:36:10
Message-ID: 20090712073610.8637.56188 () localhost
[Download RAW message or body]
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/990/
-----------------------------------------------------------
(Updated 2009-07-12 07:36:09.377744)
Review request for KOffice.
Changes
-------
Reverted back KisPaintDevice::createThumbnailDevice to use extents() instead of \
exactBounds().
So, by this moment, this patch has two changes:
1) Filters are applied to thumbnails over exactBounds() rect instead of (100,100), \
that makes all thumbs look alike. ('Invert' filter case) 2) Fixed overflow in \
exactBounds.
PS:
Btw, why there is such a strange interface to KisFilter::process(), i mean topLeft() \
point of filter application is stored in KisProcessInformation but size() of the rect \
is being given directly to the process() function? Why not just store processRect in \
processInformation fully?
Summary
-------
There is a bug in thumbnails in filters dialog. If you open it and look at 'Invert' \
thumbnail thoroughly, you'll see that it's thumb is quite higher than others. That is \
so because filters applied to thumbs inside constant rect (100,100) [1]. 'Invert' \
filter inverts defaultPixel and after that KisPaintDevice::exactBounds won't work \
well, because there is no more defaultPixel in thumbnail. This bug is fixed in this \
patch.
Alongside with this bug, there is a bug in KisPaintDevice::exactBounds. In cycles of \
calculating right and bottom bounds, iterator reads one column/row more than needed \
every time(!) [2]. This bug is not seen much in old tile engine, as reading of \
unallocated areas was not causing any changes in internals of engine. But in new one \
extent is extended by one tile to the right and bottom every time exactBounds() \
called. This is fixed too.
And the last chunk - fix in KisPaintDevice::createThumbnailDevice(). Thumbnail \
created only for actual image - not it's extent.
[1] ui/kis_filters_model.cc:170
[2] image/kis_paint_device.cc:251 and image/kis_paint_device.cc:287
Diffs (updated)
-----
trunk/koffice/krita/image/kis_paint_device.cc 995043
trunk/koffice/krita/ui/kis_filters_model.cc 995043
Diff: http://reviewboard.kde.org/r/990/diff
Testing
-------
Thanks,
Dmitry
_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic