X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcanvas.C;h=a1f458541cea8d8080cf4bad17b9470dfc394be9;hb=cec4b4235b1b164d1afd583169c4dbde1f9bf784;hp=17d5a42b5e952de5b515ccdc1650bde8e76b2484;hpb=98e035865979cda9805a58a85d52f8d70a7ec54e;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/canvas.C b/cinelerra-5.1/cinelerra/canvas.C index 17d5a42b..a1f45854 100644 --- a/cinelerra-5.1/cinelerra/canvas.C +++ b/cinelerra-5.1/cinelerra/canvas.C @@ -114,22 +114,6 @@ void Canvas::use_auxwindow(BC_WindowBase *aux) canvas_auxwindow = aux; } -void Canvas::use_cwindow() -{ - canvas_menu->use_cwindow(); - fullscreen_menu->use_cwindow(); -} - -void Canvas::use_rwindow() -{ - canvas_menu->use_rwindow(); -} - -void Canvas::use_vwindow() -{ - canvas_menu->use_vwindow(); -} - int Canvas::get_fullscreen() { return is_fullscreen; @@ -706,6 +690,7 @@ int Canvas::keypress_event(BC_WindowBase *caller) 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(); @@ -750,6 +735,20 @@ void Canvas::update_refresh(VideoDevice *device, VFrame *output_frame) refresh_frame->transfer_from(output_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); +} + void Canvas::clear(int flash) { BC_WindowBase *window = get_canvas(); @@ -914,11 +913,6 @@ void CanvasFullScreenPopup::create_objects() add_item(new CanvasSubWindowItem(canvas)); } -void CanvasFullScreenPopup::use_cwindow() -{ - add_item(new CanvasPopupAuto(canvas)); -} - CanvasSubWindowItem::CanvasSubWindowItem(Canvas *canvas) : BC_MenuItem(_("Windowed"), "f", 'f') { @@ -945,7 +939,7 @@ CanvasPopup::~CanvasPopup() } CanvasZoomSize::CanvasZoomSize(Canvas *canvas) - : BC_MenuItem(_("Zoom...")) + : BC_MenuItem(_("Resize Window...")) { this->canvas = canvas; } @@ -976,26 +970,6 @@ void CanvasPopup::create_objects() submenu->add_submenuitem(new CanvasPopupSize(canvas, _("Zoom 400%"), 4.0)); } -void CanvasPopup::use_cwindow() -{ - add_item(new CanvasPopupAuto(canvas)); - add_item(new CanvasPopupResetCamera(canvas)); - add_item(new CanvasPopupResetProjector(canvas)); - add_item(new CanvasPopupCameraKeyframe(canvas)); - add_item(new CanvasPopupProjectorKeyframe(canvas)); - add_item(toggle_controls = new CanvasToggleControls(canvas)); -} - -void CanvasPopup::use_rwindow() -{ - add_item(new CanvasPopupResetTranslation(canvas)); -} - -void CanvasPopup::use_vwindow() -{ - add_item(new CanvasPopupRemoveSource(canvas)); -} - CanvasPopupAuto::CanvasPopupAuto(Canvas *canvas) : BC_MenuItem(_("Zoom Auto")) @@ -1074,7 +1048,6 @@ int CanvasPopupProjectorKeyframe::handle_event() } - CanvasPopupResetTranslation::CanvasPopupResetTranslation(Canvas *canvas) : BC_MenuItem(_("Reset translation")) { @@ -1087,25 +1060,6 @@ int CanvasPopupResetTranslation::handle_event() } - -CanvasToggleControls::CanvasToggleControls(Canvas *canvas) - : BC_MenuItem(calculate_text(canvas->get_cwindow_controls())) -{ - this->canvas = canvas; -} -int CanvasToggleControls::handle_event() -{ - canvas->toggle_controls(); - set_text(calculate_text(canvas->get_cwindow_controls())); - return 1; -} - -char* CanvasToggleControls::calculate_text(int cwindow_controls) -{ - return !cwindow_controls ? _("Show controls") : _("Hide controls"); -} - - CanvasFullScreenItem::CanvasFullScreenItem(Canvas *canvas) : BC_MenuItem(_("Fullscreen"), "f", 'f') {