Mercurial > hg > svgui
diff layer/Colour3DPlotRenderer.h @ 1094:8a815776151c spectrogram-minor-refactor
Split out cache rendering functions and some fixes to calculations
author | Chris Cannam |
---|---|
date | Thu, 07 Jul 2016 19:18:31 +0100 |
parents | c8c747783110 |
children | ba62684a4512 |
line wrap: on
line diff
--- a/layer/Colour3DPlotRenderer.h Thu Jul 07 19:18:01 2016 +0100 +++ b/layer/Colour3DPlotRenderer.h Thu Jul 07 19:18:31 2016 +0100 @@ -63,7 +63,7 @@ binDisplay(AllBins), binScale(LinearBinScale), alwaysOpaque(false), - interpolate(false), + interpolate(false), //!!! separate out x-interpolate and y-interpolate? the spectrogram actually does (or used to) invertVertical(false) { } ColourScale colourScale; // complete ColourScale object by value @@ -167,10 +167,15 @@ // then repainting from cache to the requested painter. ScrollableImageCache m_cache; + bool useBinResolutionForDrawBuffer(LayerGeometryProvider *) const; + RenderResult render(LayerGeometryProvider *v, QPainter &paint, QRect rect, bool timeConstrained); - void renderToCache(LayerGeometryProvider *v, int x0, int repaintWidth, - bool rightToLeft, bool timeConstrained); + void renderToCachePixelResolution(LayerGeometryProvider *v, int x0, + int repaintWidth, bool rightToLeft, + bool timeConstrained); + void renderToCacheBinResolution(LayerGeometryProvider *v, int x0, + int repaintWidth); int renderDrawBuffer(int w, int h, const std::vector<int> &binforx, const std::vector<double> &binfory,