Mercurial > hg > svgui
diff layer/TextLayer.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/TextLayer.h Wed Mar 01 18:13:01 2006 +0000 +++ b/layer/TextLayer.h Thu Mar 02 16:58:49 2006 +0000 @@ -24,28 +24,28 @@ Q_OBJECT public: - TextLayer(View *w); + TextLayer(); - 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); - virtual void editOpen(QMouseEvent *); // on double-click + virtual void editOpen(View *, QMouseEvent *); // on double-click virtual const Model *getModel() const { return m_model; } void setModel(TextModel *model); @@ -61,7 +61,7 @@ void setBaseColour(QColor); QColor getBaseColour() const { return m_colour; } - virtual bool isLayerScrollable() const; + virtual bool isLayerScrollable(const View *v) const; virtual bool isLayerEditable() const { return true; } @@ -73,10 +73,10 @@ void setProperties(const QXmlAttributes &attributes); protected: - int getYForHeight(float height) const; - float getHeightForY(int y) const; + int getYForHeight(View *v, float height) const; + float getHeightForY(View *v, int y) const; - TextModel::PointList getLocalPoints(int x, int y) const; + TextModel::PointList getLocalPoints(View *v, int x, int y) const; TextModel *m_model; bool m_editing;