Merge branch 'master' into reorganize-points reorganize-points
authorDan Vanderkam <dan@dygraphs.com>
Wed, 25 Jul 2012 17:54:28 +0000 (13:54 -0400)
committerDan Vanderkam <dan@dygraphs.com>
Wed, 25 Jul 2012 17:54:28 +0000 (13:54 -0400)
1  2 
auto_tests/misc/local.html
dygraph-canvas.js

@@@ -42,7 -42,6 +42,7 @@@
    -->
    <script type="text/javascript" src="../tests/to_dom_coords.js"></script>
    <script type="text/javascript" src="../tests/update_while_panning.js"></script>
 +  <script type="text/javascript" src="../tests/stacked.js"></script>
    <script type="text/javascript" src="../tests/update_options.js"></script>
    <script type="text/javascript" src="../tests/utils_test.js"></script>
  
      var summary = { failed: 0, passed: 0 };
      postResults(results, summary);
      resultsDiv.appendChild(document.createElement("hr"));
-     document.getElementById('summary').innerText = "(" + summary.failed + " failed, " + summary.passed + " passed)";
+     document.getElementById('summary').innerHTML = "(" + summary.failed + " failed, " + summary.passed + " passed)";
    }
  
    function createResultsDiv() {
@@@ -237,7 -236,7 +237,7 @@@ if (selector != null) { // running a te
    var createLink = function(parent, text, url) {
      var li = createAttached("li", parent);
      var a = createAttached("a", li);
-     a.innerText = text;
+     a.innerHTML = text;
      a.href = url;
    }
    if (tc == null) {
diff --combined dygraph-canvas.js
@@@ -243,21 -243,22 +243,20 @@@ DygraphCanvasRenderer._predicateThatSki
  };
  
  /**
-  *
   * @private
   */
  DygraphCanvasRenderer.prototype._drawStyledLine = function(
 -    ctx, i, setName, color, strokeWidth, strokePattern, drawPoints,
 +    ctx, setIdx, setName, color, strokeWidth, strokePattern, drawPoints,
      drawPointCallback, pointSize) {
    // TODO(konigsberg): Compute attributes outside this method call.
    var stepPlot = this.attr_("stepPlot");
 -  var firstIndexInSet = this.layout.setPointsOffsets[i];
 -  var setLength = this.layout.setPointsLengths[i];
 -  var points = this.layout.points;
    if (!Dygraph.isArrayLike(strokePattern)) {
      strokePattern = null;
    }
    var drawGapPoints = this.dygraph_.attr_('drawGapEdgePoints', setName);
  
 -  var iter = Dygraph.createIterator(points, firstIndexInSet, setLength,
 +  var points = this.layout.points[setIdx];
 +  var iter = Dygraph.createIterator(points, 0, points.length,
        DygraphCanvasRenderer._getIteratorPredicate(
            this.attr_("connectSeparatedPoints")));
  
@@@ -426,14 -427,11 +425,14 @@@ DygraphCanvasRenderer.prototype._render
    // unaffected.  An alternative is to reduce the stroke width in the
    // transformed coordinate space, but you can't specify different values for
    // each dimension (as you can with .scale()). The speedup here is ~12%.
 -  var points = this.layout.points;
 -  for (i = points.length; i--;) {
 -    var point = points[i];
 -    point.canvasx = this.area.w * point.x + this.area.x;
 -    point.canvasy = this.area.h * point.y + this.area.y;
 +  var sets = this.layout.points;
 +  for (i = sets.length; i--;) {
 +    var points = sets[i];
 +    for (var j = points.length; j--;) {
 +      var point = points[j];
 +      point.canvasx = this.area.w * point.x + this.area.x;
 +      point.canvasy = this.area.h * point.y + this.area.y;
 +    }
    }
  
    // Draw any "fills", i.e. error bars or the filled area under a series.
@@@ -475,13 -473,15 +474,13 @@@ DygraphCanvasRenderer.prototype.drawErr
  
    var newYs;
  
 -  for (var i = 0; i < setCount; i++) {
 -    var setName = setNames[i];
 +  for (var setIdx = 0; setIdx < setCount; setIdx++) {
 +    var setName = setNames[setIdx];
      var axis = this.dygraph_.axisPropertiesForSeries(setName);
      var color = this.colors[setName];
  
 -    var firstIndexInSet = this.layout.setPointsOffsets[i];
 -    var setLength = this.layout.setPointsLengths[i];
 -
 -    var iter = Dygraph.createIterator(points, firstIndexInSet, setLength,
 +    var points = this.layout.points[setIdx];
 +    var iter = Dygraph.createIterator(points, 0, points.length,
          DygraphCanvasRenderer._getIteratorPredicate(
              this.attr_("connectSeparatedPoints")));
  
@@@ -551,17 -551,18 +550,17 @@@ DygraphCanvasRenderer.prototype.drawFil
    var currBaseline;
  
    // process sets in reverse order (needed for stacked graphs)
 -  for (var i = setCount - 1; i >= 0; i--) {
 -    var setName = setNames[i];
 +  for (var setIdx = setCount - 1; setIdx >= 0; setIdx--) {
 +    var setName = setNames[setIdx];
      var color = this.colors[setName];
      var axis = this.dygraph_.axisPropertiesForSeries(setName);
      var axisY = 1.0 + axis.minyval * axis.yscale;
      if (axisY < 0.0) axisY = 0.0;
      else if (axisY > 1.0) axisY = 1.0;
      axisY = this.area.h * axisY + this.area.y;
 -    var firstIndexInSet = this.layout.setPointsOffsets[i];
 -    var setLength = this.layout.setPointsLengths[i];
  
 -    var iter = Dygraph.createIterator(points, firstIndexInSet, setLength,
 +    var points = this.layout.points[setIdx];
 +    var iter = Dygraph.createIterator(points, 0, points.length,
          DygraphCanvasRenderer._getIteratorPredicate(
              this.attr_("connectSeparatedPoints")));