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