add x10tv ati remote rework, android remote rework, wintv remote tweaks
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / canvas.C
index 410145f04817c079fb53f7aa7bb8b8032ca79e94..17d5a42b5e952de5b515ccdc1650bde8e76b2484 100644 (file)
@@ -135,11 +135,6 @@ int Canvas::get_fullscreen()
        return is_fullscreen;
 }
 
-void Canvas::set_fullscreen(int value)
-{
-       is_fullscreen = value;
-}
-
 // Get dimensions given a zoom
 void Canvas::calculate_sizes(float aspect_ratio,
                int output_w, int output_h, float zoom,
@@ -576,29 +571,34 @@ void Canvas::stop_video()
        }
 }
 
-
-int Canvas::use_fullscreen(int on)
+int Canvas::set_fullscreen(int on, int unlock)
 {
+       int ret = 0;
+       BC_WindowBase *window = get_canvas();
+       if( unlock )
+               window->unlock_window();
        if( on && !get_fullscreen() ) {
                start_fullscreen();
-               return 1;
+               ret = 1;
        }
        if( !on && get_fullscreen() ) {
                stop_fullscreen();
-               return 1;
+               ret = 1;
        }
-       return 0;
+       if( unlock )
+               window->lock_window("Canvas::set_fullscreen");
+       return ret;
 }
 
 void Canvas::start_fullscreen()
 {
-       set_fullscreen(1);
+       is_fullscreen = 1;
        create_canvas();
 }
 
 void Canvas::stop_fullscreen()
 {
-       set_fullscreen(0);
+       is_fullscreen = 0;
        create_canvas();
 }
 
@@ -661,7 +661,6 @@ void Canvas::create_canvas()
 }
 
 
-
 int Canvas::cursor_leave_event_base(BC_WindowBase *caller)
 {
        int result = 0;
@@ -694,15 +693,12 @@ int Canvas::keypress_event(BC_WindowBase *caller)
 {
        int key = caller->get_keypress();
        switch( key ) {
-       case 'f':
-               caller->unlock_window();
-               use_fullscreen(get_fullscreen() ? 0 : 1);
-               caller->lock_window("Canvas::keypress_event 1");
-               break;
+       case 'f': {
+               int on = get_fullscreen() ? 0 : 1;
+               set_fullscreen(on, 1);
+               break; }
        case ESC:
-               caller->unlock_window();
-               use_fullscreen(0);
-               caller->lock_window("Canvas::keypress_event 2");
+               set_fullscreen(0, 1);
                break;
        default:
                return 0;
@@ -933,9 +929,7 @@ int CanvasSubWindowItem::handle_event()
 {
 // It isn't a problem to delete the canvas from in here because the event
 // dispatcher is the canvas subwindow.
-       canvas->subwindow->unlock_window();
-       canvas->use_fullscreen(0);
-       canvas->subwindow->lock_window("CanvasSubWindowItem::handle_event");
+       canvas->set_fullscreen(0, 1);
        return 1;
 }
 
@@ -1108,18 +1102,10 @@ int CanvasToggleControls::handle_event()
 
 char* CanvasToggleControls::calculate_text(int cwindow_controls)
 {
-       if(!cwindow_controls)
-               return _("Show controls");
-       else
-               return _("Hide controls");
+       return !cwindow_controls ? _("Show controls") : _("Hide controls");
 }
 
 
-
-
-
-
-
 CanvasFullScreenItem::CanvasFullScreenItem(Canvas *canvas)
  : BC_MenuItem(_("Fullscreen"), "f", 'f')
 {
@@ -1127,20 +1113,11 @@ CanvasFullScreenItem::CanvasFullScreenItem(Canvas *canvas)
 }
 int CanvasFullScreenItem::handle_event()
 {
-       canvas->subwindow->unlock_window();
-       canvas->use_fullscreen(1);
-       canvas->subwindow->lock_window("CanvasFullScreenItem::handle_event");
+       canvas->set_fullscreen(1, 1);
        return 1;
 }
 
 
-
-
-
-
-
-
-
 CanvasPopupRemoveSource::CanvasPopupRemoveSource(Canvas *canvas)
  : BC_MenuItem(_("Close source"))
 {