From 2c54645400bb6afe6ae4dea1f714dabc8c886708 Mon Sep 17 00:00:00 2001 From: jmoenig Date: Fri, 22 Mar 2013 11:33:34 +0100 Subject: [PATCH] Stage screenshots the stage's context menu, and likewise the stage icon's context menu in the corral, now let you export a screenshot of the stage including all pen trails, sprites, watchers and speech bubbles --- gui.js | 13 ++++++++++++- history.txt | 3 ++- lang-de.js | 4 ++++ objects.js | 10 +++++++++- 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/gui.js b/gui.js index 746746a3..4ecb6432 100644 --- a/gui.js +++ b/gui.js @@ -4172,7 +4172,18 @@ SpriteIconMorph.prototype.fixLayout = function () { // SpriteIconMorph menu SpriteIconMorph.prototype.userMenu = function () { - var menu = new MenuMorph(this); + var menu = new MenuMorph(this), + myself = this; + if (this.object instanceof StageMorph) { + menu.addItem( + 'pic...', + function () { + window.open(myself.object.fullImageClassic().toDataURL()); + }, + 'open a new window\nwith a picture of the stage' + ); + return menu; + } if (!(this.object instanceof SpriteMorph)) {return null; } menu.addItem("show", 'showSpriteOnStage'); menu.addLine(); diff --git a/history.txt b/history.txt index 772dfebe..ef221fdd 100755 --- a/history.txt +++ b/history.txt @@ -1556,4 +1556,5 @@ ______ * Widgets: optional sliders and "lively" graphics for numerical prompters * Blocks, GUI: "Zoom blocks…" feature in the settings menu (no longer hidden) * Objects: numeric prompters for watcher's sliderMin/Max -* translation updates \ No newline at end of file +* translation updates +* Objects: 'pic...' screenshot feature for the stage \ No newline at end of file diff --git a/lang-de.js b/lang-de.js index 52eb3ac6..230d2af4 100644 --- a/lang-de.js +++ b/lang-de.js @@ -791,6 +791,10 @@ SnapTranslator.dict.de = { // stage: 'show all': 'Alles zeigen', + 'pic...': + 'Bild exportieren...', + 'open a new window\nwith a picture of the stage': + 'ein neues Browserfenster mit einem\nBild der B\u00fchne \u00f6ffnen', // scripting area 'clean up': diff --git a/objects.js b/objects.js index e7cf9cd7..18b40275 100644 --- a/objects.js +++ b/objects.js @@ -3896,7 +3896,8 @@ StageMorph.prototype.clear = function () { StageMorph.prototype.userMenu = function () { var ide = this.parentThatIsA(IDE_Morph), - menu = new MenuMorph(this); + menu = new MenuMorph(this), + myself = this; if (ide && ide.isAppMode) { menu.addItem('help', 'nop'); @@ -3904,6 +3905,13 @@ StageMorph.prototype.userMenu = function () { } menu.addItem("edit", 'edit'); menu.addItem("show all", 'showAll'); + menu.addItem( + "pic...", + function () { + window.open(myself.fullImageClassic().toDataURL()); + }, + 'open a new window\nwith a picture of the stage' + ); return menu; };