Redraw view once Raster has finished loading.

This commit is contained in:
Jürg Lehni 2012-11-27 14:12:34 -08:00
parent 83867f01f3
commit 398ee1a338

View file

@ -44,7 +44,12 @@ var Raster = this.Raster = PlacedItem.extend(/** @lends Raster# */{
// If it's a string, get the element with this id first.
if (typeof object === 'string') {
var str = object,
that = this;
that = this,
done = function() {
that.fire('load');
if (that._project.view)
that._project.view.draw(true);
};
object = document.getElementById(str);
if (!object) {
// str could be a URL to load the image from?
@ -55,18 +60,14 @@ var Raster = this.Raster = PlacedItem.extend(/** @lends Raster# */{
DomEvent.add(object, {
load: function() {
that.setImage(object);
that.fire('load');
done();
}
});
// If the image is already loaded, fire a 'load' event anyway,
// so code does not need to make the distinction, and cachig is
// transparently handled too.
if (object.naturalWidth) {
setTimeout(function() {
that.fire('load');
}, 0);
}
if (object.naturalWidth)
setTimeout(done, 0);
}
/*#*/ } else if (options.server) {
// If we're running on the server and it's a string,