| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 'use strict';module.exports = function(Chart) {	var helpers = Chart.helpers,		globalOpts = Chart.defaults.global,		defaultColor = globalOpts.defaultColor;	globalOpts.elements.point = {		radius: 3,		pointStyle: 'circle',		backgroundColor: defaultColor,		borderWidth: 1,		borderColor: defaultColor,		// Hover		hitRadius: 1,		hoverRadius: 4,		hoverBorderWidth: 1	};	function xRange(mouseX) {		var vm = this._view;		return vm ? (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hitRadius, 2)) : false;	}	function yRange(mouseY) {		var vm = this._view;		return vm ? (Math.pow(mouseY - vm.y, 2) < Math.pow(vm.radius + vm.hitRadius, 2)) : false;	}	Chart.elements.Point = Chart.Element.extend({		inRange: function(mouseX, mouseY) {			var vm = this._view;			return vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;		},		inLabelRange: xRange,		inXRange: xRange,		inYRange: yRange,		getCenterPoint: function() {			var vm = this._view;			return {				x: vm.x,				y: vm.y			};		},		getArea: function() {			return Math.PI * Math.pow(this._view.radius, 2);		},		tooltipPosition: function() {			var vm = this._view;			return {				x: vm.x,				y: vm.y,				padding: vm.radius + vm.borderWidth			};		},		draw: function() {			var vm = this._view;			var ctx = this._chart.ctx;			var pointStyle = vm.pointStyle;			var radius = vm.radius;			var x = vm.x;			var y = vm.y;			if (vm.skip) {				return;			}			ctx.strokeStyle = vm.borderColor || defaultColor;			ctx.lineWidth = helpers.getValueOrDefault(vm.borderWidth, globalOpts.elements.point.borderWidth);			ctx.fillStyle = vm.backgroundColor || defaultColor;			Chart.canvasHelpers.drawPoint(ctx, pointStyle, radius, x, y);		}	});};
 |