summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjmoenig <jens@moenig.org>2014-02-13 09:54:40 +0100
committerjmoenig <jens@moenig.org>2014-02-13 09:54:40 +0100
commit505859533586e697442b349a545aa0307784c9f4 (patch)
treee410f910684c1314f03364fd170a19dd6d7375ed
parentdac7460e7644e49be8eca2885500f8ea6616b511 (diff)
downloadsnap-byow-505859533586e697442b349a545aa0307784c9f4.tar.gz
snap-byow-505859533586e697442b349a545aa0307784c9f4.zip
Constrain minimum stage size to 480 x 180
-rw-r--r--gui.js15
-rwxr-xr-xhistory.txt4
-rw-r--r--store.js6
3 files changed, 15 insertions, 10 deletions
diff --git a/gui.js b/gui.js
index 86a4db1..cd9a62b 100644
--- a/gui.js
+++ b/gui.js
@@ -68,7 +68,7 @@ sb, CommentMorph, CommandBlockMorph, BlockLabelPlaceHolderMorph, Audio*/
// Global stuff ////////////////////////////////////////////////////////
-modules.gui = '2014-February-11';
+modules.gui = '2014-February-13';
// Declarations
@@ -3515,7 +3515,7 @@ IDE_Morph.prototype.userSetStageHeight = function () {
IDE_Morph.prototype.setStageWidth = function (num) {
this.setStageExtent(new Point(
- Math.max(num, 240),
+ num,
(StageMorph.prototype.dimensions.y)
));
};
@@ -3523,20 +3523,21 @@ IDE_Morph.prototype.setStageWidth = function (num) {
IDE_Morph.prototype.setStageHeight = function (num) {
this.setStageExtent(new Point(
(StageMorph.prototype.dimensions.x),
- Math.max(num, 180)
+ num
));
};
IDE_Morph.prototype.setStageExtent = function (aPoint) {
- var myself = this;
+ var myself = this,
+ ext = aPoint.max(new Point(480, 180));
function zoom() {
myself.step = function () {
- var delta = aPoint.subtract(
+ var delta = ext.subtract(
StageMorph.prototype.dimensions
).divideBy(2);
if (delta.abs().lt(new Point(5, 5))) {
- StageMorph.prototype.dimensions = aPoint;
+ StageMorph.prototype.dimensions = ext;
delete myself.step;
} else {
StageMorph.prototype.dimensions =
@@ -3555,7 +3556,7 @@ IDE_Morph.prototype.setStageExtent = function (aPoint) {
if (this.isAnimating) {
zoom();
} else {
- StageMorph.prototype.dimensions = aPoint;
+ StageMorph.prototype.dimensions = ext;
this.stage.setExtent(StageMorph.prototype.dimensions);
this.stage.clearPenTrails();
this.fixLayout();
diff --git a/history.txt b/history.txt
index a99517e..236b983 100755
--- a/history.txt
+++ b/history.txt
@@ -2095,3 +2095,7 @@ ______
* GUI: Set stage dimensions arbitrarily (new entries in the settings menu when holding shift)
* Store: Saving & Loading for arbitrary stage dimensions in the project data
* new Date block, thanks, Michael!!!
+
+140213
+------
+* GUI, Store: constrain minimum stage size to 480 x 180
diff --git a/store.js b/store.js
index eaa3301..b3f5d95 100644
--- a/store.js
+++ b/store.js
@@ -61,7 +61,7 @@ SyntaxElementMorph*/
// Global stuff ////////////////////////////////////////////////////////
-modules.store = '2014-February-11';
+modules.store = '2014-February-13';
// XML_Serializer ///////////////////////////////////////////////////////
@@ -380,11 +380,11 @@ SnapSerializer.prototype.loadProjectModel = function (xmlNode) {
StageMorph.prototype.dimensions = new Point(480, 360);
if (model.stage.attributes.width) {
StageMorph.prototype.dimensions.x =
- +model.stage.attributes.width;
+ Math.max(+model.stage.attributes.width, 480);
}
if (model.stage.attributes.height) {
StageMorph.prototype.dimensions.y =
- +model.stage.attributes.height;
+ Math.max(+model.stage.attributes.height, 180);
}
project.stage.setExtent(StageMorph.prototype.dimensions);
SpriteMorph.prototype.useFlatLineEnds =