From 0f85420767b00ce706fd6646ff812b169962ac60 Mon Sep 17 00:00:00 2001 From: Code WvS Date: Sat, 28 Mar 2015 09:43:59 +0100 Subject: extend clear block to remove only a sprite's own trails --- blocks.js | 12 ++++++++++++ lang-de.js | 8 ++++++-- objects.js | 13 ++++++++++--- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/blocks.js b/blocks.js index 6f3ed28..858d08a 100644 --- a/blocks.js +++ b/blocks.js @@ -1277,6 +1277,18 @@ SyntaxElementMorph.prototype.labelPart = function (spec) { ); part.setContents(['a line']); break; + case '%clearmode': + part = new InputSlotMorph( + null, // text + false, // numeric? + { + 'my pen trails': ['my pen trails'], + 'all pen trails': ['all pen trails'] + }, + true + ); + part.setContents(['all pen trails']); + break; // symbols: diff --git a/lang-de.js b/lang-de.js index 8e24beb..46cdbc7 100644 --- a/lang-de.js +++ b/lang-de.js @@ -401,8 +401,12 @@ SnapTranslator.dict.de = { 'Tempo', // pen: - 'clear': - 'wische', + 'clear %clearmode': + 'wische %clearmode', + 'my pen trails': + 'meine Malspuren', + 'all pen trails': + 'alle Malspuren', 'pen down': 'Stift runter', 'pen up and finish as %drawmode': diff --git a/objects.js b/objects.js index cf56086..b48cc6b 100644 --- a/objects.js +++ b/objects.js @@ -535,7 +535,7 @@ SpriteMorph.prototype.initBlocks = function () { clear: { type: 'command', category: 'pen', - spec: 'clear' + spec: 'clear %clearmode' }, down: { only: SpriteMorph, @@ -3106,8 +3106,15 @@ SpriteMorph.prototype.doStamp = function () { } }; -SpriteMorph.prototype.clear = function () { - this.parent.clearPenTrails(); +SpriteMorph.prototype.clear = function (mode) { + if (mode == 'my pen trails') { + window.penTrails.removeLayer(this.penShapes); + window.penTrails.removeLayer(this.penLines); + this.penShapes = L.layerGroup().addTo(window.penTrails); + this.penLines = L.layerGroup().addTo(window.penTrails); + } else { + this.parent.clearPenTrails(); + } }; // SpriteMorph pen size -- cgit v1.3.1