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 HcmV?d00001 literal 13050 zcmeHui8s{m`}Zu&*d;qzN)g$zN0y2tkt|upnw?>$$i9puNtRN`Ub0n;C1Yn0*=1h_ zGbLmn`_A*`)8~Aj=lPxIJpaJ=ocB5AKIeU3@B3Qr`@UY+>k^@-t4UA8MFRqX=(TRC z>w`cL;3pVF1q1#x#dbM@K>Q#r^=pPcmW!$Iuje&Jo~1v~YIywlh<^eR(b9Ot z7N2p6ibnOxd2kcx0|ljqo)kpn*6G+Y2`|r?zJ7h7QM^s!okgrg{9(8Ep486?CGSfA zO8-we6N-*qB4w3xdue43)2T}|46ID2z$Z@#iK?6=b-&>pKjfdM1>|(S30NM_aOO6>SpF9{TbC*tR!3XiVGgp@PwRJ zk92^jFe1S(p=>C2!^pa1rt;I}H0AUufmHq`kJ^VC$E3nolHA`*S5MGJckgaN60G9WB;0$Z(ee zjoA0R^<}=;0#YYH>Od;5yz$Uc|I-RoV_B42ec3y`tBdYQI~%+wpCaCxb=Ri+BMALr zp*7$y5RyW#CZmJ~7y4><2xK?Tc{lpWH~x~q=SHl!7O|gwBPXLY2(K1p@yrdkMo-wzBUbl=&1x!@k7bZY*spv7)Wx6 z|5=MkQ&;vx)L?8tmAK6K_4c8%m3Y}S{l{_O7LmAu_H;GfP3cjpZDvVFgXf#B!QVYd zg*Sd#ZTr4qXA8f<80O*ibXKl2Bd?ko30;c6TIn)=Gh&A=`Ic{f__6Wg#D@4Fx}Epoqpi3k_S?{Ncr3&!qY!D_xiQ?rP=Tmmz#dEaJFXn9kG%?XiHxiI%pqnXzNtjQL9ksY4im@S{gRG?>{$ z64M5-UU!8qXVnb~QoBomCz4!ArE-_aAJ*v^9*1e}OvmYMA*fHJ98$FlJuyF)qRCSF z8Xocz#=k3rR?;K3cBQQlD;Y%X_nbZ7U#$@R5^PZImti>pzYpKib7b;OL^)FLcszEh z42#FA3gnmEdeo-_%aA_n`8bV2iUZSvTMpz%tYd3gFd)^xwOKdtZH}+a4;F`ho?wjA zl(XEEur@+(qMrSFSj$Jxp^;;>gDiM)dJKjboiwPDGN2v463qoV*s|!S) zsNII1%4ZlGU}<@{S6};`oe8li7rbGiKuQc5!cs1Ec}CqoPxRE4DnThcyY96 z9QYO-Q5tzZb`W$G^u?U^4{ce!)u6ak?SdQD*ReX(y5=g#eZZ6c=0K~w#e>5^h7+H9 z|IUgOEdh4dtlDR?()C#z#!`TWbOV{3^o5k(FCDz1X(y%D0buc`^43o`bElFgFq0NTKV}n-a0APO8{80Q zMbVmqrb@TIXJO3sVx!FDsRpeUI?Lp@pBRCR_=~H zU)(sF9wQfReG1taANe&Ip4?4i!aFv3Lr8BW;Pd<2dlzr?iG2+q#9&$_{Ke*`!Ygfw?u**c=FN_kZdl@KxOs5&gT z{KmE3ZLk4ksA?sVF>^}�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 I-TKM@0=vZ0?*IS* 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;