comparison 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
comparison
equal deleted inserted replaced
1108:edbe229860ac 1109:477521f95a84
179 // carried out by repainting to cache (via the draw buffer) any 179 // carried out by repainting to cache (via the draw buffer) any
180 // area that is being requested but is not valid in the cache, and 180 // area that is being requested but is not valid in the cache, and
181 // then repainting from cache to the requested painter. 181 // then repainting from cache to the requested painter.
182 ScrollableImageCache m_cache; 182 ScrollableImageCache m_cache;
183 183
184 bool useBinResolutionForDrawBuffer(LayerGeometryProvider *) const;
185
186 RenderResult render(LayerGeometryProvider *v, 184 RenderResult render(LayerGeometryProvider *v,
187 QPainter &paint, QRect rect, bool timeConstrained); 185 QPainter &paint, QRect rect, bool timeConstrained);
186
187 void renderDirectTranslucent(LayerGeometryProvider *v,
188 QPainter &paint, QRect rect);
189
188 void renderToCachePixelResolution(LayerGeometryProvider *v, int x0, 190 void renderToCachePixelResolution(LayerGeometryProvider *v, int x0,
189 int repaintWidth, bool rightToLeft, 191 int repaintWidth, bool rightToLeft,
190 bool timeConstrained); 192 bool timeConstrained);
193
191 void renderToCacheBinResolution(LayerGeometryProvider *v, int x0, 194 void renderToCacheBinResolution(LayerGeometryProvider *v, int x0,
192 int repaintWidth); 195 int repaintWidth);
193 196
194 int renderDrawBuffer(int w, int h, 197 int renderDrawBuffer(int w, int h,
195 const std::vector<int> &binforx, 198 const std::vector<int> &binforx,
205 bool rightToLeft, 208 bool rightToLeft,
206 bool timeConstrained); 209 bool timeConstrained);
207 210
208 void recreateDrawBuffer(int w, int h); 211 void recreateDrawBuffer(int w, int h);
209 void clearDrawBuffer(int w, int h); 212 void clearDrawBuffer(int w, int h);
213
214 enum RenderType {
215 DrawBufferPixelResolution,
216 DrawBufferBinResolution,
217 DirectTranslucent
218 };
219
220 RenderType decideRenderType(LayerGeometryProvider *) const;
210 }; 221 };
211 222
212 #endif 223 #endif
213 224