|
Carlos Lopez |
a09598 |
/* === S Y N F I G ========================================================= */
|
|
Carlos Lopez |
a09598 |
/*! \file gtkmm/renddesc.h
|
|
Carlos Lopez |
a09598 |
** \brief Header File
|
|
Carlos Lopez |
a09598 |
**
|
|
Carlos Lopez |
a09598 |
** $Id$
|
|
Carlos Lopez |
a09598 |
**
|
|
Carlos Lopez |
a09598 |
** \legal
|
|
Carlos Lopez |
a09598 |
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
|
|
Carlos Lopez |
a09598 |
**
|
|
Carlos Lopez |
a09598 |
** This package is free software; you can redistribute it and/or
|
|
Carlos Lopez |
a09598 |
** modify it under the terms of the GNU General Public License as
|
|
Carlos Lopez |
a09598 |
** published by the Free Software Foundation; either version 2 of
|
|
Carlos Lopez |
a09598 |
** the License, or (at your option) any later version.
|
|
Carlos Lopez |
a09598 |
**
|
|
Carlos Lopez |
a09598 |
** This package is distributed in the hope that it will be useful,
|
|
Carlos Lopez |
a09598 |
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Carlos Lopez |
a09598 |
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Carlos Lopez |
a09598 |
** General Public License for more details.
|
|
Carlos Lopez |
a09598 |
** \endlegal
|
|
Carlos Lopez |
a09598 |
**
|
|
Carlos Lopez |
a09598 |
** === N O T E S ===========================================================
|
|
Carlos Lopez |
a09598 |
**
|
|
Carlos Lopez |
a09598 |
** ========================================================================= */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* === S T A R T =========================================================== */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#ifndef __SYNFIG_GTKMM_RENDDESC_H
|
|
Carlos Lopez |
a09598 |
#define __SYNFIG_GTKMM_RENDDESC_H
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* === H E A D E R S ======================================================= */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#include <gtkmm table.h=""></gtkmm>
|
|
Carlos Lopez |
a09598 |
#include <gtkmm frame.h=""></gtkmm>
|
|
|
a4bbdd |
#include <gtkmm scale.h=""></gtkmm>
|
|
Carlos Lopez |
a09598 |
#include <gtkmm spinbutton.h=""></gtkmm>
|
|
Carlos Lopez |
a09598 |
#include <gtkmm adjustment.h=""></gtkmm>
|
|
Carlos Lopez |
a09598 |
#include <gtkmm checkbutton.h=""></gtkmm>
|
|
Carlos Lopez |
a09598 |
#include <gtkmm notebook.h=""></gtkmm>
|
|
|
a4bbdd |
|
|
|
a4bbdd |
#include <synfig renddesc.h=""></synfig>
|
|
|
a4bbdd |
|
|
Nikita Kitaev |
3c2324 |
#include "widgets/widget_vector.h"
|
|
Nikita Kitaev |
3c2324 |
#include "widgets/widget_time.h"
|
|
[d.j.a.y] Jerome Blanchi |
bd2b32 |
#include "widgets/widget_link.h"
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* === M A C R O S ========================================================= */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* === T Y P E D E F S ===================================================== */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* === C L A S S E S & S T R U C T S ======================================= */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
namespace studio {
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
class Widget_RendDesc : public Gtk::Notebook
|
|
Carlos Lopez |
a09598 |
{
|
|
Carlos Lopez |
a09598 |
synfig::RendDesc rend_desc_;
|
|
Carlos Lopez |
a09598 |
sigc::signal<void> signal_changed_;</void>
|
|
Carlos Lopez |
a09598 |
|
|
|
536d22 |
Glib::RefPtr<gtk::adjustment> adjustment_width;</gtk::adjustment>
|
|
|
536d22 |
Glib::RefPtr<gtk::adjustment> adjustment_height;</gtk::adjustment>
|
|
|
536d22 |
Glib::RefPtr<gtk::adjustment> adjustment_xres;</gtk::adjustment>
|
|
|
536d22 |
Glib::RefPtr<gtk::adjustment> adjustment_yres;</gtk::adjustment>
|
|
|
536d22 |
Glib::RefPtr<gtk::adjustment> adjustment_phy_width;</gtk::adjustment>
|
|
|
536d22 |
Glib::RefPtr<gtk::adjustment> adjustment_phy_height;</gtk::adjustment>
|
|
|
536d22 |
Glib::RefPtr<gtk::adjustment> adjustment_fps;</gtk::adjustment>
|
|
|
536d22 |
Glib::RefPtr<gtk::adjustment> adjustment_span;</gtk::adjustment>
|
|
|
a4bbdd |
Glib::RefPtr<gtk::adjustment> adjustment_gamma_r;</gtk::adjustment>
|
|
|
a4bbdd |
Glib::RefPtr<gtk::adjustment> adjustment_gamma_g;</gtk::adjustment>
|
|
|
a4bbdd |
Glib::RefPtr<gtk::adjustment> adjustment_gamma_b;</gtk::adjustment>
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Gtk::SpinButton *entry_width;
|
|
Carlos Lopez |
a09598 |
Gtk::SpinButton *entry_height;
|
|
Carlos Lopez |
a09598 |
Gtk::SpinButton *entry_xres;
|
|
Carlos Lopez |
a09598 |
Gtk::SpinButton *entry_yres;
|
|
Carlos Lopez |
a09598 |
Gtk::SpinButton *entry_phy_width;
|
|
Carlos Lopez |
a09598 |
Gtk::SpinButton *entry_phy_height;
|
|
Carlos Lopez |
a09598 |
Gtk::SpinButton *entry_fps;
|
|
Carlos Lopez |
a09598 |
Gtk::SpinButton *entry_span;
|
|
|
a4bbdd |
Gtk::SpinButton *entry_gamma_r;
|
|
|
a4bbdd |
Gtk::SpinButton *entry_gamma_g;
|
|
|
a4bbdd |
Gtk::SpinButton *entry_gamma_b;
|
|
|
a4bbdd |
|
|
|
a4bbdd |
Gtk::Scale* scale_gamma_r;
|
|
|
a4bbdd |
Gtk::Scale* scale_gamma_g;
|
|
|
a4bbdd |
Gtk::Scale* scale_gamma_b;
|
|
Carlos Lopez |
a09598 |
|
|
[d.j.a.y] Jerome Blanchi |
bd2b32 |
Widget_Link *toggle_wh_ratio;
|
|
[d.j.a.y] Jerome Blanchi |
981c82 |
Widget_Link *toggle_res_ratio;
|
|
[d.j.a.y] Jerome Blanchi |
981c82 |
|
|
[d.j.a.y] Jerome Blanchi |
981c82 |
Gtk::Label *pixel_ratio_label;
|
|
[d.j.a.y] Jerome Blanchi |
bcf30c |
|
|
Carlos Lopez |
a09598 |
Gtk::CheckButton *toggle_px_aspect;
|
|
Carlos Lopez |
a09598 |
Gtk::CheckButton *toggle_px_width;
|
|
Carlos Lopez |
a09598 |
Gtk::CheckButton *toggle_px_height;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Gtk::CheckButton *toggle_im_aspect;
|
|
Carlos Lopez |
a09598 |
Gtk::CheckButton *toggle_im_width;
|
|
Carlos Lopez |
a09598 |
Gtk::CheckButton *toggle_im_height;
|
|
Carlos Lopez |
a09598 |
Gtk::CheckButton *toggle_im_span;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Gtk::Frame *time_frame;
|
|
|
a4bbdd |
Gtk::Frame *gamma_frame;
|
|
|
a4bbdd |
Gtk::Widget *gamma_pattern;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Widget_Vector *entry_tl;
|
|
Carlos Lopez |
a09598 |
Widget_Vector *entry_br;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Widget_Vector *entry_focus;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Widget_Time *entry_start_time;
|
|
Carlos Lopez |
a09598 |
Widget_Time *entry_end_time;
|
|
Carlos Lopez |
3cf655 |
Widget_Time *entry_duration;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
mutable int update_lock;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
struct UpdateLock
|
|
Carlos Lopez |
a09598 |
{
|
|
Carlos Lopez |
a09598 |
int &locked;
|
|
Carlos Lopez |
a09598 |
UpdateLock(int &locked):locked(locked){locked++;}
|
|
Carlos Lopez |
a09598 |
~UpdateLock(){locked--;}
|
|
Carlos Lopez |
a09598 |
};
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
public:
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
sigc::signal<void> &signal_changed() { return signal_changed_; }</void>
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Widget_RendDesc();
|
|
Carlos Lopez |
a09598 |
~Widget_RendDesc();
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
//! Sets the RendDesc
|
|
Carlos Lopez |
a09598 |
void set_rend_desc(const synfig::RendDesc &rend_desc);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
//! Applies the given RendDesc to the current RendDesc
|
|
Carlos Lopez |
a09598 |
void apply_rend_desc(const synfig::RendDesc &rend_desc);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
//! Retrieves the current RendDesc
|
|
Carlos Lopez |
a09598 |
const synfig::RendDesc &get_rend_desc();
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
void disable_time_section();
|
|
Carlos Lopez |
a09598 |
void enable_time_section();
|
|
Carlos Lopez |
a09598 |
|
|
|
a4bbdd |
void disable_gamma_section();
|
|
|
a4bbdd |
void enable_gamma_section();
|
|
|
a4bbdd |
|
|
Carlos Lopez |
a09598 |
void refresh();
|
|
rockyhandsome1 |
718029 |
|
|
Carlos Lopez |
a09598 |
private:
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
void on_width_changed();
|
|
Carlos Lopez |
a09598 |
void on_height_changed();
|
|
Carlos Lopez |
a09598 |
void on_xres_changed();
|
|
Carlos Lopez |
a09598 |
void on_yres_changed();
|
|
Carlos Lopez |
a09598 |
void on_phy_width_changed();
|
|
Carlos Lopez |
a09598 |
void on_phy_height_changed();
|
|
Carlos Lopez |
a09598 |
void on_tl_changed();
|
|
Carlos Lopez |
a09598 |
void on_br_changed();
|
|
Carlos Lopez |
a09598 |
void on_fps_changed();
|
|
Carlos Lopez |
a09598 |
void on_start_time_changed();
|
|
Carlos Lopez |
a09598 |
void on_end_time_changed();
|
|
Carlos Lopez |
3cf655 |
void on_duration_changed();
|
|
Carlos Lopez |
a09598 |
void on_lock_changed();
|
|
Carlos Lopez |
a09598 |
void on_focus_changed();
|
|
Carlos Lopez |
a09598 |
void on_span_changed();
|
|
|
a4bbdd |
void on_gamma_changed();
|
|
Carlos Lopez |
a09598 |
|
|
[d.j.a.y] Jerome Blanchi |
bcf30c |
void on_ratio_wh_toggled();
|
|
[d.j.a.y] Jerome Blanchi |
981c82 |
void on_ratio_res_toggled();
|
|
[d.j.a.y] Jerome Blanchi |
bcf30c |
|
|
Carlos Lopez |
a09598 |
void create_widgets();
|
|
Carlos Lopez |
a09598 |
void connect_signals();
|
|
Carlos Lopez |
a09598 |
Gtk::Widget *create_image_tab();
|
|
Carlos Lopez |
a09598 |
Gtk::Widget *create_time_tab();
|
|
|
a4bbdd |
Gtk::Widget *create_gamma_tab();
|
|
Carlos Lopez |
a09598 |
Gtk::Widget *create_other_tab();
|
|
Carlos Lopez |
a09598 |
};
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
}; // END of namespace studio
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* === E N D =============================================================== */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#endif
|