summaryrefslogtreecommitdiff
path: root/libs/canvas/curve.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-05-26 18:22:21 +0200
committerRobin Gareus <robin@gareus.org>2014-05-26 18:22:21 +0200
commitbdb342123fa87c7ff5e101013109ed2a0c492869 (patch)
treea4e9ad07e030335b44d44aa58c3465b5fd9a0a47 /libs/canvas/curve.cc
parent791c668756786e570c124dfa778234676a0a76a6 (diff)
fix prev commit, window-offset for x-fade drawing
Diffstat (limited to 'libs/canvas/curve.cc')
-rw-r--r--libs/canvas/curve.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/canvas/curve.cc b/libs/canvas/curve.cc
index b5bab9c867..66fcd2bfe3 100644
--- a/libs/canvas/curve.cc
+++ b/libs/canvas/curve.cc
@@ -339,20 +339,22 @@ Curve::render (Rect const & area, Cairo::RefPtr<Cairo::Context> context) const
}
/* find left and right-most sample */
+ Duple window_space;
Points::size_type left = 0;
Points::size_type right = n_samples;
for (Points::size_type idx = 0; idx < n_samples - 1; ++idx) {
left = idx;
- if (samples[idx].x >= draw.x0) break;
+ window_space = item_to_window (Duple (samples[idx].x, 0.0));
+ if (window_space.x >= draw.x0) break;
}
for (Points::size_type idx = n_samples; idx > left + 1; --idx) {
- if (samples[idx].x <= draw.x1) break;
+ window_space = item_to_window (Duple (samples[idx].x, 0.0));
+ if (window_space.x <= draw.x1) break;
right = idx;
}
/* draw line between samples */
- Duple window_space;
window_space = item_to_window (Duple (samples[left].x, samples[left].y));
context->move_to (window_space.x, window_space.y);
for (uint32_t idx = left + 1; idx < right; ++idx) {