rework canvas zoom, add 3 plugins from 7.2, tweak cwdw boundry, vdevicex11 dupl close...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / zwindowgui.C
index 1ffa772d77e2cb0c31a0b6ba8def317abd071c80..a52bad967a17fe266ad96323f6063902622396e9 100644 (file)
@@ -100,14 +100,10 @@ int ZWindowGUI::keypress_event()
        int result = 1;
        switch( key ) {
        case 'f':
-               if( canvas->get_fullscreen() )
-                       canvas->stop_fullscreen();
-               else
-                       canvas->start_fullscreen();
+               canvas->use_fullscreen(canvas->get_fullscreen() ? 0 : 1);
                break;
        case ESC:
-               if( canvas->get_fullscreen() )
-                       canvas->stop_fullscreen();
+               canvas->use_fullscreen(0);
                break;
        default:
                mwindow->gui->lock_window("ZWindowGUI::keypress_event");
@@ -248,3 +244,17 @@ void ZWindowCanvas::draw_refresh(int flush)
                cvs->flash(flush);
 }
 
+float ZWindowCanvas::get_auto_zoom()
+{
+       EDL *edl = gui->zwindow->edl;
+       if( !edl ) edl = mwindow->edl;
+       float conformed_w, conformed_h;
+       edl->calculate_conformed_dimensions(0, conformed_w, conformed_h);
+       BC_WindowBase *window = get_canvas();
+       int cw = window ? window->get_w() : w;
+       int ch = window ? window->get_h() : h;
+       float zoom_x = cw / conformed_w;
+       float zoom_y = ch / conformed_h;
+       return zoom_x < zoom_y ? zoom_x : zoom_y;
+}
+