X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcanvas.C;h=85d4e6f51ce453286e7d2636fbf22d00d021d7ce;hb=b30123c9534e8df8da1694d40396d86396bf1c08;hp=e07dd33923c9e4a04c1da01e982f955715cedce9;hpb=9d832a1fff11b11aaa1108c460690ed05e2bdc05;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/canvas.C b/cinelerra-5.1/cinelerra/canvas.C index e07dd339..85d4e6f5 100644 --- a/cinelerra-5.1/cinelerra/canvas.C +++ b/cinelerra-5.1/cinelerra/canvas.C @@ -859,7 +859,8 @@ void Canvas::update_refresh(VideoDevice *device, VFrame *output_frame) if( refresh_frame && (refresh_frame->get_w() != device->out_w || - refresh_frame->get_h() != device->out_h ) ) { + refresh_frame->get_h() != device->out_h || + refresh_frame->get_color_model() != best_color_model ) ) { // x11 direct render uses BC_BGR8888, use tranfer_from to remap delete refresh_frame; refresh_frame = 0; } @@ -882,6 +883,16 @@ void Canvas::update_refresh(VideoDevice *device, VFrame *output_frame) } +void Canvas::clear(int flush) +{ + if( refresh_frame ) + refresh_frame->clear_frame(); + BC_WindowBase *wdw = get_canvas(); + if( !wdw ) return; + wdw->set_bg_color(BLACK); + wdw->clear_box(0,0, wdw->get_w(), wdw->get_h()); + wdw->flash(flush); +} @@ -1158,7 +1169,7 @@ int CanvasPopupSize::handle_event() CanvasPopupResetCamera::CanvasPopupResetCamera(Canvas *canvas) - : BC_MenuItem(_("Reset camera")) + : BC_MenuItem(_("Reset camera"), "F11", KEY_F11) { this->canvas = canvas; } @@ -1171,7 +1182,7 @@ int CanvasPopupResetCamera::handle_event() CanvasPopupResetProjector::CanvasPopupResetProjector(Canvas *canvas) - : BC_MenuItem(_("Reset projector")) + : BC_MenuItem(_("Reset projector"), "F12", KEY_F12) { this->canvas = canvas; }