Mercurial > hg > svgui
diff view/AlignmentView.h @ 1615:911330a28a7c
Where the "below" view represents only a subset of the "above" view, cut off the feature mappings at the outer edges of the "below" view - don't map everything outside this (it would all just map onto the same single points at beginning and end, which is excessive, confusing and not useful)
author | Chris Cannam |
---|---|
date | Thu, 02 Jul 2020 15:37:43 +0100 |
parents | c5589d94b731 |
children |
line wrap: on
line diff
--- a/view/AlignmentView.h Tue Jun 30 10:56:56 2020 +0100 +++ b/view/AlignmentView.h Thu Jul 02 15:37:43 2020 +0100 @@ -26,8 +26,9 @@ AlignmentView(QWidget *parent = 0); QString getPropertyContainerIconName() const override { return "alignment"; } - void setViewAbove(View *view); - void setViewBelow(View *view); + void setAboveView(View *view); + void setBelowView(View *view); + void setReferenceView(View *view); public slots: void globalCentreFrameChanged(sv_frame_t) override; @@ -44,7 +45,7 @@ void paintEvent(QPaintEvent *e) override; bool shouldLabelSelections() const override { return false; } - void buildKeyFrameMap(); + void buildMaps(); std::vector<sv_frame_t> getKeyFrames(View *, sv_frame_t &resolution); std::vector<sv_frame_t> getDefaultKeyFrames(); @@ -55,9 +56,13 @@ View *m_above; View *m_below; + View *m_reference; - QMutex m_keyFrameMutex; - std::multimap<sv_frame_t, sv_frame_t> m_keyFrameMap; + QMutex m_mapsMutex; + std::multimap<sv_frame_t, sv_frame_t> m_fromAboveMap; + std::multimap<sv_frame_t, sv_frame_t> m_fromReferenceMap; + sv_frame_t m_leftmostAbove; + sv_frame_t m_rightmostAbove; }; #endif