X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Ftarget.h;h=19dc29519959ec7411255aad400fecd12958d015;hb=c3e45b84cbe115d9a8d216f1ce99d06fdd49ccca;hp=9db49119285e6a9ac37ce695af9999604d702df1;hpb=e8a065f2385c219c511b57dac52786120bfa097d;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/target.h b/synfig-core/trunk/src/synfig/target.h index 9db4911..19dc295 100644 --- a/synfig-core/trunk/src/synfig/target.h +++ b/synfig-core/trunk/src/synfig/target.h @@ -2,7 +2,7 @@ /*! \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-2005 Robert B. Quattlebaum Jr., Adrian Bentley @@ -27,6 +27,7 @@ /* === H E A D E R S ======================================================= */ +#include #include "string_decl.h" #include //#include @@ -79,6 +80,27 @@ public: typedef etl::loose_handle LooseHandle; typedef etl::handle ConstHandle; + /* + -- ** -- S I G N A L S ------------------------------------------------------- + */ + +private: + + sigc::signal signal_progress_; + + /* + -- ** -- S I G N A L I N T E R F A C E ------------------------------------- + */ + +public: + + sigc::signal& 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 @@ -91,13 +113,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; @@ -107,9 +129,9 @@ public: Gamma gamma_; bool remove_alpha; - + bool avoid_time_sync_; - + protected: Target(); @@ -118,17 +140,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_; } @@ -139,20 +161,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