diff --git a/openglcanvas.cpp b/openglcanvas.cpp index ac15b901b7591ce41d4e5e78b8a341d20f3d3be3..2b91e21a4054a65a034a4d93f6f6e327bd5aac57 100644 --- a/openglcanvas.cpp +++ b/openglcanvas.cpp @@ -722,7 +722,17 @@ void OpenGLCanvas::wheelEvent(QWheelEvent *event){ if(event->modifiers()==Qt::ShiftModifier){ change_fov_max(fov_max+((double)event->delta())/30); }else{ - change_fov(fov+((double)event->delta())/30); + int new_fov=fov+event->delta()/30; + change_fov((double)new_fov); + if(auto_fov_max){ + if(new_fov<60) + change_fov_max(60); + else + if(new_fov>180) + change_fov_max(1); + else + change_fov_max(90-new_fov/2); + } } } }