added selectors for sprites' bounding box (left, right, top, bottom) to MY dropdown

pull/89/head
jmoenig 2019-10-17 18:07:59 +02:00
rodzic 43546f412d
commit e4fd60f6cc
5 zmienionych plików z 72 dodań i 6 usunięć

Wyświetl plik

@ -2,6 +2,7 @@
## in development:
* **New Features:**
* added selectors for sprites' bounding box (left, right, top, bottom) to MY dropdown
* **Notable Changes:**
* running STOP ALL now also toggles (pauses and resumes) all generic WHEN hat blocks (just like pressing the stop button)
* **Notable Fixes:**
@ -9,6 +10,9 @@
* assert that dimensions given for STRETCH are finite numbers (avoid crash)
* **Translation Updates:**
### 2019-10-17
* objects, blocks, threads: added selectors for sprites' bounding box (left, right, top, bottom) to MY dropdown
### 2019-10-16
* new dev version
* morphic: added "enableLinks" flag to text elements, off by default

Wyświetl plik

@ -6,9 +6,9 @@
<link rel="shortcut icon" href="src/favicon.ico">
<script type="text/javascript" src="src/morphic.js?version=2019-10-16"></script>
<script type="text/javascript" src="src/widgets.js?version=2019-10-16"></script>
<script type="text/javascript" src="src/blocks.js?version=2019-08-07"></script>
<script type="text/javascript" src="src/threads.js?version=2019-10-16"></script>
<script type="text/javascript" src="src/objects.js?version=2019-10-14"></script>
<script type="text/javascript" src="src/blocks.js?version=2019-10-17"></script>
<script type="text/javascript" src="src/threads.js?version=2019-10-17"></script>
<script type="text/javascript" src="src/objects.js?version=2019-10-17"></script>
<script type="text/javascript" src="src/gui.js?version=2019-10-16"></script>
<script type="text/javascript" src="src/paint.js?version=2019-06-27"></script>
<script type="text/javascript" src="src/lists.js?version=2019-07-01"></script>

Wyświetl plik

@ -148,7 +148,7 @@ CustomCommandBlockMorph, SymbolMorph, ToggleButtonMorph, DialMorph*/
// Global stuff ////////////////////////////////////////////////////////
modules.blocks = '2019-August-07';
modules.blocks = '2019-October-17';
var SyntaxElementMorph;
var BlockMorph;
@ -8975,6 +8975,10 @@ InputSlotMorph.prototype.gettablesMenu = function () {
dict['draggable?'] = ['draggable?'];
dict.width = ['width'];
dict.height = ['height'];
dict.left = ['left'];
dict.right = ['right'];
dict.top = ['top'];
dict.bottom = ['bottom'];
dict['rotation style'] = ['rotation style'];
dict['rotation x'] = ['rotation x'];
dict['rotation y'] = ['rotation y'];

Wyświetl plik

@ -84,7 +84,7 @@ BlockEditorMorph, BlockDialogMorph, PrototypeHatBlockMorph, BooleanSlotMorph,
localize, TableMorph, TableFrameMorph, normalizeCanvas, VectorPaintEditorMorph,
HandleMorph, AlignmentMorph, Process, XML_Element, WorldMap*/
modules.objects = '2019-October-14';
modules.objects = '2019-October-17';
var SpriteMorph;
var StageMorph;
@ -5575,6 +5575,8 @@ SpriteMorph.prototype.setPivot = function (worldCoordinate) {
}
};
// SpriteMorph dimension getters
SpriteMorph.prototype.xCenter = function () {
var stage = this.parentThatIsA(StageMorph);
@ -5599,6 +5601,54 @@ SpriteMorph.prototype.yCenter = function () {
return this.center().y;
};
SpriteMorph.prototype.xLeft = function () {
var stage = this.parentThatIsA(StageMorph);
if (!stage && this.parent.grabOrigin) { // I'm currently being dragged
stage = this.parent.grabOrigin.origin;
}
if (stage) {
return (this.left() - stage.center().x) / stage.scale;
}
return this.left();
};
SpriteMorph.prototype.xRight = function () {
var stage = this.parentThatIsA(StageMorph);
if (!stage && this.parent.grabOrigin) { // I'm currently being dragged
stage = this.parent.grabOrigin.origin;
}
if (stage) {
return (this.right() - stage.center().x) / stage.scale;
}
return this.right();
};
SpriteMorph.prototype.yTop = function () {
var stage = this.parentThatIsA(StageMorph);
if (!stage && this.parent.grabOrigin) { // I'm currently being dragged
stage = this.parent.grabOrigin.origin;
}
if (stage) {
return (stage.center().y - this.top()) / stage.scale;
}
return this.top();
};
SpriteMorph.prototype.yBottom = function () {
var stage = this.parentThatIsA(StageMorph);
if (!stage && this.parent.grabOrigin) { // I'm currently being dragged
stage = this.parent.grabOrigin.origin;
}
if (stage) {
return (stage.center().y - this.bottom()) / stage.scale;
}
return this.bottom();
};
// SpriteMorph message broadcasting
SpriteMorph.prototype.allMessageNames = function () {

Wyświetl plik

@ -61,7 +61,7 @@ StageMorph, SpriteMorph, StagePrompterMorph, Note, modules, isString, copy,
isNil, WatcherMorph, List, ListWatcherMorph, alert, console, TableMorph, Color,
TableFrameMorph, ColorSlotMorph, isSnapObject, Map, newCanvas, Symbol*/
modules.threads = '2019-October-16';
modules.threads = '2019-October-17';
var ThreadManager;
var Process;
@ -4347,6 +4347,14 @@ Process.prototype.reportGet = function (query) {
return thisObj.xCenter();
case 'center y':
return thisObj.yCenter();
case 'left':
return thisObj.xLeft();
case 'right':
return thisObj.xRight();
case 'top':
return thisObj.yTop();
case 'bottom':
return thisObj.yBottom();
case 'name':
return thisObj.name;
case 'stage':