Merged requested to merge Tamaranch/ristretto:async-image-loading into master
Closes #16 (closed), #29 (closed), #32 (closed).
Reading files is already handled asynchronously, but data parsing by the pixbuf loader is blocking. Unfortunately, gdk-pixbuf does not offer an asynchronous API that covers both:
- loading a single image;
- loading an animation;
- loading at reduced scale (the "Limit rendering quality" option of Ristretto).
GdkPixbufLoader is the only object to cover all these possibilities in a unified API, in addition to allowing progressive loading (even if the latter is not really used by Ristretto). So it seems easiest to keep the current implementation, adding the asynchronous character "by hand", via a GTask.