From 2e0826f714d4ed1f24ce521494c298a0d739f7d5 Mon Sep 17 00:00:00 2001 From: Vince Date: Sun, 16 Sep 2012 00:47:24 +0200 Subject: [PATCH 1/6] Fix variable scope on simplePen --- js/drawingtools/SimplePen.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/js/drawingtools/SimplePen.js b/js/drawingtools/SimplePen.js index 2dbb287e..60490f3a 100644 --- a/js/drawingtools/SimplePen.js +++ b/js/drawingtools/SimplePen.js @@ -8,11 +8,12 @@ ns.SimplePen = function() { this.toolId = "tool-pen"; - this.helpText = "Pen tool" - }; + this.helpText = "Pen tool"; - this.previousCol = null; - this.previousRow = null; + this.previousCol = null; + this.previousRow = null; + + }; pskl.utils.inherit(ns.SimplePen, ns.BaseTool); From 36476d5871c02be0f57d4fe69d1ebf6119ceaa54 Mon Sep 17 00:00:00 2001 From: Vince Date: Sun, 16 Sep 2012 00:47:41 +0200 Subject: [PATCH 2/6] clean comments --- js/utils/core.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/js/utils/core.js b/js/utils/core.js index 9fb8da68..bf87d6bc 100644 --- a/js/utils/core.js +++ b/js/utils/core.js @@ -30,9 +30,6 @@ jQuery.namespace = function() { extendedObject.prototype = Object.create(inheritFrom.prototype); extendedObject.prototype.constructor = extendedObject; extendedObject.prototype.superclass = inheritFrom.prototype; - - //pskl.ToolBehavior.Eraser.prototype = Object.create(pskl.ToolBehavior.BaseTool.prototype); - //prototypeskl.ToolBehavior.Eraser.prototype.constructor = pskl.ToolBehavior.Eraser; }; })(); From e52f0cbe6eeef1897ce2c7b680ddf49d9a153aaf Mon Sep 17 00:00:00 2001 From: Vince Date: Sun, 16 Sep 2012 00:48:20 +0200 Subject: [PATCH 3/6] Add css sections in tools.css --- css/tools.css | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/css/tools.css b/css/tools.css index 86f12e5a..d5fdcfff 100644 --- a/css/tools.css +++ b/css/tools.css @@ -15,6 +15,9 @@ background-position: 7px 7px; } +/* + * Framesheet level actions: + */ .tool-icon.tool-save { background-image: url(../img/tools/icons/save.png); } @@ -23,6 +26,10 @@ background-image: url(../img/tools/icons/add-frame.png); } + +/* + * Tool icons: + */ .tool-icon.tool-pen { background-image: url(../img/tools/icons/pen.png); } @@ -63,6 +70,10 @@ background-image: url(../img/tools/icons/color-palette.png); }*/ +/* + * Tool cursors: + */ + .tool-paint-bucket .drawing-canvas-container:hover { cursor: url(../img/tools/cursors/paint-bucket.png) 14 12, pointer; } From 3afbf1c0e9db2fa01452db3b16cb7349db31485e Mon Sep 17 00:00:00 2001 From: Vince Date: Sun, 16 Sep 2012 00:48:53 +0200 Subject: [PATCH 4/6] Comment & todo about rendering order of tool's icons --- js/controller/ToolController.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/js/controller/ToolController.js b/js/controller/ToolController.js index 12eca889..7387ff7a 100644 --- a/js/controller/ToolController.js +++ b/js/controller/ToolController.js @@ -6,6 +6,7 @@ this.toolInstances = { "simplePen" : new pskl.drawingtools.SimplePen(), + "mirrorPen" : new pskl.drawingtools.MirrorPen(), "eraser" : new pskl.drawingtools.Eraser(), "paintBucket" : new pskl.drawingtools.PaintBucket(), "stroke" : new pskl.drawingtools.Stroke(), @@ -68,6 +69,7 @@ */ ns.ToolController.prototype.createToolMarkup_ = function() { var currentTool, toolMarkup = ''; + // TODO(vincz): Tools rendering order is not enforced by the data stucture (this.toolInstances), fix that. for (var toolKey in this.toolInstances) { currentTool = this.toolInstances[toolKey]; toolMarkup += '
  • - + diff --git a/js/drawingtools/MirrorPen.js b/js/drawingtools/MirrorPen.js new file mode 100644 index 00000000..c7fe0ecc --- /dev/null +++ b/js/drawingtools/MirrorPen.js @@ -0,0 +1,46 @@ +(function() { + var ns = $.namespace("pskl.drawingtools"); + + ns.MirrorPen = function() { + this.toolId = "tool-vertical-mirror-pen"; + this.helpText = "Mirror pen tool"; + + this.swap = null + this.mirroredPreviousCol = null; + this.mirroredPreviousRow = null; + }; + + pskl.utils.inherit(ns.MirrorPen, ns.SimplePen); + + + ns.MirrorPen.prototype.setMirrorContext = function() { + this.swap = this.previousCol; + this.previousCol = this.mirroredPreviousCol; + }; + + ns.MirrorPen.prototype.unsetMirrorContext = function() { + this.mirroredPreviousCol = this.previousCol; + this.previousCol = this.swap; + }; + + /** + * @override + */ + ns.MirrorPen.prototype.applyToolAt = function(col, row, color, frame, overlay) { + this.superclass.applyToolAt.call(this, col, row, color, frame, overlay); + + var mirroredCol = this.getSymmetricCol_(col, frame); + this.mirroredPreviousCol = mirroredCol; + + this.setMirrorContext(); + this.superclass.applyToolAt.call(this, mirroredCol, row, color, frame, overlay); + this.unsetMirrorContext(); + }; + + /** + * @private + */ + ns.MirrorPen.prototype.getSymmetricCol_ = function(col, frame) { + return frame.getWidth() - col - 1; + }; +})(); From b761750766940a2e146dc131333b908dbc593af5 Mon Sep 17 00:00:00 2001 From: Vince Date: Sun, 16 Sep 2012 00:52:39 +0200 Subject: [PATCH 6/6] Renaming to VerticalMirrorPen --- index.html | 2 +- js/controller/ToolController.js | 2 +- .../{MirrorPen.js => VerticalMirrorPen.js} | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) rename js/drawingtools/{MirrorPen.js => VerticalMirrorPen.js} (64%) diff --git a/index.html b/index.html index 10fb0f5a..0e0f466a 100644 --- a/index.html +++ b/index.html @@ -113,7 +113,7 @@ - + diff --git a/js/controller/ToolController.js b/js/controller/ToolController.js index 7387ff7a..6553cbb6 100644 --- a/js/controller/ToolController.js +++ b/js/controller/ToolController.js @@ -6,7 +6,7 @@ this.toolInstances = { "simplePen" : new pskl.drawingtools.SimplePen(), - "mirrorPen" : new pskl.drawingtools.MirrorPen(), + "verticalMirrorPen" : new pskl.drawingtools.VerticalMirrorPen(), "eraser" : new pskl.drawingtools.Eraser(), "paintBucket" : new pskl.drawingtools.PaintBucket(), "stroke" : new pskl.drawingtools.Stroke(), diff --git a/js/drawingtools/MirrorPen.js b/js/drawingtools/VerticalMirrorPen.js similarity index 64% rename from js/drawingtools/MirrorPen.js rename to js/drawingtools/VerticalMirrorPen.js index c7fe0ecc..c263653a 100644 --- a/js/drawingtools/MirrorPen.js +++ b/js/drawingtools/VerticalMirrorPen.js @@ -1,24 +1,24 @@ (function() { var ns = $.namespace("pskl.drawingtools"); - ns.MirrorPen = function() { + ns.VerticalMirrorPen = function() { this.toolId = "tool-vertical-mirror-pen"; - this.helpText = "Mirror pen tool"; + this.helpText = "vertical mirror pen tool"; this.swap = null this.mirroredPreviousCol = null; this.mirroredPreviousRow = null; }; - pskl.utils.inherit(ns.MirrorPen, ns.SimplePen); + pskl.utils.inherit(ns.VerticalMirrorPen, ns.SimplePen); - ns.MirrorPen.prototype.setMirrorContext = function() { + ns.VerticalMirrorPen.prototype.setMirrorContext = function() { this.swap = this.previousCol; this.previousCol = this.mirroredPreviousCol; }; - ns.MirrorPen.prototype.unsetMirrorContext = function() { + ns.VerticalMirrorPen.prototype.unsetMirrorContext = function() { this.mirroredPreviousCol = this.previousCol; this.previousCol = this.swap; }; @@ -26,7 +26,7 @@ /** * @override */ - ns.MirrorPen.prototype.applyToolAt = function(col, row, color, frame, overlay) { + ns.VerticalMirrorPen.prototype.applyToolAt = function(col, row, color, frame, overlay) { this.superclass.applyToolAt.call(this, col, row, color, frame, overlay); var mirroredCol = this.getSymmetricCol_(col, frame); @@ -40,7 +40,7 @@ /** * @private */ - ns.MirrorPen.prototype.getSymmetricCol_ = function(col, frame) { + ns.VerticalMirrorPen.prototype.getSymmetricCol_ = function(col, frame) { return frame.getWidth() - col - 1; }; })();