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 "get graphic effect" reporter
* new "get pen attribute" reporter
* new "pen down?" predicate
* 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 JIT-compiler "blitz-HOF" primitives for "map", "keep", "find" & "combine" via "compile"
@ -83,6 +84,9 @@
* German
* French
### 2019-06-01
* Objects: new "pen down?" predicate
### 2019-05-31
* Threads: optimized FOREACH performance for large linked lists
* 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/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/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/paint.js?version=2019-02-22"></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,
AlignmentMorph, Process, XML_Element, VectorPaintEditorMorph, WorldMap*/
modules.objects = '2019-May-29';
modules.objects = '2019-June-01';
var SpriteMorph;
var StageMorph;
@ -582,6 +582,12 @@ SpriteMorph.prototype.initBlocks = function () {
category: 'pen',
spec: 'pen up'
},
getPenDown: {
only: SpriteMorph,
type: 'predicate',
category: 'pen',
spec: 'pen down?'
},
setColor: {
only: SpriteMorph,
type: 'command',
@ -2269,6 +2275,7 @@ SpriteMorph.prototype.blockTemplates = function (category) {
blocks.push('-');
blocks.push(block('down'));
blocks.push(block('up'));
blocks.push(block('getPenDown'));
blocks.push('-');
blocks.push(block('setColor'));
blocks.push(block('changePenHSVA'));
@ -4160,7 +4167,7 @@ SpriteMorph.prototype.overlappingImage = function (otherSprite) {
return oImg;
};
// SpriteMorph stamping
// SpriteMorph pen ops
SpriteMorph.prototype.doStamp = function () {
var stage = this.parent,
@ -4196,8 +4203,6 @@ SpriteMorph.prototype.clear = function () {
this.parent.clearPenTrails();
};
// SpeiteMorph writing (printing)
SpriteMorph.prototype.write = function (text, size) {
// thanks to Michael Ball for contributing this code!
if (typeof text !== 'string' && typeof text !== 'number') {
@ -4239,8 +4244,6 @@ SpriteMorph.prototype.write = function (text, size) {
stage.changed();
};
// SpriteMorph pen size
SpriteMorph.prototype.setSize = function (size) {
// pen size
if (!isNaN(size)) {
@ -4252,6 +4255,10 @@ SpriteMorph.prototype.changeSize = function (delta) {
this.setSize(this.size + (+delta || 0));
};
SpriteMorph.prototype.getPenDown = function () {
return this.isDown;
};
// SpriteMorph scale
SpriteMorph.prototype.getScale = function () {