]> git.tdb.fi Git - libs/gui.git/blobdiff - source/graphics/imageloader.cpp
Split image loading into headers and pixels
[libs/gui.git] / source / graphics / imageloader.cpp
index 2c6ce217381f4dcbf1f33bec50104eeee6c1987c..fa6fcf802b2a57eb6d852e34c6363d375e521ba4 100644 (file)
@@ -89,10 +89,21 @@ void ImageLoader::load(Image::Data &data)
        if(state>=FINISHED)
                throw logic_error("already loaded");
 
-       load_(data);
+       if(state<HEADERS_LOADED)
+               load_headers_(data);
+       load_pixels_(data);
        state = FINISHED;
 }
 
+void ImageLoader::load_headers(Image::Data &data)
+{
+       if(state>=HEADERS_LOADED)
+               throw logic_error("headers already loaded");
+
+       load_headers_(data);
+       state = HEADERS_LOADED;
+}
+
 ImageLoader::Registry &ImageLoader::get_registry()
 {
        static Registry registry;