summaryrefslogtreecommitdiff
path: root/libs/canvas/wave_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/canvas/wave_view.cc')
-rw-r--r--libs/canvas/wave_view.cc17
1 files changed, 13 insertions, 4 deletions
diff --git a/libs/canvas/wave_view.cc b/libs/canvas/wave_view.cc
index 7b00b0eae7..1a969d60e3 100644
--- a/libs/canvas/wave_view.cc
+++ b/libs/canvas/wave_view.cc
@@ -625,7 +625,11 @@ WaveView::draw_image (Cairo::RefPtr<Cairo::ImageSurface>& image, PeakData* _peak
clipped = true;
}
- if (!clipped) {
+ if (!clipped && tips[i].spread > 2.0) {
+ /* only draw the outline if the spread
+ implies 3 or more pixels (so that we see 1
+ white pixel in the middle).
+ */
outline_context->move_to (i, tips[i].bot);
/* normal lower terminal dot; line moves up */
outline_context->rel_line_to (0, -1.0);
@@ -645,10 +649,15 @@ WaveView::draw_image (Cairo::RefPtr<Cairo::ImageSurface>& image, PeakData* _peak
}
if (!clipped) {
+ /* special case where only 1 pixel of
+ * the waveform line is drawn (and
+ * nothing else).
+ *
+ * we draw a 1px "line", pretending
+ * that the span is 1.0 (whether it is
+ * zero or 1.0)
+ */
wave_context->move_to (i, tips[i].top);
- /* special case where outline only is drawn.
- * we draw a 1px "line", pretending that the span is 1.0
- */
wave_context->rel_line_to (0, 1.0);
}
}