* MIT-licensed (http://opensource.org/licenses/MIT)
*/
+(function() {
+'use strict';
+
/**
* @fileoverview Adds support for dashed lines to the HTML5 canvas.
*
* property and "uninstallPattern" method to this particular canvas context.
* You must call uninstallPattern() before calling installPattern() again.
*
- * @param {pattern | Array<Number>} A description of the stroke pattern. Even
+ * @param {Array.<number>} pattern A description of the stroke pattern. Even
* indices indicate a draw and odd indices indicate a gap (in pixels). The
* array should have a even length as any odd lengthed array could be expressed
* as a smaller even length array.
*/
CanvasRenderingContext2D.prototype.installPattern = function(pattern) {
- "use strict";
-
if (typeof(this.isPatternInstalled) !== 'undefined') {
throw "Must un-install old line pattern before installing a new one.";
}
var realMoveTo = this.moveTo;
var realStroke = this.stroke;
+ /** @type {function()|undefined} */
this.uninstallPattern = function() {
this.beginPath = realBeginPath;
this.lineTo = realLineTo;
}
this.restore();
- x1 = x2, y1 = y2;
+ x1 = x2;
+ y1 = y2;
}
}
realStroke.call(this);
CanvasRenderingContext2D.prototype.uninstallPattern = function() {
// This will be replaced by a non-error version when a pattern is installed.
throw "Must install a line pattern before uninstalling it.";
-}
+};
+
+})();