diff layer/Colour3DPlotRenderer.h @ 1109:477521f95a84 spectrogram-minor-refactor

Start introducing translucent renderer
author Chris Cannam
date Mon, 18 Jul 2016 15:37:15 +0100
parents 46cc4644206d
children d578b685d912
line wrap: on
line diff
--- a/layer/Colour3DPlotRenderer.h	Thu Jul 14 17:14:30 2016 +0100
+++ b/layer/Colour3DPlotRenderer.h	Mon Jul 18 15:37:15 2016 +0100
@@ -181,13 +181,16 @@
     // 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 renderDirectTranslucent(LayerGeometryProvider *v,
+                                 QPainter &paint, QRect rect);
+    
     void renderToCachePixelResolution(LayerGeometryProvider *v, int x0,
                                       int repaintWidth, bool rightToLeft,
                                       bool timeConstrained);
+
     void renderToCacheBinResolution(LayerGeometryProvider *v, int x0,
                                     int repaintWidth);
 
@@ -207,6 +210,14 @@
     
     void recreateDrawBuffer(int w, int h);
     void clearDrawBuffer(int w, int h);
+
+    enum RenderType {
+        DrawBufferPixelResolution,
+        DrawBufferBinResolution,
+        DirectTranslucent
+    };
+
+    RenderType decideRenderType(LayerGeometryProvider *) const;
 };
 
 #endif