27 #ifndef __SYNFIG_GTKMM_RENDDESC_H
28 #define __SYNFIG_GTKMM_RENDDESC_H
32 #include <gtkmm/table.h>
33 #include <gtkmm/frame.h>
34 #include <synfig/renddesc.h>
35 #include <gtkmm/spinbutton.h>
36 #include <gtkmm/adjustment.h>
37 #include <gtkmm/checkbutton.h>
38 #include <gtkmm/notebook.h>
53 synfig::RendDesc rend_desc_;
54 sigc::signal<void> signal_changed_;
56 Glib::RefPtr<Gtk::Adjustment> adjustment_width;
57 Glib::RefPtr<Gtk::Adjustment> adjustment_height;
58 Glib::RefPtr<Gtk::Adjustment> adjustment_xres;
59 Glib::RefPtr<Gtk::Adjustment> adjustment_yres;
60 Glib::RefPtr<Gtk::Adjustment> adjustment_phy_width;
61 Glib::RefPtr<Gtk::Adjustment> adjustment_phy_height;
62 Glib::RefPtr<Gtk::Adjustment> adjustment_fps;
63 Glib::RefPtr<Gtk::Adjustment> adjustment_span;
65 Gtk::SpinButton *entry_width;
66 Gtk::SpinButton *entry_height;
67 Gtk::SpinButton *entry_xres;
68 Gtk::SpinButton *entry_yres;
69 Gtk::SpinButton *entry_phy_width;
70 Gtk::SpinButton *entry_phy_height;
71 Gtk::SpinButton *entry_fps;
72 Gtk::SpinButton *entry_span;
77 Gtk::Label *pixel_ratio_label;
79 Gtk::CheckButton *toggle_px_aspect;
80 Gtk::CheckButton *toggle_px_width;
81 Gtk::CheckButton *toggle_px_height;
83 Gtk::CheckButton *toggle_im_aspect;
84 Gtk::CheckButton *toggle_im_width;
85 Gtk::CheckButton *toggle_im_height;
86 Gtk::CheckButton *toggle_im_span;
88 Gtk::Frame *time_frame;
99 mutable int update_lock;
104 UpdateLock(
int &locked):locked(locked){locked++;}
105 ~UpdateLock(){locked--;}
131 void on_width_changed();
132 void on_height_changed();
133 void on_xres_changed();
134 void on_yres_changed();
135 void on_phy_width_changed();
136 void on_phy_height_changed();
137 void on_tl_changed();
138 void on_br_changed();
139 void on_fps_changed();
140 void on_start_time_changed();
141 void on_end_time_changed();
142 void on_duration_changed();
143 void on_lock_changed();
144 void on_focus_changed();
145 void on_span_changed();
147 void on_ratio_wh_toggled();
148 void on_ratio_res_toggled();
150 void create_widgets();
151 void connect_signals();
152 Gtk::Widget *create_image_tab();
153 Gtk::Widget *create_time_tab();
154 Gtk::Widget *create_other_tab();