X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Fsrc%2Fsynfigapp%2Fmain.h;fp=synfig-studio%2Fsrc%2Fsynfigapp%2Fmain.h;h=cc33ef8ddb367e5cb820db9a3d17480f4578b271;hb=a095981e18cc37a8ecc7cd237cc22b9c10329264;hp=0000000000000000000000000000000000000000;hpb=9459638ad6797b8139f1e9f0715c96076dbf0890;p=synfig.git diff --git a/synfig-studio/src/synfigapp/main.h b/synfig-studio/src/synfigapp/main.h new file mode 100644 index 0000000..cc33ef8 --- /dev/null +++ b/synfig-studio/src/synfigapp/main.h @@ -0,0 +1,113 @@ +/* === S Y N F I G ========================================================= */ +/*! \file synfigapp/main.h +** \brief Template Header +** +** $Id$ +** +** \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 __SYNFIGAPP_MAIN_H +#define __SYNFIGAPP_MAIN_H + +/* === H E A D E R S ======================================================= */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "inputdevice.h" +#include "settings.h" + +/* === 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 synfig { + class Color; + class Gradient; +}; + +namespace synfigapp { + +/*! \class synfigapp::Main +** \brief \writeme +** +** \writeme +*/ +class Main : public synfig::Main +{ + etl::reference_counter ref_count_; +public: + Main(const synfig::String &basepath,synfig::ProgressCallback *cb=0); + ~Main(); + + const etl::reference_counter& ref_count()const { return ref_count_; } + + static const synfig::Color& get_outline_color(); + static const synfig::Color& get_fill_color(); + static const synfig::Gradient& get_gradient(); + static const synfig::Distance& get_bline_width(); + static synfig::Waypoint::Interpolation get_interpolation(); + + + static void set_interpolation(synfig::Waypoint::Interpolation x); + static void set_bline_width(synfig::Distance x); + static void set_outline_color(synfig::Color color); + static void set_fill_color(synfig::Color color); + static void set_gradient(synfig::Gradient gradient); + static void set_gradient_default_colors(); + static void color_swap(); + + static synfig::Color::BlendMethod get_blend_method(); + static const synfig::Real& get_opacity(); + static void set_blend_method(synfig::Color::BlendMethod); + static void set_opacity(synfig::Real); + static sigc::signal& signal_blend_method_changed(); + static sigc::signal& signal_opacity_changed(); + static sigc::signal& signal_interpolation_changed(); + + // Input Device stuff + static InputDevice::Handle add_input_device(const synfig::String id_, InputDevice::Type type_=InputDevice::TYPE_MOUSE); + static InputDevice::Handle find_input_device(const synfig::String id_); + static InputDevice::Handle select_input_device(const synfig::String id_); + static bool select_input_device(InputDevice::Handle input_device); + static InputDevice::Handle get_selected_input_device(); + static void set_state(synfig::String state); + + static Settings& settings(); + + // Signal interfaces + static sigc::signal& signal_outline_color_changed(); + static sigc::signal& signal_fill_color_changed(); + static sigc::signal& signal_gradient_changed(); + static sigc::signal& signal_bline_width_changed(); + +}; // END of class Main + +}; // END if namespace synfigapp +/* === E N D =============================================================== */ + +#endif