new "globe" symbol

pull/89/head
jmoenig 2019-02-27 12:27:33 +01:00
rodzic 0a0a4f228f
commit 7d5f903135
3 zmienionych plików z 36 dodań i 5 usunięć

Wyświetl plik

@ -42,6 +42,9 @@
* Catalan, thanks, Joan!
* German
### 2019-02-26
* Symbols: new "globe" symbol
### 2019-02-26
* GUI: made "inheritance support" setting hidden
* Objects: disabled calls to world.worldCanvas.focus()

Wyświetl plik

@ -14,7 +14,7 @@
<script type="text/javascript" src="src/lists.js?version=2019-02-07"></script>
<script type="text/javascript" src="src/byob.js?version=2019-02-15"></script>
<script type="text/javascript" src="src/tables.js?version=2019-02-07"></script>
<script type="text/javascript" src="src/symbols.js?version=2019-01-14"></script>
<script type="text/javascript" src="src/symbols.js?version=2019-02-27"></script>
<script type="text/javascript" src="src/sketch.js?version=2019-02-22"></script>
<script type="text/javascript" src="src/xml.js?version=2018-11-12"></script>
<script type="text/javascript" src="src/store.js?version=2019-02-22"></script>

Wyświetl plik

@ -7,7 +7,7 @@
written by Jens Mönig
jens@moenig.org
Copyright (C) 2018 by Jens Mönig
Copyright (C) 2019 by Jens Mönig
This file is part of Snap!.
@ -41,7 +41,7 @@
// Global stuff ////////////////////////////////////////////////////////
modules.symbols = '2019-January-14';
modules.symbols = '2019-February-27';
var SymbolMorph;
@ -51,7 +51,7 @@ WorldMorph.prototype.customMorphs = function () {
return [
new SymbolMorph(
'loop',
'globe',
50,
new Color(250, 250, 250),
new Point(-1, -1),
@ -141,7 +141,8 @@ SymbolMorph.prototype.names = [
'location',
'footprints',
'keyboard',
'keyboardFilled'
'keyboardFilled',
'globe'
];
// SymbolMorph instance creation:
@ -339,6 +340,8 @@ SymbolMorph.prototype.symbolCanvasColored = function (aColor) {
return this.drawSymbolKeyboard(canvas, aColor);
case 'keyboardFilled':
return this.drawSymbolKeyboardFilled(canvas, aColor);
case 'globe':
return this.drawSymbolGlobe(canvas, aColor);
default:
return canvas;
}
@ -1827,3 +1830,28 @@ SymbolMorph.prototype.drawSymbolKeyboardFilled = function (canvas, color) {
ctx.fillRect(u * 4, u * 7, k * 4, k);
return canvas;
};
SymbolMorph.prototype.drawSymbolGlobe = function (canvas, color) {
// answer a canvas showing a circle
var ctx = canvas.getContext('2d'),
w = canvas.width,
l = Math.max(w / 30, 0.5);
ctx.strokeStyle = color.toString();
ctx.lineWidth = l * 2;
ctx.arc(w / 2, w / 2, w / 2 - l, radians(0), radians(360), false);
ctx.stroke();
ctx.moveTo(l, w / 3);
ctx.lineTo(w - l, w / 3);
ctx.stroke();
ctx.moveTo(l, 2 * w / 3);
ctx.lineTo(w - l, 2 * w / 3);
ctx.stroke();
ctx.moveTo(w / 2, 0);
ctx.arcTo(0, w / 2, w / 2, w, w * 0.75);
ctx.stroke();
ctx.moveTo(w / 2, 0);
ctx.arcTo(w, w / 2, w / 2, w, w * 0.75);
ctx.stroke();
return canvas;
};