00001
00022
00023
00024
00025
00026 #ifndef __SYNFIG_LISTIMPORTER_H
00027 #define __SYNFIG_LISTIMPORTER_H
00028
00029
00030
00031 #include "importer.h"
00032 #include "surface.h"
00033 #include <ETL/smart_ptr>
00034 #include <vector>
00035
00036 #include <list>
00037 #include <utility>
00038
00039
00040
00041
00042
00043
00044
00045 namespace synfig {
00046
00050 class ListImporter : public Importer
00051 {
00052 float fps;
00053 std::vector<String> filename_list;
00054 std::list<std::pair<String,Surface> > frame_cache;
00055 protected:
00056 ListImporter(const String &filename);
00057
00058 public:
00059
00060 virtual ~ListImporter();
00061
00062 virtual bool get_frame(Surface &surface,Time time, ProgressCallback *callback=NULL);
00063
00064 virtual bool is_animated();
00065
00066 static Importer* create(const char *filename);
00067 };
00068
00069 };
00070
00071
00072
00073 #endif