Mercurial > hg > svgui
diff layer/LayerGeometryProvider.h @ 1090:c8c747783110 spectrogram-minor-refactor
Cut over to using the renderer (though it's very incomplete) and fix some cache problems and pointer lifetime misunderstandings
author | Chris Cannam |
---|---|
date | Tue, 05 Jul 2016 17:48:26 +0100 |
parents | 179ea8a2f650 |
children | 57d192e26331 |
line wrap: on
line diff
--- a/layer/LayerGeometryProvider.h Tue Jul 05 12:20:56 2016 +0100 +++ b/layer/LayerGeometryProvider.h Tue Jul 05 17:48:26 2016 +0100 @@ -25,6 +25,22 @@ class View; class Layer; +/** + * Interface for classes that provide geometry information (such as + * size, start frame, and a large number of other properties) about + * the disposition of a layer. The main implementor of this interface + * is the View class, but other implementations may be used in + * different circumstances, e.g. as a proxy to handle hi-dpi + * coordinate mapping. + * + * Note it is expected that some implementations of this may be + * disposable, created on-the-fly for a single use. Code that receives + * a LayerGeometryProvider pointer as an argument to something should + * not, in general, store that pointer as it may be invalidated before + * the next use. Use getId() to instead obtain a persistent identifier + * for a LayerGeometryProvider, for example to establish whether the + * same one is being provided in two separate calls. + */ class LayerGeometryProvider { protected: