Fix bug 329 which accumulates clipping rectangles on subsequent draws.
[dygraphs.git] / dygraph-externs.js
index dc05172..6e487fd 100644 (file)
@@ -23,25 +23,62 @@ G_vmlCanvasManager.initElement = function(canvas) {};
 Element.prototype.detachEvent = function(type, fn) {};
 
 
+/**
+ * @typedef {function(
+ *   (number|Date),
+ *   number,
+ *   function(string):*,
+ *   (Dygraph|undefined)
+ * ):string}
+ */
+var AxisLabelFormatter;
+
+
+/**
+ * @typedef {function(number,function(string),Dygraph):string}
+ */
+var ValueFormatter;
+
+
+/**
+ * @typedef {Array.<Array.<string|number|Array.<number>>>}
+ */
+var DygraphDataArray;
+
+/**
+ * @constructor
+ */
+function GVizDataTable() {}
+
 // TODO(danvk): move the Dygraph definitions out of here once I closure-ify dygraphs.js
+/**
+ * @param {!HTMLDivElement|string} div
+ * @param {DygraphDataArray|
+ *     GVizDataTable|
+ *     string|
+ *     function():(DygraphDataArray|GVizDataTable|string)} file
+ * @param {Object} attrs
+ * @constructor
+ */
+function Dygraph(div, file, attrs) {}
 
 /**
  * @constructor
  */
-function Dygraph() {}
+function DygraphLayout() {}
+
+/**
+ * @type {Array}
+ */
+DygraphLayout.prototype.datasets;
+
+/**
+ * @type {DygraphLayout}
+ */
+Dygraph.prototype.layout_;
 
 /** @type {Array.<{elem:Element,type:string,fn:function(!Event):(boolean|undefined|null)}>} */
 Dygraph.prototype.registeredEvents_;
 
 /** @type {Object} */
 Dygraph.DEFAULT_ATTRS;
-
-/**
- * @typedef {function(
- *   (number|Date),
- *   number,
- *   function(string):*,
- *   (Dygraph|undefined)
- * ):string}
- */
-Dygraph.AxisLabelFormatter;