diff --git a/src/UI/DocumentViews/AudioVisualizer/TimingCursor.cc b/src/UI/DocumentViews/AudioVisualizer/TimingCursor.cc index 28b5d4116b99b495e8a0c6f1f2342e609b15aa7c..d1c57ef6a06d8dcbd25d02c153e00dcb83182a46 100644 --- a/src/UI/DocumentViews/AudioVisualizer/TimingCursor.cc +++ b/src/UI/DocumentViews/AudioVisualizer/TimingCursor.cc @@ -10,6 +10,7 @@ using namespace Vivy; TimingCursor::TimingCursor() : QGraphicsItem() { + setZValue(Z_CURSOR_BAR); textRect = QRectF(0, 10, maxWidth, TimingUtils::audioHeight() - 20); // TODO : remove 10/20 magic numbers } diff --git a/src/UI/DocumentViews/AudioVisualizer/TimingLine.cc b/src/UI/DocumentViews/AudioVisualizer/TimingLine.cc index 8beae2b6368ae21e95b6d69f960234715b185377..e64008b941d941456ad5cfd6915ba8995b8bf003 100644 --- a/src/UI/DocumentViews/AudioVisualizer/TimingLine.cc +++ b/src/UI/DocumentViews/AudioVisualizer/TimingLine.cc @@ -22,6 +22,8 @@ TimingLine::TimingLine(Ass::Line *lineptr, int index, QGraphicsItem *parent) int endSyl = 0; int i; + setZValue(Z_LINE_BACKGROUND); + TimingSeparator *timingSeparatorStart = new TimingSeparator(currentTime, 0, TimingSeparator::SeparatorStyle::Start, this); seps.append(timingSeparatorStart); diff --git a/src/UI/DocumentViews/AudioVisualizer/TimingScene.cc b/src/UI/DocumentViews/AudioVisualizer/TimingScene.cc index 4decbf3ba33050af3c721e19cf610612bb7176ec..3f16407dd0d38bc7db1c617478a7dbefc10e14e5 100644 --- a/src/UI/DocumentViews/AudioVisualizer/TimingScene.cc +++ b/src/UI/DocumentViews/AudioVisualizer/TimingScene.cc @@ -69,6 +69,7 @@ TimingScene::rebuildScene() QPixmap pixmap(QPixmap::fromImage(img)); backgroundImg = addPixmap(pixmap); + backgroundImg->setZValue(Z_SPECTER); backgroundImg->setPos(0, TimingUtils::axisHeight()); TimingUtils::setAudioHeight(pixmap.height()); @@ -77,6 +78,7 @@ TimingScene::rebuildScene() ax = new TimingAxis(); addItem(ax); + ax->setZValue(Z_AXIS); ax->setPos(0, TimingUtils::axisHeight()); // Freeze the scene boundaries diff --git a/src/UI/DocumentViews/AudioVisualizer/TimingSeparator.cc b/src/UI/DocumentViews/AudioVisualizer/TimingSeparator.cc index e4c40c94f9990c2b085f6d1fdec189ffd7aeb894..05ccb1bb11404e58cfd51fcd3891a5397f34a3fa 100644 --- a/src/UI/DocumentViews/AudioVisualizer/TimingSeparator.cc +++ b/src/UI/DocumentViews/AudioVisualizer/TimingSeparator.cc @@ -22,9 +22,18 @@ TimingSeparator::TimingSeparator(int time, int index, SeparatorStyle style_, Tim setCursor(Qt::PointingHandCursor); switch (style) { - case SeparatorStyle::Start: pen = QPen(QColor(0, 0, 255)); break; - case SeparatorStyle::Middle: pen = QPen(QColor(180, 0, 180)); break; - case SeparatorStyle::End: pen = QPen(QColor(255, 0, 0)); break; + case SeparatorStyle::Start: + pen = QPen(QColor(0, 0, 255)); + setZValue(Z_SEPARATOR_START_END); + break; + case SeparatorStyle::Middle: + pen = QPen(QColor(180, 0, 180)); + setZValue(Z_SEPARATOR_MIDDLE); + break; + case SeparatorStyle::End: + pen = QPen(QColor(255, 0, 0)); + setZValue(Z_SEPARATOR_START_END); + break; } // Putting even-size width seems to be undefined behaviour for pixel drawing : stick to odd pen.setWidth(1); diff --git a/src/UI/DocumentViews/AudioVisualizer/TimingSyl.cc b/src/UI/DocumentViews/AudioVisualizer/TimingSyl.cc index 291804cb62835b2ae501941ce449a35566e86ba8..4be5e87eb61470457ddcef09fbe0a239e81595c6 100644 --- a/src/UI/DocumentViews/AudioVisualizer/TimingSyl.cc +++ b/src/UI/DocumentViews/AudioVisualizer/TimingSyl.cc @@ -12,6 +12,7 @@ TimingSyl::TimingSyl(Ass::Syl syl_, int startTime, QGraphicsItem *parent) : QGraphicsObject(parent) , syl(syl_) { + setZValue(Z_LINE_SYL_TEXT); setPos(TimingUtils::posFromMs(startTime), 0); } diff --git a/src/UI/DocumentViews/AudioVisualizer/TimingUtils.hh b/src/UI/DocumentViews/AudioVisualizer/TimingUtils.hh index 1ff08ceb357a314855d491022eaa7396720906e2..65a8d3bdb90601666cc259d58727b7556eed851f 100644 --- a/src/UI/DocumentViews/AudioVisualizer/TimingUtils.hh +++ b/src/UI/DocumentViews/AudioVisualizer/TimingUtils.hh @@ -9,6 +9,14 @@ #define getTimingScene() static_cast<TimingScene *>(scene()) +#define Z_SPECTER -1000 +#define Z_AXIS 10 +#define Z_LINE_BACKGROUND -100 +#define Z_SEPARATOR_START_END 1000 +#define Z_SEPARATOR_MIDDLE 100 +#define Z_LINE_SYL_TEXT 50 +#define Z_CURSOR_BAR 500 + /* * FIXME * Relying on static may pose issues when multiple audioVisualiser