/* === S Y N F I G ========================================================= */ /*! \file dialog_preview.h ** \brief Preview dialog Header ** ** $Id: dialog_preview.h 336 2007-03-16 00:39:42Z dooglus $ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as ** published by the Free Software Foundation; either version 2 of ** the License, or (at your option) any later version. ** ** This package is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ** General Public License for more details. ** \endlegal */ /* ========================================================================= */ /* === S T A R T =========================================================== */ #ifndef __SYNFIG_GTKMM_DIALOG_PREVIEW_H #define __SYNFIG_GTKMM_DIALOG_PREVIEW_H /* === H E A D E R S ======================================================= */ #include #include #include #include #include #include "preview.h" #include /* === M A C R O S ========================================================= */ /* === T Y P E D E F S ===================================================== */ /* === C L A S S E S & S T R U C T S ======================================= */ namespace studio { struct PreviewInfo { float zoom,fps,begintime,endtime; bool overbegin,overend; }; class Dialog_Preview : public Gtk::Dialog { Widget_Preview preview; DialogSettings settings; //etl::handle canvas; public: Dialog_Preview(); ~Dialog_Preview(); void set_preview(etl::handle prev); Widget_Preview &get_widget() {return preview;} const Widget_Preview &get_widget() const {return preview;} virtual void on_hide(); //other forwarding functions... }; // END of Dialog_Preview class Dialog_PreviewOptions : public Gtk::Dialog { //all the info needed to construct a render description... Gtk::Adjustment adj_zoom; // factor at which to resize the window... Gtk::Adjustment adj_fps; // how often to take samples of the animation studio::Widget_Time time_begin; studio::Widget_Time time_end; Gtk::CheckButton check_overbegin; Gtk::CheckButton check_overend; DialogSettings settings; float globalfps; // for finishing void on_ok_pressed(); void on_cancel_pressed(); //for ui stuff void on_overbegin_toggle(); void on_overend_toggle(); sigc::signal signal_finish_; public: Dialog_PreviewOptions(); ~Dialog_PreviewOptions(); float get_zoom() const { return adj_zoom.get_value(); } void set_zoom(float z) { adj_zoom.set_value(z); } float get_fps() const { return adj_fps.get_value(); } void set_fps(float z) { adj_fps.set_value(z); } float get_global_fps() const { return globalfps; } void set_global_fps(float f); synfig::Time get_begintime() const { return time_begin.get_value(); } void set_begintime(const synfig::Time &t) { time_begin.set_value(t); } synfig::Time get_endtime() const { return time_end.get_value(); } void set_endtime(const synfig::Time &t) { time_end.set_value(t); } bool get_begin_override() const { return check_overbegin.get_active(); } void set_begin_override(bool o) { check_overbegin.set_active(o); } bool get_end_override() const { return check_overend.get_active(); } void set_end_override(bool o) { check_overend.set_active(o); } sigc::signal &signal_finish() {return signal_finish_;} }; }; // END of namespace studio /* === E N D =============================================================== */ #endif