From 061118c82415d8c431e2c5be74e95bdcda3282d8 Mon Sep 17 00:00:00 2001 From: Robert Konigsberg Date: Wed, 13 Jun 2012 16:42:28 -0400 Subject: [PATCH] Properly draw separated points. --- auto_tests/tests/simple_drawing.js | 31 ++++++++++++++++++++++++++++++- dygraph-canvas.js | 4 +--- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/auto_tests/tests/simple_drawing.js b/auto_tests/tests/simple_drawing.js index 3955a31..544bb81 100644 --- a/auto_tests/tests/simple_drawing.js +++ b/auto_tests/tests/simple_drawing.js @@ -95,10 +95,39 @@ SimpleDrawingTestCase.prototype.testSeparatedPointsDontDraw = function() { var graph = document.getElementById("graph"); var g = new Dygraph( graph, - [[1, 10, 11], [2, 11, null], [3, 12, 13]], + [[1, 10, 11], + [2, 11, null], + [3, 12, 13]], { colors: ['red', 'blue']}); var htx = g.hidden_ctx_; assertEquals(2, CanvasAssertions.numLinesDrawn(htx, '#ff0000')); assertEquals(0, CanvasAssertions.numLinesDrawn(htx, '#0000ff')); } +SimpleDrawingTestCase.prototype.testSeparatedPointsDontDraw_expanded = function() { + var graph = document.getElementById("graph"); + var g = new Dygraph( + graph, + [[0, 10], + [1, 11], + [2, null], + [3, 13], + [4, 14]], + { colors: ['blue']}); + var htx = g.hidden_ctx_; + var num_lines = 0; + var lines = CanvasAssertions.getLinesDrawn(htx); + for (var idx = 0; idx < lines.length; idx++) { + var line = lines[idx]; + var color = line[1].properties.strokeStyle; + if (color === "#ff0000" || color === "#0000ff") { + console.log(line[0].args, line[1].args, color); + } + } + + assertEquals(2, CanvasAssertions.numLinesDrawn(htx, '#0000ff')); + CanvasAssertions.assertLineDrawn(htx, [370, 87], [475, 25], + { strokeStyle: '#0000ff', }); + CanvasAssertions.assertLineDrawn(htx, [56, 275], [161, 212], + { strokeStyle: '#0000ff', }); +} diff --git a/dygraph-canvas.js b/dygraph-canvas.js index de8d4fe..4c99352 100644 --- a/dygraph-canvas.js +++ b/dygraph-canvas.js @@ -822,9 +822,7 @@ DygraphCanvasRenderer.prototype._drawTrivialLine = function( if (prevX === null) { prevX = point.canvasx; prevY = point.canvasy; - if (j === firstIndexInSet) { - ctx.moveTo(point.canvasx, point.canvasy); - } + ctx.moveTo(point.canvasx, point.canvasy); } else { ctx.lineTo(point.canvasx, point.canvasy); } -- 2.7.4