X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcanvas.C;h=0779224e6f7057b4d8840ba7868333e0ef56aef6;hb=7f424c50584e96c710a817c43767d285abdec521;hp=963c63d84240d6af1fcea3e2fb793f4c9beb759b;hpb=21af3206552d78919dad02f83c08439bedb05c89;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/canvas.C b/cinelerra-5.1/cinelerra/canvas.C index 963c63d8..0779224e 100644 --- a/cinelerra-5.1/cinelerra/canvas.C +++ b/cinelerra-5.1/cinelerra/canvas.C @@ -685,11 +685,12 @@ int Canvas::keypress_event(BC_WindowBase *caller) set_fullscreen(0, 1); break; default: - return 0; + return caller->context_help_check_and_show(); } return 1; } +// process_scope uses the refresh frame for opengl void Canvas::update_refresh(VideoDevice *device, VFrame *output_frame) { int best_color_model = output_frame->get_color_model(); @@ -732,6 +733,21 @@ void Canvas::update_refresh(VideoDevice *device, VFrame *output_frame) } else refresh_frame->transfer_from(output_frame, -1); + draw_scope(refresh_frame, 1); +} + +void Canvas::process_scope(VideoDevice *video, VFrame *frame) +{ + if( !scope_on() ) return; + int use_opengl = + video->out_config->driver == PLAYBACK_X11_GL && + frame->get_opengl_state() != VFrame::RAM; + if( use_opengl ) { + update_refresh(video, frame); + frame = refresh_frame; + } + if( frame ) + draw_scope(frame, 0); } void Canvas::clear(int flash) @@ -924,7 +940,7 @@ CanvasPopup::~CanvasPopup() } CanvasZoomSize::CanvasZoomSize(Canvas *canvas) - : BC_MenuItem(_("Zoom...")) + : BC_MenuItem(_("Resize Window...")) { this->canvas = canvas; }