[Qgis-developer] Incremental rendering update

Martin Dobias wonder.sk at gmail.com
Wed Oct 24 07:48:02 EDT 2007


Hi Marco,

sorry for the delayed answer :)

On 10/19/07, Hugentobler  Marco <marco.hugentobler at karto.baug.ethz.ch> wrote:
>
> But does QPixmap already provide antialiasing on X11? Because until now, I preferred QImage because of the nice antialiasing.

AFAIK it supports antialiasing, however drawing to QPixmap with
antialiasing was much slower than antialiasing with QImage.


> >As you write "repainRequested signal is still emitted when the layer
> >thinks it should be re-rendered" - I think that's the problem - when
> >that signal is used to signal both need to re-render and to signal
> >need to just update the image in canvas... do I make sense?
>
> Ah, I see what you mean. Afaik at the moment, only the need for a screen update is signaled with 'repaintRequested'. Maybe we need a different name for the signal, like 'screenUpdateRequested'. The need to re-rendering would occure if something in the layer has changed, e.g. an editing action or maybe a symbology change, right?

Yes, that was my point.

> At the moment, the dialogs trigger a complete canvas re-rendering in these cases. Do you think it would be good to have a dedicated signal for this and to trigger the update from within the maplayer?

I would prefer to put such signal to the rendering context class, it
would be a bit cleaner.


> >I think that would be really bad to use a member like
> >"mDrawingIsCancelled" again. What sounds more reasonable to me is to
> >create a class called e.g. QgsRenderContext which will contain all
> >information about rendering that we now pass to draw() functions as
> >arguments. Moreover it could get also the information about whether
> >the drawing should continue. QgsMapRender or QgsMapCanvas would store
> >reference to this context, so they could modify the context to tell
> >the layers to stop rendering. How does it sound to you?
>
> And a reference to the rendering context would be passed to the draw() methods of maplayers? Sounds good to me at first glance.

Yes, that's my idea.


Martin



More information about the Qgis-developer mailing list