code: function _addArrow(canvas, ctx, params, path, x1, y1, x2, y2) {
  	var leftX, leftY,
  		rightX, rightY,
  		offsetX, offsetY,
  		angle;
  
  	// If arrow radius is given and path is not closed
  	if (path.arrowRadius && !params.closed) {
  
  		// Calculate angle
  		angle = atan2((y2 - y1), (x2 - x1));
  		// Adjust angle correctly
  		angle -= PI;
  		// Calculate offset to place arrow at edge of path
  		offsetX = (params.strokeWidth * cos(angle));
  		offsetY = (params.strokeWidth * sin(angle));
  
  		// Calculate coordinates for left half of arrow
  		leftX = x2 + (path.arrowRadius * cos(angle + (path.arrowAngle / 2)));
  		leftY = y2 + (path.arrowRadius * sin(angle + (path.arrowAngle / 2)));
  		// Calculate coordinates for right half of arrow
  		rightX = x2 + (path.arrowRadius * cos(angle - (path.arrowAngle / 2)));
  		rightY = y2 + (path.arrowRadius * sin(angle - (path.arrowAngle / 2)));
  
  		// Draw left half of arrow
  		ctx.moveTo(leftX - offsetX, leftY - offsetY);
  		ctx.lineTo(x2 - offsetX, y2 - offsetY);
  		// Draw right half of arrow
  		ctx.lineTo(rightX - offsetX, rightY - offsetY);
  
  		// Visually connect arrow to path
  		ctx.moveTo(x2 - offsetX, y2 - offsetY);
  		ctx.lineTo(x2 + offsetX, y2 + offsetY);
  		// Move back to end of path
  		ctx.moveTo(x2, y2);
  
  	}
  }
docs: /* Path API Adds arrow to path using the given properties