2018-11-24 12:06:07 +00:00
|
|
|
|
|
|
|
Process.prototype.proxy = 'https://turtlestitch.org:8080';
|
2021-07-12 15:48:40 +00:00
|
|
|
Process.prototype.enableJS = true;
|
2018-11-24 12:06:07 +00:00
|
|
|
|
2017-02-28 21:26:29 +00:00
|
|
|
Process.prototype.reportMouseX = function () {
|
|
|
|
var stage, world;
|
|
|
|
if (this.homeContext.receiver) {
|
|
|
|
stage = this.homeContext.receiver.parentThatIsA(StageMorph);
|
|
|
|
if (stage) {
|
|
|
|
world = stage.world();
|
|
|
|
if (world) {
|
2019-01-17 00:35:47 +00:00
|
|
|
return (
|
|
|
|
(world.hand.position().x - stage.center().x)
|
|
|
|
/ stage.camera.zoomFactor
|
|
|
|
/ stage.scale
|
|
|
|
* 2
|
|
|
|
+ stage.controls.center.x
|
|
|
|
);
|
2017-02-28 21:26:29 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
};
|
|
|
|
|
|
|
|
Process.prototype.reportMouseY = function () {
|
|
|
|
var stage, world;
|
|
|
|
if (this.homeContext.receiver) {
|
|
|
|
stage = this.homeContext.receiver.parentThatIsA(StageMorph);
|
|
|
|
if (stage) {
|
|
|
|
world = stage.world();
|
|
|
|
if (world) {
|
2019-01-17 00:35:47 +00:00
|
|
|
return (
|
|
|
|
(stage.center().y - world.hand.position().y)
|
|
|
|
/ stage.camera.zoomFactor
|
|
|
|
/ stage.scale
|
|
|
|
* 2
|
|
|
|
+ stage.controls.center.y
|
|
|
|
);
|
2017-02-28 21:26:29 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
};
|
2018-10-23 18:21:12 +00:00
|
|
|
|
|
|
|
Process.prototype.zoomToFit = function() {
|
|
|
|
stage = this.homeContext.receiver.parentThatIsA(StageMorph);
|
|
|
|
if (stage) {
|
|
|
|
stage.camera.fitScene();
|
|
|
|
}
|
|
|
|
}
|
2018-10-24 08:31:05 +00:00
|
|
|
|
|
|
|
Process.prototype.reportPi = function (min, max) {
|
|
|
|
return Math.PI;
|
|
|
|
};
|
|
|
|
|
2018-11-24 12:06:07 +00:00
|
|
|
Process.prototype.reportProxiedURL = function (url) {
|
|
|
|
return this.reportURL(this.proxy + '/' + url);
|
|
|
|
};
|
2021-08-21 14:07:12 +00:00
|
|
|
|
|
|
|
Process.prototype.origReportDistanceTo = Process.prototype.reportDistanceTo;
|
|
|
|
Process.prototype.reportDistanceTo = function (name) {
|
|
|
|
var thisObj = this.blockReceiver();
|
|
|
|
if (thisObj && this.inputOption(name) === 'mouse-pointer') {
|
|
|
|
return new Point(thisObj.xPosition(), thisObj.yPosition())
|
|
|
|
.distanceTo(new Point(this.reportMouseX(), this.reportMouseY()));
|
|
|
|
} else {
|
|
|
|
return this.origReportDistanceTo(name);
|
2021-08-28 10:40:43 +00:00
|
|
|
|
2021-08-23 14:32:48 +00:00
|
|
|
Process.prototype.origDoGotoObject = Process.prototype.doGotoObject;
|
|
|
|
Process.prototype.doGotoObject = function (name) {
|
|
|
|
var thisObj = this.blockReceiver(),
|
|
|
|
stage;
|
|
|
|
|
|
|
|
if (thisObj && this.inputOption(name) === 'random position') {
|
|
|
|
stage = thisObj.parentThatIsA(StageMorph);
|
|
|
|
if (stage) {
|
|
|
|
thisObj.gotoXY(this.reportBasicRandom(stage.reportX(stage.left()), stage.reportX(stage.right())),
|
|
|
|
this.reportBasicRandom(stage.reportY(stage.top()), stage.reportY(stage.bottom())));
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
this.origDoGotoObject(name);
|
2021-08-21 14:07:12 +00:00
|
|
|
}
|
|
|
|
};
|