From 71de85f5e437d5f1f1ae8daae414a906308fe952 Mon Sep 17 00:00:00 2001 From: Jake Date: Tue, 23 Jan 2018 20:14:23 -0600 Subject: [PATCH 1/7] If zero borderWidth set stroke to opaque --- src/elements/element.point.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/elements/element.point.js b/src/elements/element.point.js index eab5b31d453..af925ac47ec 100644 --- a/src/elements/element.point.js +++ b/src/elements/element.point.js @@ -79,10 +79,14 @@ module.exports = Element.extend({ return; } - ctx.strokeStyle = vm.borderColor || defaultColor; + + ctx.strokeStyle = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth) === 0 ? + 'rgba(0,0,0,0)' : + vm.borderColor || defaultColor; + ctx.lineWidth = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth); ctx.fillStyle = vm.backgroundColor || defaultColor; - + // Cliping for Points. // going out from inner charArea? if ((chartArea !== undefined) && ((model.x < chartArea.left) || (chartArea.right * errMargin < model.x) || (model.y < chartArea.top) || (chartArea.bottom * errMargin < model.y))) { From 6ab81b440849181a357c4b9522a2a65a22d9cc76 Mon Sep 17 00:00:00 2001 From: Jake Date: Tue, 23 Jan 2018 21:29:23 -0600 Subject: [PATCH 2/7] Code quality --- src/elements/element.point.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/elements/element.point.js b/src/elements/element.point.js index af925ac47ec..57f819b8721 100644 --- a/src/elements/element.point.js +++ b/src/elements/element.point.js @@ -79,14 +79,14 @@ module.exports = Element.extend({ return; } - + ctx.strokeStyle = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth) === 0 ? - 'rgba(0,0,0,0)' : - vm.borderColor || defaultColor; - + 'rgba(0,0,0,0)' : + vm.borderColor || defaultColor; + ctx.lineWidth = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth); ctx.fillStyle = vm.backgroundColor || defaultColor; - + // Cliping for Points. // going out from inner charArea? if ((chartArea !== undefined) && ((model.x < chartArea.left) || (chartArea.right * errMargin < model.x) || (model.y < chartArea.top) || (chartArea.bottom * errMargin < model.y))) { From 0dd933550564d5c82fd38f2299497d3b9c48a4d9 Mon Sep 17 00:00:00 2001 From: Jake Date: Wed, 24 Jan 2018 19:21:07 -0600 Subject: [PATCH 3/7] Only compute line width once --- src/elements/element.point.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/elements/element.point.js b/src/elements/element.point.js index 57f819b8721..c440b0cb2a9 100644 --- a/src/elements/element.point.js +++ b/src/elements/element.point.js @@ -79,12 +79,12 @@ module.exports = Element.extend({ return; } - - ctx.strokeStyle = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth) === 0 ? + var finalLineWidth = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth); + ctx.strokeStyle = finalLineWidth === 0 ? 'rgba(0,0,0,0)' : vm.borderColor || defaultColor; - ctx.lineWidth = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth); + ctx.lineWidth = finalLineWidth; ctx.fillStyle = vm.backgroundColor || defaultColor; // Cliping for Points. From 02fb541deeb7d458142fe826556b248e5e27fa4e Mon Sep 17 00:00:00 2001 From: Jake Date: Wed, 24 Jan 2018 19:27:56 -0600 Subject: [PATCH 4/7] Comment --- src/elements/element.point.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/elements/element.point.js b/src/elements/element.point.js index c440b0cb2a9..2a4074971cb 100644 --- a/src/elements/element.point.js +++ b/src/elements/element.point.js @@ -84,6 +84,7 @@ module.exports = Element.extend({ 'rgba(0,0,0,0)' : vm.borderColor || defaultColor; + // Will disregard any value that is not a number > 0 ctx.lineWidth = finalLineWidth; ctx.fillStyle = vm.backgroundColor || defaultColor; From 4531caaa8e679b0aee13d4b2be8d6214f7791317 Mon Sep 17 00:00:00 2001 From: Jake Haenchen Date: Mon, 20 Aug 2018 20:25:41 -0500 Subject: [PATCH 5/7] Fix indentation --- src/elements/element.point.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/elements/element.point.js b/src/elements/element.point.js index 5d5020913e1..76ff05c8a02 100644 --- a/src/elements/element.point.js +++ b/src/elements/element.point.js @@ -80,7 +80,7 @@ module.exports = Element.extend({ // Clipping for Points. if (chartArea === undefined || (model.x >= chartArea.left && chartArea.right * errMargin >= model.x && model.y >= chartArea.top && chartArea.bottom * errMargin >= model.y)) { var finalLineWidth = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth); - ctx.strokeStyle = finalLineWidth === 0 ? 'rgba(0,0,0,0)' : vm.borderColor || defaultColor; + ctx.strokeStyle = finalLineWidth === 0 ? 'rgba(0,0,0,0)' : vm.borderColor || defaultColor; ctx.lineWidth = finalLineWidth; ctx.fillStyle = vm.backgroundColor || defaultColor; helpers.canvas.drawPoint(ctx, pointStyle, radius, x, y); From 657649dd1890e9d3e7634afc573fe499e619b8e1 Mon Sep 17 00:00:00 2001 From: Jake Haenchen Date: Mon, 20 Aug 2018 20:26:04 -0500 Subject: [PATCH 6/7] Remove unnecessary intermediary variable --- src/elements/element.point.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/elements/element.point.js b/src/elements/element.point.js index 76ff05c8a02..6a50128fbe4 100644 --- a/src/elements/element.point.js +++ b/src/elements/element.point.js @@ -79,9 +79,8 @@ module.exports = Element.extend({ // Clipping for Points. if (chartArea === undefined || (model.x >= chartArea.left && chartArea.right * errMargin >= model.x && model.y >= chartArea.top && chartArea.bottom * errMargin >= model.y)) { - var finalLineWidth = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth); - ctx.strokeStyle = finalLineWidth === 0 ? 'rgba(0,0,0,0)' : vm.borderColor || defaultColor; - ctx.lineWidth = finalLineWidth; + ctx.lineWidth = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth); + ctx.strokeStyle = ctx.lineWidth === 0 ? 'rgba(0,0,0,0)' : vm.borderColor || defaultColor; ctx.fillStyle = vm.backgroundColor || defaultColor; helpers.canvas.drawPoint(ctx, pointStyle, radius, x, y); } From a9d6db5bdb1e9a30518f4c509cc29ba7f7e8b10b Mon Sep 17 00:00:00 2001 From: Jake Haenchen Date: Mon, 20 Aug 2018 20:28:06 -0500 Subject: [PATCH 7/7] Move strokestyle up a line to minimize diff --- src/elements/element.point.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/elements/element.point.js b/src/elements/element.point.js index 6a50128fbe4..11c8415b036 100644 --- a/src/elements/element.point.js +++ b/src/elements/element.point.js @@ -79,8 +79,8 @@ module.exports = Element.extend({ // Clipping for Points. if (chartArea === undefined || (model.x >= chartArea.left && chartArea.right * errMargin >= model.x && model.y >= chartArea.top && chartArea.bottom * errMargin >= model.y)) { - ctx.lineWidth = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth); ctx.strokeStyle = ctx.lineWidth === 0 ? 'rgba(0,0,0,0)' : vm.borderColor || defaultColor; + ctx.lineWidth = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth); ctx.fillStyle = vm.backgroundColor || defaultColor; helpers.canvas.drawPoint(ctx, pointStyle, radius, x, y); }