]> git.tdb.fi Git - libs/gui.git/blobdiff - source/graphics/jpeg/jpegloader.cpp
Split image loading into headers and pixels
[libs/gui.git] / source / graphics / jpeg / jpegloader.cpp
index f61f651d5db13104c6ec6e54c397d5d10929d3fc..4dd9440f7856d2731585acc5db4aef8325bb83ac 100644 (file)
@@ -119,7 +119,7 @@ bool JpegLoader::detect(const string &sig)
        return !sig.compare(0, sizeof(jpeg_sig), jpeg_sig, sizeof(jpeg_sig));
 }
 
-void JpegLoader::load_(Image::Data &data)
+void JpegLoader::load_headers_(Image::Data &data)
 {
        if(setjmp(priv->err_mgr.jmp))
                throw bad_image_data(priv->err_mgr.message);
@@ -132,7 +132,10 @@ void JpegLoader::load_(Image::Data &data)
        data.height = priv->jpeg.output_height;
        data.stride = priv->jpeg.output_width*priv->jpeg.output_components;
        data.fmt = RGB;
+}
 
+void JpegLoader::load_pixels_(Image::Data &data)
+{
        data.pixels = new char[data.stride*data.height];
        JSAMPROW rows[8];
        while(priv->jpeg.output_scanline<data.height)