[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: Review Request: Refactoring for KisPrescaledProjection
From:       "Dmitry Kazakov" <dimula73 () gmail ! com>
Date:       2009-07-29 20:46:37
Message-ID: 20090729204637.3838.47044 () localhost
[Download RAW message or body]



> On 2009-07-29 20:16:28, Casper Boemann wrote:
> > I don't enough energy to look at your code really thoroughly. I'm sorry, but I \
> > don't think i can approve, because the special logic you have removed ensured \
> > that the subpixel positioning of the scaling coded worked. 
> > Unless you can convince me that you have completely understood that and have \
> > somehow worked around that problem I don't think this should go in. 
> > but again I've only had time to look at it loosely, so please convince me \
> > otherwise
> 
> Dmitry Kazakov wrote:
> Subpixel positioning. Do you mean the one was used after Blitz::smoothScale(..)? \
> This positioning is done in a special function - drawWithRoundingCorrection(...). \
> I'm gonna use this function with the pyramid, so nothing is changed here, just made \
> in a separate function. 
> Alignment to KisImage's pixels hasn't changed much either, it's done through \
> QRect(imageRectFromViewPortPixels()) --> viewRectFromImagePixels() chain. The only \
> change here (not sure this is a change, it was so before, i guess) - result \
> viewRect can be slightly bigger than the canvas due to alignment. But QPainter \
> works it over very well. More than that, such behavior was present before this \
> patch and it worked quite well. 
> The thing that was really removed is "useNearestNeighbour" option. I geuss, it's \
> quite deprecated, but i'm gonna implement it somehow later. 
> Casper Boemann wrote:
> Hmm Ok as far as I'm concerned you have proved to be on top of it. I still havn't \
> read you commit exactly, so I can't really say go, but I have no objections anymore

2all:

Maybe someone knows some special testcases of subpixel positioning?

I have tested it much: with different documentOffset's and large scales. Painting \
works.


- Dmitry


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/1156/#review1844
-----------------------------------------------------------


On 2009-07-29 11:44:40, Dmitry Kazakov wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/1156/
> -----------------------------------------------------------
> 
> (Updated 2009-07-29 11:44:40)
> 
> 
> Review request for KOffice.
> 
> 
> Summary
> -------
> 
> Makes prescaled projection code simplier and clearer. It also removes weird [1], \
> simply unused [2] and previously unused code with bugs [3]. 
> Most significant changes:
> 1) imageRectFromViewPortPixels and viewRectFromImagePixels now just convert rects' \
> coords, without respect to canvas size (they still do respect image size).  2) They \
> both made _private_ so this change won't brake anything outside 3) Broke the link \
> from KisCanvas2 to KisPrescaledProjection::viewRectFromImagePixels. It was quite \
> bad idea to use internal conversion function from outside. Reasons: a) they are \
> internal b) vRect can be changed (expanded) by prescaled projection during update \
> (mipmap case) c) viewRectFromImagePixels was called twice: from KisCanvas2 first \
> and then from KisPrescaledProjection::updateCanvasProjection again 4) now it's \
> easier to maintain 
> 
> [1] kis_pescaled_projection.cc:412-431
> [2] kis_pescaled_projection.cc:396-403
> [3] kis_pescaled_projection.cc:532
> 
> 
> Diffs
> -----
> 
> trunk/koffice/krita/ui/CMakeLists.txt 1000698 
> trunk/koffice/krita/ui/canvas/kis_canvas2.cpp 1000698 
> trunk/koffice/krita/ui/canvas/kis_prescaled_projection.h 1000698 
> trunk/koffice/krita/ui/canvas/kis_prescaled_projection.cpp 1000698 
> trunk/koffice/krita/ui/tests/kis_prescaled_projection_test.cpp 1000698 
> 
> Diff: http://reviewboard.kde.org/r/1156/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