X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fsynfig%2Fimporter.h;h=7244f2c969c23f1a5ad6cdcedaf8f31f4b78495f;hb=d43ed398fd84b93b96eb91d91dafdf65c80537e6;hp=30ec899a5db5e5f749747301cf05bdf21ed15823;hpb=37a745c011b9e7be0d91e0df500d4f14837c8706;p=synfig.git diff --git a/synfig-core/src/synfig/importer.h b/synfig-core/src/synfig/importer.h index 30ec899..7244f2c 100644 --- a/synfig-core/src/synfig/importer.h +++ b/synfig-core/src/synfig/importer.h @@ -33,12 +33,15 @@ #include "string.h" #include "time.h" #include "gamma.h" +#include "renddesc.h" /* === M A C R O S ========================================================= */ //! Defines various variables and the create method, common for all importers. //! To be used in the private part of the importer class definition. -#define SYNFIG_IMPORTER_MODULE_EXT public: static const char name__[], version__[], ext__[],cvs_id__[]; static Importer *create(const char *filename); +#define SYNFIG_IMPORTER_MODULE_EXT \ + public: static const char name__[], version__[], ext__[],cvs_id__[]; \ + static Importer *create(const char *filename); //! Sets the name of the importer. #define SYNFIG_IMPORTER_SET_NAME(class,x) const char class::name__[]=x @@ -52,7 +55,8 @@ //! Sets the CVS ID of the importer. #define SYNFIG_IMPORTER_SET_CVS_ID(class,x) const char class::cvs_id__[]=x -//! Defines de implementation of the create method for the importer. +//! Defines de implementation of the create method for the importer +//! \param filename The file name to be imported by the importer. #define SYNFIG_IMPORTER_INIT(class) synfig::Importer* class::create(const char *filename) { return new class(filename); } /* === T Y P E D E F S ===================================================== */ @@ -69,16 +73,18 @@ class ProgressCallback; * * It is the base class for all the importers. It defines the has a static Book * pointer class that is a map for the importers factory creators and the strings -* of the importers class names. It allows to create the a pointer to a particular -* importer just by using the string of the name of the importer. -* Also it creates a virtual member get_frame that must be declared in the inherited -* classes. -* +* of the extension that the importer can understand. It allows to create the a +* pointer to a particular importer just by using the extension of the name of file +* to import. Also it creates a virtual member get_frame that must be declared in +* the inherited classes. +* \see module.h ** \ */ class Importer : public etl::shared_object { public: + //! Type that represents a pointer to a Importer's constructor. + //! As a pointer to the constructor, it represents a "factory" of importers. typedef Importer* (*Factory)(const char *filename); typedef std::map Book; static Book* book_; @@ -97,7 +103,7 @@ public: typedef etl::handle ConstHandle; private: - //! Gamm of the imoporter. + //! Gamma of the importer. //! \todo Do not hardcode the gamma to 2.2 Gamma gamma_; @@ -119,8 +125,8 @@ public: ** \return \c true on success, \c false on error ** \see ProgressCallback, Surface */ - virtual bool get_frame(Surface &surface,Time time, ProgressCallback *callback=NULL)=0; - virtual bool get_frame(Surface &surface,Time time, + virtual bool get_frame(Surface &surface, const RendDesc &renddesc, Time time, ProgressCallback *callback=NULL)=0; + virtual bool get_frame(Surface &surface, const RendDesc &renddesc,Time time, bool &trimmed __attribute__ ((unused)), unsigned int &width __attribute__ ((unused)), unsigned int &height __attribute__ ((unused)), @@ -128,7 +134,7 @@ public: unsigned int &left __attribute__ ((unused)), ProgressCallback *callback=NULL) { - return get_frame(surface,time,callback); + return get_frame(surface,renddesc,time,callback); } //! Returns \c true if the importer pays attention to the \a time parameter of get_frame()