summaryrefslogtreecommitdiff
path: root/morphic.js
diff options
context:
space:
mode:
authorjmoenig <jens@moenig.org>2013-06-21 09:06:46 +0200
committerjmoenig <jens@moenig.org>2013-06-21 09:06:46 +0200
commit25ea3d4a16696989824df9994f4024ba5aebc7ca (patch)
treef8ab294e141e7cf3d422825c7142993c765554ac /morphic.js
parentbed3e03e65efdf1713036733ecbb011fae263b90 (diff)
downloadsnap-25ea3d4a16696989824df9994f4024ba5aebc7ca.tar.gz
snap-25ea3d4a16696989824df9994f4024ba5aebc7ca.zip
Morphic, Blocks: "flat" design fix
Handle manually "unshadowed" StringMorphs without throwing an exception. This lets you load the tools library into "flat" mode again.
Diffstat (limited to 'morphic.js')
-rw-r--r--morphic.js16
1 files changed, 8 insertions, 8 deletions
diff --git a/morphic.js b/morphic.js
index 5b2c67c..b154dc8 100644
--- a/morphic.js
+++ b/morphic.js
@@ -1035,7 +1035,7 @@
/*global window, HTMLCanvasElement, getMinimumFontHeight, FileReader, Audio,
FileList, getBlurredShadowSupport*/
-var morphicVersion = '2013-June-06';
+var morphicVersion = '2013-June-21';
var modules = {}; // keep track of additional loaded modules
var useBlurredShadows = getBlurredShadowSupport(); // check for Chrome-bug
@@ -6975,6 +6975,7 @@ StringMorph.prototype.font = function () {
StringMorph.prototype.drawNew = function () {
var context, width, start, stop, i, p, c, x, y,
+ shadowOffset = this.shadowOffset || new Point(),
txt = this.isPassword ?
this.password('*', this.text.length) : this.text;
@@ -6985,14 +6986,13 @@ StringMorph.prototype.drawNew = function () {
// set my extent
width = Math.max(
- context.measureText(txt).width +
- Math.abs(this.shadowOffset.x),
+ context.measureText(txt).width + Math.abs(shadowOffset.x),
1
);
this.bounds.corner = this.bounds.origin.add(
new Point(
width,
- fontHeight(this.fontSize) + Math.abs(this.shadowOffset.y)
+ fontHeight(this.fontSize) + Math.abs(shadowOffset.y)
)
);
this.image.width = width;
@@ -7005,15 +7005,15 @@ StringMorph.prototype.drawNew = function () {
// first draw the shadow, if any
if (this.shadowColor) {
- x = Math.max(this.shadowOffset.x, 0);
- y = Math.max(this.shadowOffset.y, 0);
+ x = Math.max(shadowOffset.x, 0);
+ y = Math.max(shadowOffset.y, 0);
context.fillStyle = this.shadowColor.toString();
context.fillText(txt, x, fontHeight(this.fontSize) + y);
}
// now draw the actual text
- x = Math.abs(Math.min(this.shadowOffset.x, 0));
- y = Math.abs(Math.min(this.shadowOffset.y, 0));
+ x = Math.abs(Math.min(shadowOffset.x, 0));
+ y = Math.abs(Math.min(shadowOffset.y, 0));
context.fillStyle = this.color.toString();
if (this.isShowingBlanks) {