Commit 6d70144d authored by David Schnur's avatar David Schnur

Moved setupPie into the draw function.

This code is only used to prepare the plot for drawing; inlining it is
cleaner and will allow us to get rid of some plugin-global variables
that existed only to give setupPie a way to share data with the draw
function.
parent cfc07ff2
...@@ -192,33 +192,6 @@ More detail and specific examples can be found in the included HTML file. ...@@ -192,33 +192,6 @@ More detail and specific examples can be found in the included HTML file.
} }
} }
function setupPie() {
legendWidth = target.children().filter(".legend").children().width() || 0;
// calculate maximum radius and center point
maxRadius = Math.min(canvasWidth, canvasHeight / options.series.pie.tilt) / 2;
centerTop = canvasHeight / 2 + options.series.pie.offset.top;
centerLeft = canvasWidth / 2;
if (options.series.pie.offset.left == "auto") {
if (options.legend.position.match("w")) {
centerLeft += legendWidth / 2;
} else {
centerLeft -= legendWidth / 2;
}
} else {
centerLeft += options.series.pie.offset.left;
}
if (centerLeft < maxRadius) {
centerLeft = maxRadius;
} else if (centerLeft > canvasWidth - maxRadius) {
centerLeft = canvasWidth - maxRadius;
}
}
function combine(data) { function combine(data) {
var total = 0, var total = 0,
...@@ -299,7 +272,30 @@ More detail and specific examples can be found in the included HTML file. ...@@ -299,7 +272,30 @@ More detail and specific examples can be found in the included HTML file.
canvasHeight = plot.getPlaceholder().height(); canvasHeight = plot.getPlaceholder().height();
ctx = newCtx; ctx = newCtx;
setupPie();
legendWidth = target.children().filter(".legend").children().width() || 0;
// calculate maximum radius and center point
maxRadius = Math.min(canvasWidth, canvasHeight / options.series.pie.tilt) / 2;
centerTop = canvasHeight / 2 + options.series.pie.offset.top;
centerLeft = canvasWidth / 2;
if (options.series.pie.offset.left == "auto") {
if (options.legend.position.match("w")) {
centerLeft += legendWidth / 2;
} else {
centerLeft -= legendWidth / 2;
}
} else {
centerLeft += options.series.pie.offset.left;
}
if (centerLeft < maxRadius) {
centerLeft = maxRadius;
} else if (centerLeft > canvasWidth - maxRadius) {
centerLeft = canvasWidth - maxRadius;
}
var slices = plot.getData(), var slices = plot.getData(),
attempts = 0; attempts = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment