X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Frenddesc.cpp;h=c88ac87716b7ebbfb21a190df1af893595d817d1;hb=0962b310bc44fd9a2b4904db9b91185ff0bfd1ed;hp=f1a3464e8d3b9daff0b5ce32ef45e713bce8efe8;hpb=b3153cc6f4b90adc7fd2041daf2a553edc4ba1eb;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/renddesc.cpp b/synfig-studio/trunk/src/gtkmm/renddesc.cpp index f1a3464..c88ac87 100644 --- a/synfig-studio/trunk/src/gtkmm/renddesc.cpp +++ b/synfig-studio/trunk/src/gtkmm/renddesc.cpp @@ -134,6 +134,7 @@ Widget_RendDesc::refresh() adjustment_span.set_value(rend_desc_.get_span()); entry_tl->set_value(rend_desc_.get_tl()); entry_br->set_value(rend_desc_.get_br()); + entry_focus->set_value(rend_desc_.get_focus()); toggle_px_aspect->set_active((bool)(rend_desc_.get_flags()&RendDesc::PX_ASPECT)); toggle_px_width->set_active((bool)(rend_desc_.get_flags()&RendDesc::PX_W)); @@ -315,6 +316,16 @@ Widget_RendDesc::on_br_changed() } void +Widget_RendDesc::on_focus_changed() +{ + if(update_lock)return; + UpdateLock lock(update_lock); + rend_desc_.set_focus(entry_focus->get_value()); + refresh(); + signal_changed()(); +} + +void Widget_RendDesc::on_span_changed() { if(update_lock)return; @@ -375,6 +386,7 @@ Widget_RendDesc::create_widgets() entry_end_time=manage(new Widget_Time()); //entry_start_frame=manage(new Gtk::SpinButton(adjustment_start_frame,1,0)); //entry_end_frame=manage(new Gtk::SpinButton(adjustment_end_frame,1,0)); + entry_focus=manage(new Widget_Vector()); toggle_px_aspect=manage(new Gtk::CheckButton(_("_Pixel Aspect"), true)); toggle_px_aspect->set_alignment(0, 0.5); toggle_px_width=manage(new Gtk::CheckButton(_("Pi_xel Width"), true)); @@ -408,6 +420,7 @@ Widget_RendDesc::connect_signals() entry_end_time->signal_value_changed().connect(sigc::mem_fun(*this,&studio::Widget_RendDesc::on_end_time_changed)); //entry_start_frame->signal_value_changed().connect(sigc::mem_fun(*this,&studio::Widget_RendDesc::on_start_frame_changed)); //entry_end_frame->signal_value_changed().connect(sigc::mem_fun(*this,&studio::Widget_RendDesc::on_end_frame_changed)); + entry_focus->signal_value_changed().connect(sigc::mem_fun(*this,&studio::Widget_RendDesc::on_focus_changed)); toggle_px_aspect->signal_toggled().connect(sigc::mem_fun(*this, &studio::Widget_RendDesc::on_lock_changed)); toggle_px_width->signal_toggled().connect(sigc::mem_fun(*this, &studio::Widget_RendDesc::on_lock_changed)); toggle_px_height->signal_toggled().connect(sigc::mem_fun(*this, &studio::Widget_RendDesc::on_lock_changed)); @@ -581,6 +594,23 @@ Widget_RendDesc::create_other_tab() lockTable->attach(*toggle_px_height, 1, 2, 1, 2, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); lockTable->attach(*toggle_px_aspect, 2, 3, 1, 2, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); + Gtk::Frame *focusFrame = manage(new Gtk::Frame(_("Focus Point"))); + focusFrame->set_shadow_type(Gtk::SHADOW_NONE); + ((Gtk::Label *) focusFrame->get_label_widget())->set_markup(_("Focus Point")); + panelBox->pack_start(*focusFrame, false, false, 0); + + Gtk::Alignment *focusPadding = manage(new Gtk::Alignment(0, 0, 1, 1)); + focusPadding->set_padding(6, 0, 24, 0); + focusFrame->add(*focusPadding); + + Gtk::HBox *focusBox = manage(new Gtk::HBox(false, 12)); + focusPadding->add(*focusBox); + + Gtk::Label *focusLabel = manage(new Gtk::Label(_("_Focus Point"), 0, 0.5, true)); + focusLabel->set_mnemonic_widget(*entry_focus); + focusBox->pack_start(*focusLabel, false, false, 0); + focusBox->pack_start(*entry_focus, true, true, 0); + paddedPanel->show_all(); return paddedPanel; }