projects
/
dygraphs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
almost passing!
[dygraphs.git]
/
dygraph-canvas.js
diff --git
a/dygraph-canvas.js
b/dygraph-canvas.js
index
bf779ba
..
03a5b4e
100644
(file)
--- a/
dygraph-canvas.js
+++ b/
dygraph-canvas.js
@@
-25,7
+25,7
@@
*/
/*jshint globalstrict: true */
*/
/*jshint globalstrict: true */
-/*global Dygraph:false
,RGBColorParser:false
*/
+/*global Dygraph:false */
"use strict";
"use strict";
@@
-89,15
+89,6
@@
var DygraphCanvasRenderer = function(dygraph, element, elementContext, layout) {
};
/**
};
/**
- * This just forwards to dygraph.attr_.
- * TODO(danvk): remove this?
- * @private
- */
-DygraphCanvasRenderer.prototype.attr_ = function(name, opt_seriesName) {
- return this.dygraph_.attr_(name, opt_seriesName);
-};
-
-/**
* Clears out all chart content and DOM elements.
* This is called immediately before render() on every frame, including
* during zooms and pans.
* Clears out all chart content and DOM elements.
* This is called immediately before render() on every frame, including
* during zooms and pans.
@@
-262,19
+253,19
@@
DygraphCanvasRenderer._drawStyledLine = function(e,
drawPointCallback, pointSize) {
var g = e.dygraph;
// TODO(konigsberg): Compute attributes outside this method call.
drawPointCallback, pointSize) {
var g = e.dygraph;
// TODO(konigsberg): Compute attributes outside this method call.
- var stepPlot = g.getOption("stepPlot", e.setName);
+ var stepPlot = g.get
Boolean
Option("stepPlot", e.setName);
if (!Dygraph.isArrayLike(strokePattern)) {
strokePattern = null;
}
if (!Dygraph.isArrayLike(strokePattern)) {
strokePattern = null;
}
- var drawGapPoints = g.getOption('drawGapEdgePoints', e.setName);
+ var drawGapPoints = g.get
Boolean
Option('drawGapEdgePoints', e.setName);
var points = e.points;
var setName = e.setName;
var iter = Dygraph.createIterator(points, 0, points.length,
DygraphCanvasRenderer._getIteratorPredicate(
var points = e.points;
var setName = e.setName;
var iter = Dygraph.createIterator(points, 0, points.length,
DygraphCanvasRenderer._getIteratorPredicate(
- g.getOption("connectSeparatedPoints", setName)));
+ g.get
Boolean
Option("connectSeparatedPoints", setName)));
var stroking = strokePattern && (strokePattern.length >= 2);
var stroking = strokePattern && (strokePattern.length >= 2);
@@
-335,6
+326,9
@@
DygraphCanvasRenderer._drawSeries = function(e,
point = arr[i];
}
point = arr[i];
}
+ // FIXME: The 'canvasy != canvasy' test here catches NaN values but the test
+ // doesn't catch Infinity values. Could change this to
+ // !isFinite(point.canvasy), but I assume it avoids isNaN for performance?
if (point.canvasy === null || point.canvasy != point.canvasy) {
if (stepPlot && prevCanvasX !== null) {
// Draw a horizontal line to the start of the missing data
if (point.canvasy === null || point.canvasy != point.canvasy) {
if (stepPlot && prevCanvasX !== null) {
// Draw a horizontal line to the start of the missing data
@@
-458,7
+452,7
@@
DygraphCanvasRenderer.prototype._renderLineChart = function(opt_seriesName, opt_
this.colors = this.dygraph_.colorsMap_;
// Determine which series have specialized plotters.
this.colors = this.dygraph_.colorsMap_;
// Determine which series have specialized plotters.
- var plotter_attr = this.
attr_
("plotter");
+ var plotter_attr = this.
dygraph_.getOption
("plotter");
var plotters = plotter_attr;
if (!Dygraph.isArrayLike(plotters)) {
plotters = [plotters];
var plotters = plotter_attr;
if (!Dygraph.isArrayLike(plotters)) {
plotters = [plotters];
@@
-467,7
+461,7
@@
DygraphCanvasRenderer.prototype._renderLineChart = function(opt_seriesName, opt_
var setPlotters = {}; // series name -> plotter fn.
for (i = 0; i < setNames.length; i++) {
setName = setNames[i];
var setPlotters = {}; // series name -> plotter fn.
for (i = 0; i < setNames.length; i++) {
setName = setNames[i];
- var setPlotter = this.
attr_
("plotter", setName);
+ var setPlotter = this.
dygraph_.getOption
("plotter", setName);
if (setPlotter == plotter_attr) continue; // not specialized.
setPlotters[setName] = setPlotter;
if (setPlotter == plotter_attr) continue; // not specialized.
setPlotters[setName] = setPlotter;
@@
-549,12
+543,12
@@
DygraphCanvasRenderer._linePlotter = function(e) {
// TODO(danvk): Check if there's any performance impact of just calling
// getOption() inside of _drawStyledLine. Passing in so many parameters makes
// this code a bit nasty.
// TODO(danvk): Check if there's any performance impact of just calling
// getOption() inside of _drawStyledLine. Passing in so many parameters makes
// this code a bit nasty.
- var borderWidth = g.getOption("strokeBorderWidth", setName);
+ var borderWidth = g.get
Numeric
Option("strokeBorderWidth", setName);
var drawPointCallback = g.getOption("drawPointCallback", setName) ||
Dygraph.Circles.DEFAULT;
var strokePattern = g.getOption("strokePattern", setName);
var drawPointCallback = g.getOption("drawPointCallback", setName) ||
Dygraph.Circles.DEFAULT;
var strokePattern = g.getOption("strokePattern", setName);
- var drawPoints = g.getOption("drawPoints", setName);
- var pointSize = g.getOption("pointSize", setName);
+ var drawPoints = g.get
Boolean
Option("drawPoints", setName);
+ var pointSize = g.get
Numeric
Option("pointSize", setName);
if (borderWidth && strokeWidth) {
DygraphCanvasRenderer._drawStyledLine(e,
if (borderWidth && strokeWidth) {
DygraphCanvasRenderer._drawStyledLine(e,
@@
-586,23
+580,24
@@
DygraphCanvasRenderer._linePlotter = function(e) {
DygraphCanvasRenderer._errorPlotter = function(e) {
var g = e.dygraph;
var setName = e.setName;
DygraphCanvasRenderer._errorPlotter = function(e) {
var g = e.dygraph;
var setName = e.setName;
- var errorBars = g.getOption("errorBars") || g.getOption("customBars");
+ var errorBars = g.getBooleanOption("errorBars") ||
+ g.getBooleanOption("customBars");
if (!errorBars) return;
if (!errorBars) return;
- var fillGraph = g.getOption("fillGraph", setName);
+ var fillGraph = g.get
Boolean
Option("fillGraph", setName);
if (fillGraph) {
if (fillGraph) {
-
g
.warn("Can't use fillGraph option with error bars");
+
Dygraph
.warn("Can't use fillGraph option with error bars");
}
var ctx = e.drawingContext;
var color = e.color;
}
var ctx = e.drawingContext;
var color = e.color;
- var fillAlpha = g.getOption('fillAlpha', setName);
- var stepPlot = g.getOption("stepPlot", setName);
+ var fillAlpha = g.get
Numeric
Option('fillAlpha', setName);
+ var stepPlot = g.get
Boolean
Option("stepPlot", setName);
var points = e.points;
var iter = Dygraph.createIterator(points, 0, points.length,
DygraphCanvasRenderer._getIteratorPredicate(
var points = e.points;
var iter = Dygraph.createIterator(points, 0, points.length,
DygraphCanvasRenderer._getIteratorPredicate(
- g.getOption("connectSeparatedPoints", setName)));
+ g.get
Boolean
Option("connectSeparatedPoints", setName)));
var newYs;
var newYs;
@@
-611,7
+606,7
@@
DygraphCanvasRenderer._errorPlotter = function(e) {
var prevY = NaN;
var prevYs = [-1, -1];
// should be same color as the lines but only 15% opaque.
var prevY = NaN;
var prevYs = [-1, -1];
// should be same color as the lines but only 15% opaque.
- var rgb =
new RGBColorParser
(color);
+ var rgb =
Dygraph.toRGB_
(color);
var err_color =
'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + fillAlpha + ')';
ctx.fillStyle = err_color;
var err_color =
'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + fillAlpha + ')';
ctx.fillStyle = err_color;
@@
-687,7
+682,7
@@
DygraphCanvasRenderer._fillPlotter = function(e) {
var anySeriesFilled = (function() {
for (var i = 0; i < setNames.length; i++) {
var anySeriesFilled = (function() {
for (var i = 0; i < setNames.length; i++) {
- if (g.getOption("fillGraph", setNames[i])) return true;
+ if (g.get
Boolean
Option("fillGraph", setNames[i])) return true;
}
return false;
})();
}
return false;
})();
@@
-699,8
+694,8
@@
DygraphCanvasRenderer._fillPlotter = function(e) {
var sets = e.allSeriesPoints;
var setCount = sets.length;
var sets = e.allSeriesPoints;
var setCount = sets.length;
- var fillAlpha = g.getOption('fillAlpha');
- var stackedGraph = g.getOption("stackedGraph");
+ var fillAlpha = g.get
Numeric
Option('fillAlpha');
+ var stackedGraph = g.get
Boolean
Option("stackedGraph");
var colors = g.getColors();
// For stacked graphs, track the baseline for filling.
var colors = g.getColors();
// For stacked graphs, track the baseline for filling.
@@
-717,9
+712,9
@@
DygraphCanvasRenderer._fillPlotter = function(e) {
// process sets in reverse order (needed for stacked graphs)
for (var setIdx = setCount - 1; setIdx >= 0; setIdx--) {
var setName = setNames[setIdx];
// process sets in reverse order (needed for stacked graphs)
for (var setIdx = setCount - 1; setIdx >= 0; setIdx--) {
var setName = setNames[setIdx];
- if (!g.getOption('fillGraph', setName)) continue;
+ if (!g.get
Boolean
Option('fillGraph', setName)) continue;
- var stepPlot = g.getOption('stepPlot', setName);
+ var stepPlot = g.get
Boolean
Option('stepPlot', setName);
var color = colors[setIdx];
var axis = g.axisPropertiesForSeries(setName);
var axisY = 1.0 + axis.minyval * axis.yscale;
var color = colors[setIdx];
var axis = g.axisPropertiesForSeries(setName);
var axisY = 1.0 + axis.minyval * axis.yscale;
@@
-730,14
+725,14
@@
DygraphCanvasRenderer._fillPlotter = function(e) {
var points = sets[setIdx];
var iter = Dygraph.createIterator(points, 0, points.length,
DygraphCanvasRenderer._getIteratorPredicate(
var points = sets[setIdx];
var iter = Dygraph.createIterator(points, 0, points.length,
DygraphCanvasRenderer._getIteratorPredicate(
- g.getOption("connectSeparatedPoints", setName)));
+ g.get
Boolean
Option("connectSeparatedPoints", setName)));
// setup graphics context
var prevX = NaN;
var prevYs = [-1, -1];
var newYs;
// should be same color as the lines but only 15% opaque.
// setup graphics context
var prevX = NaN;
var prevYs = [-1, -1];
var newYs;
// should be same color as the lines but only 15% opaque.
- var rgb =
new RGBColorParser
(color);
+ var rgb =
Dygraph.toRGB_
(color);
var err_color =
'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + fillAlpha + ')';
ctx.fillStyle = err_color;
var err_color =
'rgba(' + rgb.r + ',' + rgb.g + ',' + rgb.b + ',' + fillAlpha + ')';
ctx.fillStyle = err_color;