66 "math"
77
88 "github.com/ajstarks/svgo"
9- "github.com/vdobler /chart"
9+ "github.com/yyonghe /chart"
1010)
1111
1212// SvgGraphics implements BasicGraphics and uses the generic implementations
@@ -399,9 +399,11 @@ func (sg *SvgGraphics) Rings(wedges []chart.Wedgeinfo, x, y, ro, ri int) {
399399 d += fmt .Sprintf ("L %d,%d " , int (rf * cphi + 0.5 + dx )+ x , int (rf * sphi + 0.5 + dy )+ y )
400400
401401 dx , dy = p * math .Cos (w .Psi - math .Pi / 2 ), p * math .Sin (w .Psi - math .Pi / 2 )
402- if math .Abs (w .Phi - w .Psi )> math .Pi {
403- d += fmt .Sprintf ("A %d,%d 0 1 1 %d,%d " , ro , ro , int (rf * cpsi + 0.5 + dx )+ x , int (rf * spsi + 0.5 + dy )+ y ) } else {
404- d += fmt .Sprintf ("A %d,%d 0 0 1 %d,%d " , ro , ro , int (rf * cpsi + 0.5 + dx )+ x , int (rf * spsi + 0.5 + dy )+ y ) }
402+ if math .Abs (w .Phi - w .Psi ) > math .Pi {
403+ d += fmt .Sprintf ("A %d,%d 0 1 1 %d,%d " , ro , ro , int (rf * cpsi + 0.5 + dx )+ x , int (rf * spsi + 0.5 + dy )+ y )
404+ } else {
405+ d += fmt .Sprintf ("A %d,%d 0 0 1 %d,%d " , ro , ro , int (rf * cpsi + 0.5 + dx )+ x , int (rf * spsi + 0.5 + dy )+ y )
406+ }
405407 d += fmt .Sprintf ("z" )
406408 } else {
407409 // ring drawn as inner radius -> outer radius -> outer arc -> inner radius -> inner arc
@@ -412,13 +414,17 @@ func (sg *SvgGraphics) Rings(wedges []chart.Wedgeinfo, x, y, ro, ri int) {
412414 d += fmt .Sprintf ("L %d,%d " , int (rof * cphi + 0.5 + dx )+ x , int (rof * sphi + 0.5 + dy )+ y )
413415
414416 dx , dy = p * math .Cos (w .Psi - math .Pi / 2 ), p * math .Sin (w .Psi - math .Pi / 2 )
415- if math .Abs (w .Phi - w .Psi )> math .Pi {
416- d += fmt .Sprintf ("A %d,%d 0 1 1 %d,%d " , ro , ro , int (rof * cpsi + 0.5 + dx )+ x , int (rof * spsi + 0.5 + dy )+ y ) } else {
417- d += fmt .Sprintf ("A %d,%d 0 0 1 %d,%d " , ro , ro , int (rof * cpsi + 0.5 + dx )+ x , int (rof * spsi + 0.5 + dy )+ y ) }
417+ if math .Abs (w .Phi - w .Psi ) > math .Pi {
418+ d += fmt .Sprintf ("A %d,%d 0 1 1 %d,%d " , ro , ro , int (rof * cpsi + 0.5 + dx )+ x , int (rof * spsi + 0.5 + dy )+ y )
419+ } else {
420+ d += fmt .Sprintf ("A %d,%d 0 0 1 %d,%d " , ro , ro , int (rof * cpsi + 0.5 + dx )+ x , int (rof * spsi + 0.5 + dy )+ y )
421+ }
418422 d += fmt .Sprintf ("L %d,%d " , int (rif * cpsi + 0.5 + dx )+ x , int (rif * spsi + 0.5 + dy )+ y )
419- if math .Abs (w .Phi - w .Psi )> math .Pi {
420- d += fmt .Sprintf ("A %d,%d 0 1 0 %d,%d " , ri , ri , a , b ) } else {
421- d += fmt .Sprintf ("A %d,%d 0 0 0 %d,%d " , ri , ri , a , b ) }
423+ if math .Abs (w .Phi - w .Psi ) > math .Pi {
424+ d += fmt .Sprintf ("A %d,%d 0 1 0 %d,%d " , ri , ri , a , b )
425+ } else {
426+ d += fmt .Sprintf ("A %d,%d 0 0 0 %d,%d " , ri , ri , a , b )
427+ }
422428 d += fmt .Sprintf ("z" )
423429
424430 }
0 commit comments