X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Ftarget.h;fp=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Ftarget.h;h=0000000000000000000000000000000000000000;hb=a095981e18cc37a8ecc7cd237cc22b9c10329264;hp=9f6e3049011f285ad47777ebdbb25ff296dec14e;hpb=9459638ad6797b8139f1e9f0715c96076dbf0890;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/target.h b/synfig-core/trunk/src/synfig/target.h deleted file mode 100644 index 9f6e304..0000000 --- a/synfig-core/trunk/src/synfig/target.h +++ /dev/null @@ -1,187 +0,0 @@ -/* === S Y N F I G ========================================================= */ -/*! \file target.h -** \brief Target Class Implementation -** -** $Id$ -** -** \legal -** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley -** Copyright (c) 2007 Chris Moore -** -** 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_TARGET_H -#define __SYNFIG_TARGET_H - -/* === H E A D E R S ======================================================= */ - -#include -#include "string_decl.h" -#include -//#include -#include -#include -#include "renddesc.h" -//#include "general.h" -#include "color.h" -#include "canvas.h" - -/* === M A C R O S ========================================================= */ - -//! \writeme -#define SYNFIG_TARGET_MODULE_EXT public: static const char name__[], version__[], ext__[],cvs_id__[]; static Target *create(const char *filename); - -//! Sets the name of the target -#define SYNFIG_TARGET_SET_NAME(class,x) const char class::name__[]=x - -//! \writeme -#define SYNFIG_TARGET_SET_EXT(class,x) const char class::ext__[]=x - -//! Sets the version of the target -#define SYNFIG_TARGET_SET_VERSION(class,x) const char class::version__[]=x - -//! Sets the CVS ID of the target -#define SYNFIG_TARGET_SET_CVS_ID(class,x) const char class::cvs_id__[]=x - -//! \writeme -#define SYNFIG_TARGET_INIT(class) synfig::Target* class::create(const char *filename) { return new class(filename); } - -/* === 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 Surface; -class RendDesc; -class Canvas; -class ProgressCallback; - -/*! \class Target -** \brief Render-target -** \todo writeme -*/ -class Target : public etl::shared_object -{ -public: - typedef etl::handle Handle; - 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 - typedef std::map > Book; - - typedef std::map ExtBook; - - //! Target Book, indexed by the target's name - static Book* book_; - - //! 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; - - etl::handle canvas; - - int quality_; - Gamma gamma_; - - bool remove_alpha; - - bool avoid_time_sync_; - -protected: - - Target(); - -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_; } - - virtual void set_canvas(etl::handle c); - - const etl::handle &get_canvas()const { return canvas; } - - 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 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, outputting to a file described by \a filename. - static Handle create(const String &type, const String &filename); -}; // END of class Target - -}; // END of namespace synfig - -/* === E N D =============================================================== */ - -#include "canvas.h" -#endif