@@ -559,18 +559,31 @@ function prerenderTitles(cdModule, gd) {
559
559
}
560
560
561
561
function transformInsideText ( textBB , pt , cd0 ) {
562
- var textDiameter = Math . sqrt ( textBB . width * textBB . width + textBB . height * textBB . height ) ;
562
+ var r = cd0 . r || pt . rpx1 ;
563
+ var rInscribed = pt . rInscribed ;
564
+
565
+ var isEmpty = pt . startangle === pt . stopangle ;
566
+ if ( isEmpty ) {
567
+ return {
568
+ rCenter : 1 - rInscribed ,
569
+ scale : 0 ,
570
+ rotate : 0 ,
571
+ textPosAngle : 0
572
+ } ;
573
+ }
574
+
575
+ var ring = pt . ring ;
576
+ var isCircle = ( ring === 1 ) && ( Math . abs ( pt . startangle - pt . stopangle ) === Math . PI * 2 ) ;
577
+
563
578
var halfAngle = pt . halfangle ;
564
579
var midAngle = pt . midangle ;
565
- var ring = pt . ring ;
566
- var rInscribed = pt . rInscribed ;
567
- var r = cd0 . r || pt . rpx1 ;
580
+
568
581
var orientation = cd0 . trace . insidetextorientation ;
569
582
var isHorizontal = orientation === 'horizontal' ;
570
583
var isTangential = orientation === 'tangential' ;
571
584
var isRadial = orientation === 'radial' ;
572
585
var isAuto = orientation === 'auto' ;
573
- var isCircle = ( ring === 1 ) && ( Math . abs ( pt . startangle - pt . stopangle ) === Math . PI * 2 ) ;
586
+
574
587
var allTransforms = [ ] ;
575
588
var newT ;
576
589
@@ -616,6 +629,8 @@ function transformInsideText(textBB, pt, cd0) {
616
629
// this inscribes the text rectangle in a circle, which is then inscribed
617
630
// in the slice, so it will be an underestimate, which some day we may want
618
631
// to improve so this case can get more use
632
+ var textDiameter = Math . sqrt ( textBB . width * textBB . width + textBB . height * textBB . height ) ;
633
+
619
634
newT = {
620
635
scale : rInscribed * r * 2 / textDiameter ,
621
636
0 commit comments