From 9c9d761cc03ee8989ec92a142b36f96f09774a8d Mon Sep 17 00:00:00 2001 From: jmoenig Date: Mon, 29 Apr 2013 12:31:28 +0200 Subject: Solid rectangle and circle symbols --- blocks.js | 34 +++++++++++++++++++++++++++++++++- history.txt | 4 ++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/blocks.js b/blocks.js index 282ed23..6f20815 100644 --- a/blocks.js +++ b/blocks.js @@ -153,7 +153,7 @@ DialogBoxMorph, BlockInputFragmentMorph, PrototypeHatBlockMorph*/ // Global stuff //////////////////////////////////////////////////////// -modules.blocks = '2013-April-27'; +modules.blocks = '2013-April-29'; var SyntaxElementMorph; var BlockMorph; @@ -6814,8 +6814,12 @@ SymbolMorph.prototype.symbolCanvasColored = function (aColor) { return this.drawSymbolBrush(canvas, aColor); case 'rectangle': return this.drawSymbolRectangle(canvas, aColor); + case 'rectangleSolid': + return this.drawSymbolRectangleSolid(canvas, aColor); case 'circle': return this.drawSymbolCircle(canvas, aColor); + case 'circleSolid': + return this.drawSymbolCircleSolid(canvas, aColor); case 'line': return this.drawSymbolLine(canvas, aColor); case 'crosshairs': @@ -7453,6 +7457,23 @@ SymbolMorph.prototype.drawSymbolRectangle = function (canvas, color) { return canvas; }; +SymbolMorph.prototype.drawSymbolRectangleSolid = function (canvas, color) { + // answer a canvas showing a solid rectangle + var ctx = canvas.getContext('2d'), + w = canvas.width, + h = canvas.width; + + ctx.fillStyle = color.toString(); + ctx.beginPath(); + ctx.moveTo(0, 0); + ctx.lineTo(w, 0); + ctx.lineTo(w, h); + ctx.lineTo(0, h); + ctx.closePath(); + ctx.fill(); + return canvas; +}; + SymbolMorph.prototype.drawSymbolCircle = function (canvas, color) { // answer a canvas showing a circle var ctx = canvas.getContext('2d'), @@ -7466,6 +7487,17 @@ SymbolMorph.prototype.drawSymbolCircle = function (canvas, color) { return canvas; }; +SymbolMorph.prototype.drawSymbolCircleSolid = function (canvas, color) { + // answer a canvas showing a solid circle + var ctx = canvas.getContext('2d'), + w = canvas.width; + + ctx.fillStyle = color.toString(); + ctx.arc(w / 2, w / 2, w / 2, radians(0), radians(360), false); + ctx.fill(); + return canvas; +}; + SymbolMorph.prototype.drawSymbolLine = function (canvas, color) { // answer a canvas showing a diagonal line var ctx = canvas.getContext('2d'), diff --git a/history.txt b/history.txt index 4cda346..5e83c72 100755 --- a/history.txt +++ b/history.txt @@ -1680,3 +1680,7 @@ ______ ------ * Blocks: paint bucket symbol * highlight adjustments when merging scripts (#70) + +130429 +------ +* Blocks: symbols for solid rectangles and circles -- cgit v1.3.1