+void CWindowCanvas::zoom_auto()
+{
+ use_scrollbars = 0;
+ set_zoom(mwindow->edl, 0);
+ gui->update_canvas();
+}
+
+int CWindowCanvas::do_scroll(EDL *edl, float cursor_x, float cursor_y)
+{
+ float zoom = get_zoom();
+ float zoom_x, zoom_y, conformed_w, conformed_h;
+ get_zooms(edl, 0, zoom_x, zoom_y, conformed_w, conformed_h);
+ if( !zoom ) {
+ x = get_x_offset(mwindow->edl, 0, zoom_x, conformed_w, conformed_h);
+ y = get_y_offset(mwindow->edl, 0, zoom_y, conformed_w, conformed_h);
+ zoom = get_auto_zoom(mwindow->edl);
+ }
+ else {
+ x = gui->x_origin - cursor_x / zoom_x;
+ y = gui->y_origin - cursor_y / zoom_y;
+ }
+ update_zoom(x, y, zoom);
+ gui->update_canvas();
+ return 1;
+}
+
+int CWindowCanvas::scope_on()
+{
+ return !gui->edit_panel->scope_dialog ? 0 :
+ gui->edit_panel->scope_dialog->running();
+}
+
+void CWindowCanvas::draw_scope(VFrame *output)
+{
+ if( gui->edit_panel->scope_dialog && output )
+ gui->edit_panel->scope_dialog->process(output);
+}
+