From: Evert Timberg Date: Wed, 1 Jun 2016 02:16:29 +0000 (-0400) Subject: Remove clipping and add plugin hooks. Zoom plugin can then do the clipping itself X-Git-Tag: v2.1.5~20^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b22e32c007d684395e889bf3518bc50c1b14e997;p=thirdparty%2FChart.js.git Remove clipping and add plugin hooks. Zoom plugin can then do the clipping itself --- diff --git a/src/core/core.controller.js b/src/core/core.controller.js index 41b37d293..cc564b65a 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -288,12 +288,7 @@ module.exports = function(Chart) { this.scale.draw(); } - // Clip out the chart area so that anything outside does not draw. This is necessary for zoom and pan to function - var context = this.chart.ctx; - context.save(); - context.beginPath(); - context.rect(this.chartArea.left, this.chartArea.top, this.chartArea.right - this.chartArea.left, this.chartArea.bottom - this.chartArea.top); - context.clip(); + Chart.pluginService.notifyPlugins('beforeElementDraw', [this, easingDecimal]); // Draw each dataset via its respective controller (reversed to support proper line stacking) helpers.each(this.data.datasets, function(dataset, datasetIndex) { @@ -302,8 +297,7 @@ module.exports = function(Chart) { } }, this, true); - // Restore from the clipping operation - context.restore(); + Chart.pluginService.notifyPlugins('afterElementDraw', [this, easingDecimal]); // Finally draw the tooltip this.tooltip.transition(easingDecimal).draw();