added "flat line ends" option to "turbo mode" accessor blocks

pull/89/head
jmoenig 2019-01-28 16:54:48 +01:00
rodzic fc175b844e
commit 6b805a855a
5 zmienionych plików z 61 dodań i 13 usunięć

Wyświetl plik

@ -10,6 +10,7 @@
* new "aspect AT location" reporter in Sensing category for sniffing colors and sprites
* new blocks for setting and changing the stage's background color
* new "object" reporter in the Sensing category for getting a sprite by its name
* blocks for changing and querying the "flat line ends" setting
* new "string" library, thanks, Brian
* added "neg" selector to monadic function reporter in "Operators" category
* enhances support for embedding Snap in other website, thanks, Bernat!
@ -34,6 +35,7 @@
### 2019-01-28
* Threads, Objects: new "object" reporter in the Sensing category
* Blocks, Objects, Threads: added "flat line ends" option to "turbo mode" accessor blocks
* Greek translation update, thanks, Alexandros!
* German translation update
* pushed version to "Beta"

Wyświetl plik

@ -6,7 +6,7 @@
<link rel="shortcut icon" href="src/favicon.ico">
<script type="text/javascript" src="src/morphic.js?version=2019-01-10"></script>
<script type="text/javascript" src="src/widgets.js?version=2018-10-02"></script>
<script type="text/javascript" src="src/blocks.js?version=2019-01-23"></script>
<script type="text/javascript" src="src/blocks.js?version=2019-01-28"></script>
<script type="text/javascript" src="src/threads.js?version=2019-01-28"></script>
<script type="text/javascript" src="src/objects.js?version=2019-01-28"></script>
<script type="text/javascript" src="src/gui.js?version=2019-01-28"></script>

Wyświetl plik

@ -148,7 +148,7 @@ CustomCommandBlockMorph, SymbolMorph, ToggleButtonMorph, DialMorph*/
// Global stuff ////////////////////////////////////////////////////////
modules.blocks = '2019-January-23';
modules.blocks = '2019-January-28';
var SyntaxElementMorph;
var BlockMorph;
@ -1362,6 +1362,19 @@ SyntaxElementMorph.prototype.labelPart = function (spec) {
part.setContents(['all']);
part.isStatic = true;
break;
case '%setting':
part = new InputSlotMorph(
null,
false,
{
'turbo mode' : ['turbo mode'],
'flat line ends' : ['flat line ends']
},
true
);
part.setContents(['turbo mode']);
part.isStatic = true;
break;
case '%typ':
part = new InputSlotMorph(
null,

Wyświetl plik

@ -858,15 +858,17 @@ SpriteMorph.prototype.initBlocks = function () {
spec: 'url %s',
defaults: ['snap.berkeley.edu']
},
reportIsFastTracking: {
type: 'predicate',
category: 'sensing',
spec: 'turbo mode?'
},
doSetFastTracking: {
doSetGlobalFlag: {
type: 'command',
category: 'sensing',
spec: 'set turbo mode to %b'
spec: 'set %setting to %b',
defaults: [['turbo mode']]
},
reportGlobalFlag: {
type: 'predicate',
category: 'sensing',
spec: 'is %setting ?',
defaults: [['turbo mode']]
},
reportDate: {
type: 'reporter',
@ -1276,6 +1278,16 @@ SpriteMorph.prototype.initBlockMigrations = function () {
selector: 'changePenHSVA',
inputs: [['brightness']],
offset: 1
},
reportIsFastTracking: {
selector: 'reportGlobalFlag',
inputs: [['turbo mode']],
offset: 1
},
doSetFastTracking: {
selector: 'doSetGlobalFlag',
inputs: [['turbo mode']],
offset: 1
}
};
};
@ -2038,8 +2050,8 @@ SpriteMorph.prototype.blockTemplates = function (category) {
blocks.push(block('reportURL'));
blocks.push('-');
blocks.push(block('reportIsFastTracking'));
blocks.push(block('doSetFastTracking'));
blocks.push(block('reportGlobalFlag'));
blocks.push(block('doSetGlobalFlag'));
blocks.push('-');
blocks.push(block('reportDate'));
@ -7251,8 +7263,8 @@ StageMorph.prototype.blockTemplates = function (category) {
blocks.push(block('reportURL'));
blocks.push('-');
blocks.push(block('reportIsFastTracking'));
blocks.push(block('doSetFastTracking'));
blocks.push(block('reportGlobalFlag'));
blocks.push(block('doSetGlobalFlag'));
blocks.push('-');
blocks.push(block('reportDate'));

Wyświetl plik

@ -1962,6 +1962,27 @@ Process.prototype.reportIsFastTracking = function () {
return false;
};
Process.prototype.doSetGlobalFlag = function (name, bool) {
name = this.inputOption(name);
this.assertType(bool, 'Boolean');
if (name === 'turbo mode') {
this.doSetFastTracking(bool);
}
if (name === 'flat line ends') {
SpriteMorph.prototype.useFlatLineEnds = bool;
}
};
Process.prototype.reportGlobalFlag = function (name) {
name = this.inputOption(name);
if (name === 'turbo mode') {
return this.reportIsFastTracking();
}
if (name === 'flat line ends') {
return SpriteMorph.prototype.useFlatLineEnds;
}
};
Process.prototype.doSetFastTracking = function (bool) {
var ide;
if (!this.reportIsA(bool, 'Boolean')) {