fixed #277, #279 (blitting null-canvasses fails)

Thanks, Nathan, for the pointer to this!
pull/3/merge
jmoenig 2013-12-12 14:55:40 +01:00
rodzic f0268d9cd8
commit 59a39077b8
3 zmienionych plików z 29 dodań i 18 usunięć

Wyświetl plik

@ -2035,3 +2035,7 @@ ______
131211
------
* Threads: accept lists as inputs to the green (text) LENGTH OF reporter
131212
------
* Objects, Morphic: fixed #277, #279 (blitting null-canvasses fails)

Wyświetl plik

@ -1035,7 +1035,7 @@
/*global window, HTMLCanvasElement, getMinimumFontHeight, FileReader, Audio,
FileList, getBlurredShadowSupport*/
var morphicVersion = '2013-November-22';
var morphicVersion = '2013-December-12';
var modules = {}; // keep track of additional loaded modules
var useBlurredShadows = getBlurredShadowSupport(); // check for Chrome-bug
@ -2735,11 +2735,13 @@ Morph.prototype.fullImage = function () {
this.allChildren().forEach(function (morph) {
if (morph.isVisible) {
ctx.globalAlpha = morph.alpha;
ctx.drawImage(
morph.image,
morph.bounds.origin.x - fb.origin.x,
morph.bounds.origin.y - fb.origin.y
);
if (morph.extent().gt(new Point())) {
ctx.drawImage(
morph.image,
morph.bounds.origin.x - fb.origin.x,
morph.bounds.origin.y - fb.origin.y
);
}
}
});
return img;
@ -4581,6 +4583,7 @@ CursorMorph.prototype.processKeyDown = function (event) {
this.keyDownEventUsed = true;
break;
default:
nop();
// this.inspectKeyEvent(event);
}
// notify target's parent of key event

Wyświetl plik

@ -124,7 +124,7 @@ PrototypeHatBlockMorph*/
// Global stuff ////////////////////////////////////////////////////////
modules.objects = '2013-December-04';
modules.objects = '2013-December-12';
var SpriteMorph;
var StageMorph;
@ -3373,12 +3373,14 @@ SpriteMorph.prototype.thumbnail = function (extentPoint) {
ctx = trg.getContext('2d');
ctx.save();
ctx.scale(scale, scale);
ctx.drawImage(
src,
Math.floor(xOffset / scale),
Math.floor(yOffset / scale)
);
if (scale !== Infinity) {
ctx.scale(scale, scale);
ctx.drawImage(
src,
Math.floor(xOffset / scale),
Math.floor(yOffset / scale)
);
}
return trg;
};
@ -4662,11 +4664,13 @@ StageMorph.prototype.thumbnail = function (extentPoint, excludedSprite) {
this.children.forEach(function (morph) {
if (morph !== excludedSprite) {
fb = morph.fullBounds();
ctx.drawImage(
morph.fullImage(),
fb.origin.x - myself.bounds.origin.x,
fb.origin.y - myself.bounds.origin.y
);
if (fb.extent().gt(new Point())) {
ctx.drawImage(
morph.fullImage(),
fb.origin.x - myself.bounds.origin.x,
fb.origin.y - myself.bounds.origin.y
);
}
}
});
return trg;