diff layer/NoteLayer.h @ 44:ad214997dddb

* Refactor Layer classes so as no longer to store a single View pointer; instead they need to be able to draw themselves on any View on demand. Layers with caches (e.g. spectrogram) will need to be further refactored so as to maintain a per-View cache * Begin refactoring MainWindow by pulling out the document stuff (set of layers, models etc) into a Document class. Not yet in use. This revision is fairly unstable.
author Chris Cannam
date Thu, 02 Mar 2006 16:58:49 +0000
parents 78515b1e29eb
children 01ab51f72e84
line wrap: on
line diff
--- a/layer/NoteLayer.h	Wed Mar 01 18:13:01 2006 +0000
+++ b/layer/NoteLayer.h	Thu Mar 02 16:58:49 2006 +0000
@@ -24,23 +24,23 @@
     Q_OBJECT
 
 public:
-    NoteLayer(View *w);
+    NoteLayer();
 
-    virtual void paint(QPainter &paint, QRect rect) const;
+    virtual void paint(View *v, QPainter &paint, QRect rect) const;
 
-    virtual QString getFeatureDescription(QPoint &) const;
+    virtual QString getFeatureDescription(View *v, QPoint &) const;
 
-    virtual bool snapToFeatureFrame(int &frame,
+    virtual bool snapToFeatureFrame(View *v, int &frame,
 				    size_t &resolution,
 				    SnapType snap) const;
 
-    virtual void drawStart(QMouseEvent *);
-    virtual void drawDrag(QMouseEvent *);
-    virtual void drawEnd(QMouseEvent *);
+    virtual void drawStart(View *v, QMouseEvent *);
+    virtual void drawDrag(View *v, QMouseEvent *);
+    virtual void drawEnd(View *v, QMouseEvent *);
 
-    virtual void editStart(QMouseEvent *);
-    virtual void editDrag(QMouseEvent *);
-    virtual void editEnd(QMouseEvent *);
+    virtual void editStart(View *v, QMouseEvent *);
+    virtual void editDrag(View *v, QMouseEvent *);
+    virtual void editEnd(View *v, QMouseEvent *);
 
     virtual void moveSelection(Selection s, size_t newStartFrame);
     virtual void resizeSelection(Selection s, Selection newSize);
@@ -68,7 +68,7 @@
     void setVerticalScale(VerticalScale scale);
     VerticalScale getVerticalScale() const { return m_verticalScale; }
 
-    virtual bool isLayerScrollable() const;
+    virtual bool isLayerScrollable(const View *v) const;
 
     virtual bool isLayerEditable() const { return true; }
 
@@ -80,10 +80,10 @@
     void setProperties(const QXmlAttributes &attributes);
 
 protected:
-    int getYForValue(float value) const;
-    float getValueForY(int y) const;
+    int getYForValue(View *v, float value) const;
+    float getValueForY(View *v, int y) const;
 
-    NoteModel::PointList getLocalPoints(int) const;
+    NoteModel::PointList getLocalPoints(View *v, int) const;
 
     NoteModel *m_model;
     bool m_editing;