Mercurial > hg > svgui
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;