<br><br><div class="gmail_quote">On Fri, Dec 4, 2009 at 2:21 AM, <a href="mailto:LukasT.dev@gmail.com">LukasT.dev@gmail.com</a> <span dir="ltr"><<a href="mailto:lukast.dev@gmail.com">lukast.dev@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br>
<br>
I commited fix for the outline of the selection by outline tool and I wanted to<br>
ask what we will do with the buffer I added to QPainter canvas? Should I still<br>
produce two versions code? One for the canvas with buffer compiled and one<br>
without? I added black background to the dotted line as second version btw.<br>
<br>
When I added the QImage as another buffer there were some things about the<br>
speed. So do we plan to leave the buffer or remove? Or merge somehow with<br>
projection? But how? QImage in QPainter canvas = projection image + gray<br>
borders => RasterOp_XOR works for tools<br>
<br>
The QImage is used so that every platform uses RasterOp for the canvas so that<br>
we get RasterOp_XOR working and having visible tool outlines.<br>
<br>
On the other hand it may be slowing down the performance because of another<br>
buffer. I did not notice any difference but I don't know how to measure it.<br>
<br>
So what? Remove the ifdef and use INFINITE or produce two versions? That means<br>
support 3 canvas types = OpenGL and QPainter with and without RasterOp_XOR.<br>
<br>
?<br></blockquote><div><br>I think we should merge them somehow.<br><br>What we have at the moment (in update order):<br><br>image->rootLayer()->projection() - stores image without any borders and decorations (using tiles)<br>
view->prescaledProjection()::d->projectionBackend - stores unscaled original (either tiles or QImage - config-dependent)<br><br>view->prescaledProjection()->prescaledQImage() - i'm not sure what stuff is painted in this image. It stores scaled-down image, shifted according to view state. As far as i know it doesn't have any selections, flakes(?) inside - they are painted in canvas->drawDecorations().<br>
<br><-- here we want to have another copy of it with prepainted decorations<br><br>After this we paint an outcome onto the window.<br><br><br></div></div>Lukas, is there any way to draw decorations on some transparent "layer" (QImage) and then just paint this at the top of the base image?<br>
<br>Btw, i still don't fully understand what is "INFINITE" =) I haven't found such a name in QPainterCanvas. It is the feature that i can paint outside actual image, isn't it?<br><br clear="all"><br>
-- <br>Dmitry Kazakov<br>