new "pen down?" predicate

pull/89/head
jmoenig 2019-06-01 11:31:43 +02:00
rodzic 94531eaf0c
commit 073f9ca94e
3 zmienionych plików z 18 dodań i 7 usunięć

Wyświetl plik

@ -27,6 +27,7 @@
* new "stretch" primitive for costumes, also for flipping * new "stretch" primitive for costumes, also for flipping
* new "get graphic effect" reporter * new "get graphic effect" reporter
* new "get pen attribute" reporter * new "get pen attribute" reporter
* new "pen down?" predicate
* new "write" command in pen category (used to be "label" in tools) * new "write" command in pen category (used to be "label" in tools)
* new "numbers", "is empty", "map","keep", "find", "combine" and "for each" primitives in list category * new "numbers", "is empty", "map","keep", "find", "combine" and "for each" primitives in list category
* new JIT-compiler "blitz-HOF" primitives for "map", "keep", "find" & "combine" via "compile" * new JIT-compiler "blitz-HOF" primitives for "map", "keep", "find" & "combine" via "compile"
@ -83,6 +84,9 @@
* German * German
* French * French
### 2019-06-01
* Objects: new "pen down?" predicate
### 2019-05-31 ### 2019-05-31
* Threads: optimized FOREACH performance for large linked lists * Threads: optimized FOREACH performance for large linked lists
* German translation update (FINDFIRST, WORD, TEMPORARY?) * German translation update (FINDFIRST, WORD, TEMPORARY?)

Wyświetl plik

@ -8,7 +8,7 @@
<script type="text/javascript" src="src/widgets.js?version=2019-04-05"></script> <script type="text/javascript" src="src/widgets.js?version=2019-04-05"></script>
<script type="text/javascript" src="src/blocks.js?version=2019-05-29"></script> <script type="text/javascript" src="src/blocks.js?version=2019-05-29"></script>
<script type="text/javascript" src="src/threads.js?version=2019-05-31"></script> <script type="text/javascript" src="src/threads.js?version=2019-05-31"></script>
<script type="text/javascript" src="src/objects.js?version=2019-05-29"></script> <script type="text/javascript" src="src/objects.js?version=2019-06-01"></script>
<script type="text/javascript" src="src/gui.js?version=2019-05-29"></script> <script type="text/javascript" src="src/gui.js?version=2019-05-29"></script>
<script type="text/javascript" src="src/paint.js?version=2019-02-22"></script> <script type="text/javascript" src="src/paint.js?version=2019-02-22"></script>
<script type="text/javascript" src="src/lists.js?version=2019-04-27"></script> <script type="text/javascript" src="src/lists.js?version=2019-04-27"></script>

Wyświetl plik

@ -84,7 +84,7 @@ BlockEditorMorph, BlockDialogMorph, PrototypeHatBlockMorph, localize,
TableMorph, TableFrameMorph, normalizeCanvas, BooleanSlotMorph, HandleMorph, TableMorph, TableFrameMorph, normalizeCanvas, BooleanSlotMorph, HandleMorph,
AlignmentMorph, Process, XML_Element, VectorPaintEditorMorph, WorldMap*/ AlignmentMorph, Process, XML_Element, VectorPaintEditorMorph, WorldMap*/
modules.objects = '2019-May-29'; modules.objects = '2019-June-01';
var SpriteMorph; var SpriteMorph;
var StageMorph; var StageMorph;
@ -582,6 +582,12 @@ SpriteMorph.prototype.initBlocks = function () {
category: 'pen', category: 'pen',
spec: 'pen up' spec: 'pen up'
}, },
getPenDown: {
only: SpriteMorph,
type: 'predicate',
category: 'pen',
spec: 'pen down?'
},
setColor: { setColor: {
only: SpriteMorph, only: SpriteMorph,
type: 'command', type: 'command',
@ -2269,6 +2275,7 @@ SpriteMorph.prototype.blockTemplates = function (category) {
blocks.push('-'); blocks.push('-');
blocks.push(block('down')); blocks.push(block('down'));
blocks.push(block('up')); blocks.push(block('up'));
blocks.push(block('getPenDown'));
blocks.push('-'); blocks.push('-');
blocks.push(block('setColor')); blocks.push(block('setColor'));
blocks.push(block('changePenHSVA')); blocks.push(block('changePenHSVA'));
@ -4160,7 +4167,7 @@ SpriteMorph.prototype.overlappingImage = function (otherSprite) {
return oImg; return oImg;
}; };
// SpriteMorph stamping // SpriteMorph pen ops
SpriteMorph.prototype.doStamp = function () { SpriteMorph.prototype.doStamp = function () {
var stage = this.parent, var stage = this.parent,
@ -4196,8 +4203,6 @@ SpriteMorph.prototype.clear = function () {
this.parent.clearPenTrails(); this.parent.clearPenTrails();
}; };
// SpeiteMorph writing (printing)
SpriteMorph.prototype.write = function (text, size) { SpriteMorph.prototype.write = function (text, size) {
// thanks to Michael Ball for contributing this code! // thanks to Michael Ball for contributing this code!
if (typeof text !== 'string' && typeof text !== 'number') { if (typeof text !== 'string' && typeof text !== 'number') {
@ -4239,8 +4244,6 @@ SpriteMorph.prototype.write = function (text, size) {
stage.changed(); stage.changed();
}; };
// SpriteMorph pen size
SpriteMorph.prototype.setSize = function (size) { SpriteMorph.prototype.setSize = function (size) {
// pen size // pen size
if (!isNaN(size)) { if (!isNaN(size)) {
@ -4252,6 +4255,10 @@ SpriteMorph.prototype.changeSize = function (delta) {
this.setSize(this.size + (+delta || 0)); this.setSize(this.size + (+delta || 0));
}; };
SpriteMorph.prototype.getPenDown = function () {
return this.isDown;
};
// SpriteMorph scale // SpriteMorph scale
SpriteMorph.prototype.getScale = function () { SpriteMorph.prototype.getScale = function () {