Permalink
Browse files

Prevent pie slice outlines from being drawn when the stroke width is …

…zero (issue 585)
  • Loading branch information...
1 parent c5c865d commit d0fba4a5b9e40d4162bb3c236dd47a02f5884f83 @dnschnur dnschnur committed May 2, 2012
Showing with 31 additions and 19 deletions.
  1. +9 −0 NEWS.txt
  2. +22 −19 jquery.flot.pie.js
View
@@ -39,20 +39,29 @@ Bug fixes
- Fix problem with null values and pie plugin (patch by gcruxifix,
issue 500).
+
- Fix problem with threshold plugin and bars (based on patch by
kaarlenkaski, issue 348).
+
- Fix axis box calculations so the boxes include the outermost part of
the labels too.
+
- Fix problem with event clicking and hovering in IE 8 by updating
Excanvas and removing previous work-around (test case by Ara
Anjargolian).
+
- Fix issues with blurry 1px border when some measures aren't integer
(reported by Ara Anjargolian).
+
- Fix bug with formats in the data processor (reported by Peter Hull,
issue 534).
+
- Prevent i from being declared global in extractRange (reported by
Alexander Obukhov, issue 627).
+- Prevent pie slice outlines from being drawn when the stroke width is
+ zero (reported by Chris Minett, issue 585)
+
Flot 0.7
--------
View
@@ -347,20 +347,20 @@ More detail and specific examples can be found in the included HTML file.
function drawPie()
{
- startAngle = Math.PI*options.series.pie.startAngle;
-
+ var startAngle = Math.PI * options.series.pie.startAngle;
+ var radius;
+
// set radius
- if (options.series.pie.radius>1)
- var radius = options.series.pie.radius;
- else
- var radius = maxRadius * options.series.pie.radius;
-
+ if (options.series.pie.radius > 1)
+ radius = options.series.pie.radius;
+ else radius = maxRadius * options.series.pie.radius;
+
// center and rotate to starting position
ctx.save();
ctx.translate(centerLeft,centerTop);
ctx.scale(1, options.series.pie.tilt);
//ctx.rotate(startAngle); // start at top; -- This doesn't work properly in Opera
-
+
// draw slices
ctx.save();
var currentAngle = startAngle;
@@ -370,25 +370,28 @@ More detail and specific examples can be found in the included HTML file.
drawSlice(slices[i].angle, slices[i].color, true);
}
ctx.restore();
-
+
// draw slice outlines
- ctx.save();
- ctx.lineWidth = options.series.pie.stroke.width;
- currentAngle = startAngle;
- for (var i = 0; i < slices.length; ++i)
- drawSlice(slices[i].angle, options.series.pie.stroke.color, false);
- ctx.restore();
-
+
+ if (options.series.pie.stroke.width > 0) {
+ ctx.save();
+ ctx.lineWidth = options.series.pie.stroke.width;
+ currentAngle = startAngle;
+ for (var i = 0; i < slices.length; ++i)
+ drawSlice(slices[i].angle, options.series.pie.stroke.color, false);
+ ctx.restore();
+ }
+
// draw donut hole
drawDonutHole(ctx);
-
+
// draw labels
if (options.series.pie.label.show)
drawLabels();
-
+
// restore to original state
ctx.restore();
-
+
function drawSlice(angle, color, fill)
{
if (angle <= 0 || isNaN(angle))

0 comments on commit d0fba4a

Please sign in to comment.