X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcwindowgui.C;h=7cb5a1007d5bde2bdd77632f505f22e1f43eab0d;hb=b5bfe3e40a7255ae60a21d885587ada6e145e3d5;hp=052a713d9a3eb5d831c7666ea464c15829a600c6;hpb=5d8a7826b0f80f00622e46baf75453995a76e343;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/cwindowgui.C b/cinelerra-5.1/cinelerra/cwindowgui.C index 052a713d..7cb5a100 100644 --- a/cinelerra-5.1/cinelerra/cwindowgui.C +++ b/cinelerra-5.1/cinelerra/cwindowgui.C @@ -163,8 +163,6 @@ void CWindowGUI::create_objects() canvas = new CWindowCanvas(mwindow, this); canvas->create_objects(mwindow->edl); - canvas->use_cwindow(); - add_subwindow(timebar = new CTimeBar(mwindow, this, @@ -760,7 +758,8 @@ CWindowEditing::CWindowEditing(MWindow *mwindow, CWindow *cwindow) 1, // use_cut 0, // use_commerical 0, // use_goto - 1) // use_clk2play + 1, // use_clk2play + 1) // use_scope { this->mwindow = mwindow; this->cwindow = cwindow; @@ -972,6 +971,22 @@ void CWindowTransport::goto_end() gui->lock_window("CWindowTransport::goto_end 2"); } +CWindowCanvasToggleControls::CWindowCanvasToggleControls(CWindowCanvas *canvas) + : BC_MenuItem(calculate_text(canvas->get_controls())) +{ + this->canvas = canvas; +} +int CWindowCanvasToggleControls::handle_event() +{ + canvas->toggle_controls(); + set_text(calculate_text(canvas->get_controls())); + return 1; +} + +const char *CWindowCanvasToggleControls::calculate_text(int controls) +{ + return !controls ? _("Show controls") : _("Hide controls"); +} CWindowCanvas::CWindowCanvas(MWindow *mwindow, CWindowGUI *gui) @@ -985,6 +1000,19 @@ CWindowCanvas::CWindowCanvas(MWindow *mwindow, CWindowGUI *gui) last_xscroll = 0; last_yscroll = 0; last_zoom = 0; + controls = 0; +} + +void CWindowCanvas::create_objects(EDL *edl) +{ + Canvas::create_objects(edl); + canvas_menu->add_item(new CanvasPopupAuto(this)); + canvas_menu->add_item(new CanvasPopupResetCamera(this)); + canvas_menu->add_item(new CanvasPopupResetProjector(this)); + canvas_menu->add_item(new CanvasPopupCameraKeyframe(this)); + canvas_menu->add_item(new CanvasPopupProjectorKeyframe(this)); + canvas_menu->add_item(controls = new CWindowCanvasToggleControls(this)); + fullscreen_menu->add_item(new CanvasPopupAuto(this)); } void CWindowCanvas::status_event() @@ -1064,6 +1092,18 @@ int CWindowCanvas::do_scroll(EDL *edl, float cursor_x, float cursor_y) return 1; } +int CWindowCanvas::scope_on() +{ + return !gui->edit_panel->scope_dialog ? 0 : + gui->edit_panel->scope_dialog->running(); +} + +void CWindowCanvas::draw_scope(VFrame *output) +{ + if( gui->edit_panel->scope_dialog ) + gui->edit_panel->scope_dialog->process(output); +} + void CWindowCanvas::draw_refresh(int flush) { BC_WindowBase *window = get_canvas(); @@ -3373,7 +3413,7 @@ void CWindowCanvas::toggle_controls() gui->resize_event(gui->get_w(), gui->get_h()); } -int CWindowCanvas::get_cwindow_controls() +int CWindowCanvas::get_controls() { return mwindow->session->cwindow_controls; }