Mercurial > hg > svgui
diff layer/Colour3DPlotRenderer.h @ 1121:d930ff725f64 spectrogram-minor-refactor
Wiring through the magnitude range updates
author | Chris Cannam |
---|---|
date | Fri, 22 Jul 2016 12:17:55 +0100 |
parents | be5b91ec81a0 |
children | 94370157b265 |
line wrap: on
line diff
--- a/layer/Colour3DPlotRenderer.h Wed Jul 20 13:40:23 2016 +0100 +++ b/layer/Colour3DPlotRenderer.h Fri Jul 22 12:17:55 2016 +0100 @@ -163,7 +163,7 @@ * * Returns an empty QRect if the cache is entirely valid. */ - QRect getLargestUncachedRect(); + QRect getLargestUncachedRect(const LayerGeometryProvider *v); /** * Return true if the rendering will be opaque. This may be used @@ -184,6 +184,12 @@ // member is to avoid reallocation. QImage m_drawBuffer; + // A temporary store of magnitude ranges per-column, used when + // rendering to the draw buffer. This always has the same length + // as the width of the draw buffer, and the x coordinates of the + // two containers are equivalent. + std::vector<MagnitudeRange> m_magRanges; + // The image cache is our persistent record of the visible // area. It is always the same size as the view (i.e. the paint // size reported by the LayerGeometryProvider) and is scrolled and @@ -205,8 +211,8 @@ RenderResult render(const LayerGeometryProvider *v, QPainter &paint, QRect rect, bool timeConstrained); - void renderDirectTranslucent(const LayerGeometryProvider *v, - QPainter &paint, QRect rect); + MagnitudeRange renderDirectTranslucent(const LayerGeometryProvider *v, + QPainter &paint, QRect rect); void renderToCachePixelResolution(const LayerGeometryProvider *v, int x0, int repaintWidth, bool rightToLeft,