Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-core / trunk / src / synfig / target.h
index 9f0e525..9f6e304 100644 (file)
@@ -2,19 +2,21 @@
 /*!    \file target.h
 **     \brief Target Class Implementation
 **
-**     $Id: target.h,v 1.1.1.1 2005/01/04 01:23:15 darco Exp $
+**     $Id$
 **
 **     \legal
-**     Copyright (c) 2002 Robert B. Quattlebaum Jr.
+**     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007 Chris Moore
 **
-**     This software and associated documentation
-**     are CONFIDENTIAL and PROPRIETARY property of
-**     the above-mentioned copyright holder.
+**     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.
 **
-**     You may not copy, print, publish, or in any
-**     other way distribute this software without
-**     a prior written agreement with
-**     the copyright holder.
+**     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
 */
 /* ========================================================================= */
@@ -26,6 +28,7 @@
 
 /* === H E A D E R S ======================================================= */
 
+#include <sigc++/signal.h>
 #include "string_decl.h"
 #include <utility>
 //#include <list>
@@ -78,6 +81,27 @@ public:
        typedef etl::loose_handle<Target> LooseHandle;
        typedef etl::handle<const Target> ConstHandle;
 
+       /*
+ -- ** -- S I G N A L S -------------------------------------------------------
+       */
+
+private:
+
+       sigc::signal<void> signal_progress_;
+
+       /*
+ -- ** -- S I G N A L   I N T E R F A C E -------------------------------------
+       */
+
+public:
+
+       sigc::signal<void>& signal_progress() { return signal_progress_; }
+
+       /*
+ --    ** -- C O N S T R U C T O R S ---------------------------------------------
+       */
+
+public:
        typedef Target* (*Factory)(const char *filename);
 
        //! A type for a map of targets, indexed by the name of the Target
@@ -90,13 +114,13 @@ public:
 
        //! Map of target names indexed by associated file extension
        static ExtBook* ext_book_;
-       
+
        static Book& book();
        static ExtBook& ext_book();
 
        static bool subsys_init();
        static bool subsys_stop();
-       
+
        //! Adjusted Render description set by set_rend_desc()
        RendDesc desc;
 
@@ -106,9 +130,9 @@ public:
        Gamma gamma_;
 
        bool remove_alpha;
-       
+
        bool avoid_time_sync_;
-       
+
 protected:
 
        Target();
@@ -117,17 +141,17 @@ public:
        virtual ~Target() { }
 
        int get_quality()const { return quality_; }
-       
+
        void set_quality(int q) { quality_=q; }
-       
+
        void set_avoid_time_sync(bool x=true) { avoid_time_sync_=x; }
 
        bool get_avoid_time_sync()const { return avoid_time_sync_; }
-       
+
        bool get_remove_alpha()const { return remove_alpha; }
 
        void set_remove_alpha(bool x=true) { remove_alpha=x; }
-       
+
        Gamma &gamma() { return gamma_; }
 
        const Gamma &gamma()const { return gamma_; }
@@ -138,20 +162,20 @@ public:
 
        RendDesc &rend_desc() { return desc; }
        const RendDesc &rend_desc()const { return desc; }
-       
+
        //! Renders the canvas to the target
        virtual bool render(ProgressCallback *cb=NULL)=0;
 
        //! Sets the RendDesc for the Target to \a desc.
        /*!     If there are any parts of \a desc that the render target
        **      is not capable of doing, the render target will adjust
-       **      \a desc to fit it's needs.
+       **      \a desc to fit its needs.
        */
        virtual bool set_rend_desc(RendDesc *d) { desc=*d; return true; }
 
        virtual bool init() { return true; }
 
-       //! Creates a new Target described by \a type, outputing to a file described by \a filename.
+       //! Creates a new Target described by \a type, outputting to a file described by \a filename.
        static Handle create(const String &type, const String &filename);
 }; // END of class Target