diff options
author | Robin Gareus <robin@gareus.org> | 2014-05-26 18:22:21 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-05-26 18:22:21 +0200 |
commit | bdb342123fa87c7ff5e101013109ed2a0c492869 (patch) | |
tree | a4e9ad07e030335b44d44aa58c3465b5fd9a0a47 /libs/canvas/curve.cc | |
parent | 791c668756786e570c124dfa778234676a0a76a6 (diff) |
fix prev commit, window-offset for x-fade drawing
Diffstat (limited to 'libs/canvas/curve.cc')
-rw-r--r-- | libs/canvas/curve.cc | 8 |
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) { |