rework scopewindow, spanish xlat updates
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / cwindowgui.C
index 052a713d9a3eb5d831c7666ea464c15829a600c6..3a6c2db8e9f96de906a5216f45ee8704821b4313 100644 (file)
@@ -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 && output )
+               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;
 }