]> git.tdb.fi Git - libs/gui.git/blobdiff - source/graphics/imageloader.h
Remove destructor declarations from exception classes
[libs/gui.git] / source / graphics / imageloader.h
index cb3f54ac204f303afe23e5bfc30b111ece28f33a..9a69aca8da3058f3a903e30e92575a9dec21d346 100644 (file)
@@ -10,14 +10,12 @@ class unsupported_image_format: public std::runtime_error
 {
 public:
        unsupported_image_format(const std::string &w): std::runtime_error(w) { }
-       virtual ~unsupported_image_format() throw() { }
 };
 
 class bad_image_data: public std::runtime_error
 {
 public:
        bad_image_data(const std::string &w): std::runtime_error(w) { }
-       virtual ~bad_image_data() throw() { }
 };
 
 
@@ -27,6 +25,7 @@ public:
        enum State
        {
                INITIAL,
+               HEADERS_LOADED,
                FINISHED
        };
 
@@ -70,12 +69,15 @@ protected:
 public:
        virtual ~ImageLoader();
 
+       static bool detect_signature(const std::string &);
        static ImageLoader *open_file(const std::string &);
        static ImageLoader *open_io(IO::Seekable &);
 
        virtual void load(Image::Data &);
+       virtual void load_headers(Image::Data &);
 protected:
-       virtual void load_(Image::Data &) = 0;
+       virtual void load_headers_(Image::Data &) = 0;
+       virtual void load_pixels_(Image::Data &) = 0;
 
 public:
        State get_state() const { return state; }