From c02acaf272dc774bf75e8d479dfbd6bd3efbbf31 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Fri, 29 May 2020 00:35:38 +0300 Subject: [PATCH] Arc: Stop drawing anything when hidden (#7438) * Arc: Stop drawing anything when hidden * Cleanup --- src/elements/element.arc.js | 103 ++++++++++-------- .../controller.doughnut/doughnut-hidden.js | 37 +++++++ .../controller.doughnut/doughnut-hidden.png | Bin 0 -> 41879 bytes 3 files changed, 94 insertions(+), 46 deletions(-) create mode 100644 test/fixtures/controller.doughnut/doughnut-hidden.js create mode 100644 test/fixtures/controller.doughnut/doughnut-hidden.png diff --git a/src/elements/element.arc.js b/src/elements/element.arc.js index 3f14196c8..3c0ee72c9 100644 --- a/src/elements/element.arc.js +++ b/src/elements/element.arc.js @@ -12,17 +12,17 @@ defaults.set('elements', { } }); -function clipArc(ctx, arc) { - const {startAngle, endAngle, pixelMargin, x, y} = arc; - let angleMargin = pixelMargin / arc.outerRadius; +function clipArc(ctx, model) { + const {startAngle, endAngle, pixelMargin, x, y} = model; + let angleMargin = pixelMargin / model.outerRadius; // Draw an inner border by cliping the arc and drawing a double-width border // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders ctx.beginPath(); - ctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin); - if (arc.innerRadius > pixelMargin) { - angleMargin = pixelMargin / arc.innerRadius; - ctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true); + ctx.arc(x, y, model.outerRadius, startAngle - angleMargin, endAngle + angleMargin); + if (model.innerRadius > pixelMargin) { + angleMargin = pixelMargin / model.innerRadius; + ctx.arc(x, y, model.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true); } else { ctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2); } @@ -30,35 +30,59 @@ function clipArc(ctx, arc) { ctx.clip(); } -function drawFullCircleBorders(ctx, vm, arc, inner) { - const endAngle = arc.endAngle; + +function pathArc(ctx, model) { + ctx.beginPath(); + ctx.arc(model.x, model.y, model.outerRadius, model.startAngle, model.endAngle); + ctx.arc(model.x, model.y, model.innerRadius, model.endAngle, model.startAngle, true); + ctx.closePath(); +} + +function drawArc(ctx, model, circumference) { + if (model.fullCircles) { + model.endAngle = model.startAngle + TAU; + + pathArc(ctx, model); + + for (let i = 0; i < model.fullCircles; ++i) { + ctx.fill(); + } + model.endAngle = model.startAngle + circumference % TAU; + } + + pathArc(ctx, model); + ctx.fill(); +} + +function drawFullCircleBorders(ctx, element, model, inner) { + const endAngle = model.endAngle; let i; if (inner) { - arc.endAngle = arc.startAngle + TAU; - clipArc(ctx, arc); - arc.endAngle = endAngle; - if (arc.endAngle === arc.startAngle && arc.fullCircles) { - arc.endAngle += TAU; - arc.fullCircles--; + model.endAngle = model.startAngle + TAU; + clipArc(ctx, model); + model.endAngle = endAngle; + if (model.endAngle === model.startAngle && model.fullCircles) { + model.endAngle += TAU; + model.fullCircles--; } } ctx.beginPath(); - ctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true); - for (i = 0; i < arc.fullCircles; ++i) { + ctx.arc(model.x, model.y, model.innerRadius, model.startAngle + TAU, model.startAngle, true); + for (i = 0; i < model.fullCircles; ++i) { ctx.stroke(); } ctx.beginPath(); - ctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU); - for (i = 0; i < arc.fullCircles; ++i) { + ctx.arc(model.x, model.y, element.outerRadius, model.startAngle, model.startAngle + TAU); + for (i = 0; i < model.fullCircles; ++i) { ctx.stroke(); } } -function drawBorder(ctx, vm, arc) { - const options = vm.options; +function drawBorder(ctx, element, model) { + const options = element.options; const inner = options.borderAlign === 'inner'; if (inner) { @@ -69,17 +93,17 @@ function drawBorder(ctx, vm, arc) { ctx.lineJoin = 'bevel'; } - if (arc.fullCircles) { - drawFullCircleBorders(ctx, vm, arc, inner); + if (model.fullCircles) { + drawFullCircleBorders(ctx, element, model, inner); } if (inner) { - clipArc(ctx, arc); + clipArc(ctx, model); } ctx.beginPath(); - ctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle); - ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true); + ctx.arc(model.x, model.y, element.outerRadius, model.startAngle, model.endAngle); + ctx.arc(model.x, model.y, model.innerRadius, model.endAngle, model.startAngle, true); ctx.closePath(); ctx.stroke(); } @@ -153,7 +177,7 @@ class Arc extends Element { const me = this; const options = me.options; const pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0; - const arc = { + const model = { x: me.x, y: me.y, innerRadius: me.innerRadius, @@ -163,33 +187,20 @@ class Arc extends Element { endAngle: me.endAngle, fullCircles: Math.floor(me.circumference / TAU) }; - let i; + + if (me.circumference === 0) { + return; + } ctx.save(); ctx.fillStyle = options.backgroundColor; ctx.strokeStyle = options.borderColor; - if (arc.fullCircles) { - arc.endAngle = arc.startAngle + TAU; - ctx.beginPath(); - ctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle); - ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true); - ctx.closePath(); - for (i = 0; i < arc.fullCircles; ++i) { - ctx.fill(); - } - arc.endAngle = arc.startAngle + me.circumference % TAU; - } - - ctx.beginPath(); - ctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle); - ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true); - ctx.closePath(); - ctx.fill(); + drawArc(ctx, model, me.circumference); if (options.borderWidth) { - drawBorder(ctx, me, arc); + drawBorder(ctx, me, model); } ctx.restore(); diff --git a/test/fixtures/controller.doughnut/doughnut-hidden.js b/test/fixtures/controller.doughnut/doughnut-hidden.js new file mode 100644 index 000000000..d9b871c22 --- /dev/null +++ b/test/fixtures/controller.doughnut/doughnut-hidden.js @@ -0,0 +1,37 @@ +module.exports = { + config: { + type: 'doughnut', + data: { + labels: ['A', 'B', 'C', 'D', 'E'], + datasets: [{ + data: [1, 5, 10, 50, 100], + backgroundColor: [ + 'rgba(255, 99, 132, 0.8)', + 'rgba(54, 162, 235, 0.8)', + 'rgba(255, 206, 86, 0.8)', + 'rgba(75, 192, 192, 0.8)', + 'rgba(153, 102, 255, 0.8)' + ], + borderWidth: 4, + borderColor: [ + 'rgb(255, 99, 132)', + 'rgb(54, 162, 235)', + 'rgb(255, 206, 86)', + 'rgb(75, 192, 192)', + 'rgb(153, 102, 255)' + ] + }] + }, + options: { + responsive: false, + legend: false, + title: false + }, + plugins: [{ + id: 'hide', + afterInit(chart) { + chart.toggleDataVisibility(4); + } + }] + } +}; diff --git a/test/fixtures/controller.doughnut/doughnut-hidden.png b/test/fixtures/controller.doughnut/doughnut-hidden.png new file mode 100644 index 0000000000000000000000000000000000000000..bb02a9d1fba26b7a898a92015842cc7531c01f59 GIT binary patch literal 41879 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 literal 0 HcmV?d00001