From d0acb625cf2896eda28d495c6aff505a55842926 Mon Sep 17 00:00:00 2001 From: grosbouddha Date: Mon, 14 Sep 2015 23:40:16 +0200 Subject: [PATCH] Applying review comments for dithering tool --- src/js/service/SelectedColorsService.js | 2 +- src/js/tools/drawing/DitheringTool.js | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/js/service/SelectedColorsService.js b/src/js/service/SelectedColorsService.js index 8ef6a9b2..2e7d46c2 100644 --- a/src/js/service/SelectedColorsService.js +++ b/src/js/service/SelectedColorsService.js @@ -13,7 +13,7 @@ ns.SelectedColorsService.prototype.getColors = function () { if (this.primaryColor_ === null || this.secondaryColor_ === null) { - throw 'SelectedColorsService not properly intialized.'; + throw 'SelectedColorsService not properly initialized.'; } return [this.primaryColor_, this.secondaryColor_]; }; diff --git a/src/js/tools/drawing/DitheringTool.js b/src/js/tools/drawing/DitheringTool.js index 34c70ce5..7477fdf9 100644 --- a/src/js/tools/drawing/DitheringTool.js +++ b/src/js/tools/drawing/DitheringTool.js @@ -17,14 +17,15 @@ * @override */ ns.DitheringTool.prototype.applyToolAt = function(col, row, color, frame, overlay, event) { - var ditheringColor; - var currentColors = pskl.app.selectedColorsService.getColors(); - // XOR on either row or col parity. - if ((col % 2 === 0 && row % 2 !== 0) || (col % 2 !== 0 && row % 2 === 0)) { - ditheringColor = currentColors[0]; - } else { - ditheringColor = currentColors[1]; - } + // Use primary selected color on cell with either an odd col or row. + // Use secondary color otherwise. + // When using the right mouse button, invert the above behavior to allow quick corrections. + var usePrimaryColor = (col + row) % 2; + var invertColors = event.button === Constants.RIGHT_BUTTON; + usePrimaryColor = invertColors ? !usePrimaryColor : usePrimaryColor; + + var selectedColors = pskl.app.selectedColorsService.getColors(); + var ditheringColor = usePrimaryColor ? selectedColors[0] : selectedColors[1]; this.superclass.applyToolAt.call(this, col, row, ditheringColor, frame, overlay, event); }; })();