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: