X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Ftarget.h;h=9f6e3049011f285ad47777ebdbb25ff296dec14e;hb=8746b1938adf421216cfffa4a442a776beb10b65;hp=9f0e525b8c8470184f236b3cce45918bb063e18f;hpb=28f28705612902c15cd0702cc891fba35bf2d2df;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/target.h b/synfig-core/trunk/src/synfig/target.h index 9f0e525..9f6e304 100644 --- a/synfig-core/trunk/src/synfig/target.h +++ b/synfig-core/trunk/src/synfig/target.h @@ -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 #include "string_decl.h" #include //#include @@ -78,6 +81,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 @@ -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