From c12ca17e38f77bd605d0be894f8ddb4bd610fa52 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Fri, 15 Nov 2019 04:49:41 -0800 Subject: [PATCH] Remove unused helpers.canvas.roundedRect (#6734) --- docs/getting-started/v3-migration.md | 1 + src/helpers/helpers.canvas.js | 42 ------------ test/fixtures/helpers.canvas/rounded-rect.js | 39 ----------- test/fixtures/helpers.canvas/rounded-rect.png | Bin 13050 -> 0 bytes test/specs/helpers.canvas.tests.js | 64 ------------------ 5 files changed, 1 insertion(+), 145 deletions(-) delete mode 100644 test/fixtures/helpers.canvas/rounded-rect.js delete mode 100644 test/fixtures/helpers.canvas/rounded-rect.png diff --git a/docs/getting-started/v3-migration.md b/docs/getting-started/v3-migration.md index 4d8f0f779..a797db8e2 100644 --- a/docs/getting-started/v3-migration.md +++ b/docs/getting-started/v3-migration.md @@ -56,6 +56,7 @@ Chart.js is no longer providing the `Chart.bundle.js` and `Chart.bundle.min.js`. * `helpers.numberOfLabelLines` * `helpers.previousItem` * `helpers.removeEvent` +* `helpers.roundedRect` * `helpers.scaleMerge` * `Scale.getRightValue` * `Scale.mergeTicksOptions` diff --git a/src/helpers/helpers.canvas.js b/src/helpers/helpers.canvas.js index 2a3b4cba0..a34160d5b 100644 --- a/src/helpers/helpers.canvas.js +++ b/src/helpers/helpers.canvas.js @@ -33,48 +33,6 @@ module.exports = { chart.ctx.clearRect(0, 0, chart.width, chart.height); }, - /** - * Creates a "path" for a rectangle with rounded corners at position (x, y) with a - * given size (width, height) and the same `radius` for all corners. - * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context. - * @param {number} x - The x axis of the coordinate for the rectangle starting point. - * @param {number} y - The y axis of the coordinate for the rectangle starting point. - * @param {number} width - The rectangle's width. - * @param {number} height - The rectangle's height. - * @param {number} radius - The rounded amount (in pixels) for the four corners. - * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object? - */ - roundedRect: function(ctx, x, y, width, height, radius) { - if (radius) { - var r = Math.min(radius, height / 2, width / 2); - var left = x + r; - var top = y + r; - var right = x + width - r; - var bottom = y + height - r; - - ctx.moveTo(x, top); - if (left < right && top < bottom) { - ctx.arc(left, top, r, -PI, -HALF_PI); - ctx.arc(right, top, r, -HALF_PI, 0); - ctx.arc(right, bottom, r, 0, HALF_PI); - ctx.arc(left, bottom, r, HALF_PI, PI); - } else if (left < right) { - ctx.moveTo(left, y); - ctx.arc(right, top, r, -HALF_PI, HALF_PI); - ctx.arc(left, top, r, HALF_PI, PI + HALF_PI); - } else if (top < bottom) { - ctx.arc(left, top, r, -PI, 0); - ctx.arc(left, bottom, r, 0, PI); - } else { - ctx.arc(left, top, r, -PI, PI); - } - ctx.closePath(); - ctx.moveTo(x, y); - } else { - ctx.rect(x, y, width, height); - } - }, - drawPoint: function(ctx, style, radius, x, y, rotation) { var type, xOffset, yOffset, size, cornerRadius; var rad = (rotation || 0) * RAD_PER_DEG; diff --git a/test/fixtures/helpers.canvas/rounded-rect.js b/test/fixtures/helpers.canvas/rounded-rect.js deleted file mode 100644 index cbdedacc3..000000000 --- a/test/fixtures/helpers.canvas/rounded-rect.js +++ /dev/null @@ -1,39 +0,0 @@ -var roundedRect = Chart.helpers.canvas.roundedRect; - -module.exports = { - config: { - type: 'line', - plugins: [{ - afterDraw: function(chart) { - var ctx = chart.ctx; - ctx.strokeStyle = '#0000ff'; - ctx.lineWidth = 4; - ctx.fillStyle = '#00ff00'; - ctx.beginPath(); - roundedRect(ctx, 10, 10, 50, 50, 25); - roundedRect(ctx, 70, 10, 100, 50, 25); - roundedRect(ctx, 10, 70, 50, 100, 25); - roundedRect(ctx, 70, 70, 100, 100, 25); - roundedRect(ctx, 180, 10, 50, 50, 100); - roundedRect(ctx, 240, 10, 100, 50, 100); - roundedRect(ctx, 180, 70, 50, 100, 100); - roundedRect(ctx, 240, 70, 100, 100, 100); - roundedRect(ctx, 350, 10, 50, 50, 0); - ctx.fill(); - ctx.stroke(); - } - }], - options: { - scales: { - xAxes: [{display: false}], - yAxes: [{display: false}] - } - } - }, - options: { - canvas: { - height: 256, - width: 512 - } - } -}; diff --git a/test/fixtures/helpers.canvas/rounded-rect.png b/test/fixtures/helpers.canvas/rounded-rect.png deleted file mode 100644 index 8973c9d30a0c84bdf158aa1881638536f8798e7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc-jL100001 literal 13050 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 diff --git a/test/specs/helpers.canvas.tests.js b/test/specs/helpers.canvas.tests.js index 9654ef28e..3a5fbb836 100644 --- a/test/specs/helpers.canvas.tests.js +++ b/test/specs/helpers.canvas.tests.js @@ -23,70 +23,6 @@ describe('Chart.helpers.canvas', function() { }); }); - describe('roundedRect', function() { - it('should create a rounded rectangle path', function() { - var context = window.createMockContext(); - - helpers.canvas.roundedRect(context, 10, 20, 30, 40, 5); - - expect(context.getCalls()).toEqual([ - {name: 'moveTo', args: [10, 25]}, - {name: 'arc', args: [15, 25, 5, -Math.PI, -Math.PI / 2]}, - {name: 'arc', args: [35, 25, 5, -Math.PI / 2, 0]}, - {name: 'arc', args: [35, 55, 5, 0, Math.PI / 2]}, - {name: 'arc', args: [15, 55, 5, Math.PI / 2, Math.PI]}, - {name: 'closePath', args: []}, - {name: 'moveTo', args: [10, 20]} - ]); - }); - it('should optimize path if radius is exactly half of height', function() { - var context = window.createMockContext(); - - helpers.canvas.roundedRect(context, 10, 20, 40, 30, 15); - - expect(context.getCalls()).toEqual([ - {name: 'moveTo', args: [10, 35]}, - {name: 'moveTo', args: [25, 20]}, - {name: 'arc', args: [35, 35, 15, -Math.PI / 2, Math.PI / 2]}, - {name: 'arc', args: [25, 35, 15, Math.PI / 2, Math.PI * 3 / 2]}, - {name: 'closePath', args: []}, - {name: 'moveTo', args: [10, 20]} - ]); - }); - it('should optimize path if radius is exactly half of width', function() { - var context = window.createMockContext(); - - helpers.canvas.roundedRect(context, 10, 20, 30, 40, 15); - - expect(context.getCalls()).toEqual([ - {name: 'moveTo', args: [10, 35]}, - {name: 'arc', args: [25, 35, 15, -Math.PI, 0]}, - {name: 'arc', args: [25, 45, 15, 0, Math.PI]}, - {name: 'closePath', args: []}, - {name: 'moveTo', args: [10, 20]} - ]); - }); - it('should optimize path if radius is exactly half of width and height', function() { - var context = window.createMockContext(); - - helpers.canvas.roundedRect(context, 10, 20, 30, 30, 15); - - expect(context.getCalls()).toEqual([ - {name: 'moveTo', args: [10, 35]}, - {name: 'arc', args: [25, 35, 15, -Math.PI, Math.PI]}, - {name: 'closePath', args: []}, - {name: 'moveTo', args: [10, 20]} - ]); - }); - it('should optimize path if radius is 0', function() { - var context = window.createMockContext(); - - helpers.canvas.roundedRect(context, 10, 20, 30, 40, 0); - - expect(context.getCalls()).toEqual([{name: 'rect', args: [10, 20, 30, 40]}]); - }); - }); - describe('isPointInArea', function() { it('should determine if a point is in the area', function() { var isPointInArea = helpers.canvas._isPointInArea; -- 2.47.2