X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fview.cpp;h=54ab4ff9e2beb1d5892dd5d46e3bb4028474bc72;hb=e0fc58100fbcd6c3bfd5aecb213d7541a3436622;hp=026d2e7fda92a516e2032dcabac64d1a7d0d5fa5;hpb=01fd32630269c1cfb99eb2b0d6060d7d19a42475;p=pulseview.git diff --git a/pv/view/view.cpp b/pv/view/view.cpp index 026d2e7..54ab4ff 100644 --- a/pv/view/view.cpp +++ b/pv/view/view.cpp @@ -145,16 +145,12 @@ void View::zoom(double steps) void View::zoom(double steps, int offset) { const double cursor_offset = _offset + _scale * offset; - _scale *= pow(3.0/2.0, -steps); - _scale = max(min(_scale, MaxScale), MinScale); - _offset = cursor_offset - _scale * offset; - - _ruler->update(); - _viewport->update(); - update_scroll(); + const double new_scale = max(min(_scale * pow(3.0/2.0, -steps), + MaxScale), MinScale); + const double new_offset = cursor_offset - new_scale * offset; + set_scale_offset(new_scale, new_offset); } - void View::set_scale_offset(double scale, double offset) { _scale = scale; @@ -163,6 +159,7 @@ void View::set_scale_offset(double scale, double offset) update_scroll(); _ruler->update(); _viewport->update(); + scale_offset_changed(); } vector< shared_ptr > View::get_traces() const