X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcwindow.C;h=d4047e3564bd3c006bcdf3c2b15dc7004d731723;hb=03fa86e6dc495f9444ae14dad401b1ad6de793fe;hp=5285fd4ec8176a69e078c82db069684f46548149;hpb=aa9374b902768107ebda0cffe739325ffed372f6;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/cwindow.C b/cinelerra-5.1/cinelerra/cwindow.C index 5285fd4e..d4047e35 100644 --- a/cinelerra-5.1/cinelerra/cwindow.C +++ b/cinelerra-5.1/cinelerra/cwindow.C @@ -61,6 +61,7 @@ CWindow::CWindow(MWindow *mwindow) this->mwindow = mwindow; this->playback_engine = 0; this->playback_cursor = 0; + this->mask_track_id = -1; this->gui = 0; } @@ -78,26 +79,14 @@ CWindow::~CWindow() void CWindow::create_objects() { - destination = mwindow->defaults->get("CWINDOW_DESTINATION", 0); - - gui = new CWindowGUI(mwindow, this); - gui->create_objects(); - - playback_engine = new CPlayback(mwindow, this, gui->canvas); - - // Start command loop playback_engine->create_objects(); - gui->transport->set_engine(playback_engine); - playback_cursor = new CTracking(mwindow, this); - playback_cursor->create_objects(); - } @@ -132,21 +121,25 @@ void CWindow::hide_window() Track* CWindow::calculate_affected_track() { - Track* affected_track = 0; - for(Track *track = mwindow->edl->tracks->first; - track; - track = track->next) - { - if(track->data_type == TRACK_VIDEO && - track->record) - { - affected_track = track; - break; - } + Track *track = mwindow->edl->tracks->first; + for( ; track; track=track->next ) { + if( track->data_type != TRACK_VIDEO ) continue; + if( track->record ) break; } - return affected_track; + return track; } +Track* CWindow::calculate_mask_track() +{ + Track *track = mwindow->edl->tracks->first; + for( ; track; track=track->next ) { + if( track->data_type != TRACK_VIDEO ) continue; + if( track->record && track->get_id() == mask_track_id ) break; + } + return track; +} + + Auto* CWindow::calculate_affected_auto(Autos *autos, int create, int *created, int redraw) { @@ -224,7 +217,7 @@ void CWindow::update(int dir, int overlays, int tool_window, int operation, int // Updated by video device. if( overlays && !dir ) - gui->canvas->draw_refresh(); + gui->canvas->refresh(1); // Update tool parameters // Never updated by someone else @@ -235,7 +228,7 @@ void CWindow::update(int dir, int overlays, int tool_window, int operation, int gui->timebar->update(1); double zoom = !mwindow->edl->session->cwindow_scrollbars ? - 0 :mwindow->edl->session->cwindow_zoom; + 0 : mwindow->edl->session->cwindow_zoom; gui->zoom_panel->update(zoom); gui->canvas->update_zoom(mwindow->edl->session->cwindow_xscroll, @@ -335,10 +328,7 @@ int CWindowRemoteHandler::remote_process_key(RemoteControl *remote_control, int break; case 'f': { Canvas *canvas = mwindow_gui->mwindow->cwindow->gui->canvas; - if( !canvas->get_fullscreen() ) - canvas->start_fullscreen(); - else - canvas->stop_fullscreen(); + canvas->use_fullscreen(canvas->get_fullscreen() ? 0 : 1); return 1; } default: return -1;