@@ -287,9 +287,9 @@ drawing.symbolNumber = function(v) {
287287 0 : Math . floor ( Math . max ( v , 0 ) ) ;
288288} ;
289289
290- function makePointPath ( symbolNumber , r , t ) {
290+ function makePointPath ( symbolNumber , r , t , s ) {
291291 var base = symbolNumber % 100 ;
292- return drawing . symbolFuncs [ base ] ( r , t ) + ( symbolNumber >= 200 ? DOTPATH : '' ) ;
292+ return drawing . symbolFuncs [ base ] ( r , t , s ) + ( symbolNumber >= 200 ? DOTPATH : '' ) ;
293293}
294294
295295var HORZGRADIENT = { x1 : 1 , x2 : 0 , y1 : 0 , y2 : 0 } ;
@@ -650,8 +650,9 @@ drawing.singlePointStyle = function(d, sel, trace, fns, gd) {
650650 d . om = x % 200 >= 100 ;
651651
652652 var angle = getMarkerAngle ( d , trace ) ;
653+ var standoff = getMarkerStandoff ( d , trace ) ;
653654
654- sel . attr ( 'd' , makePointPath ( x , r , angle ) ) ;
655+ sel . attr ( 'd' , makePointPath ( x , r , angle , standoff ) ) ;
655656 }
656657
657658 var perPointGradient = false ;
@@ -900,7 +901,7 @@ drawing.selectedPointStyle = function(s, trace) {
900901 var mx = d . mx || marker . symbol || 0 ;
901902 var mrc2 = fns . selectedSizeFn ( d ) ;
902903
903- pt . attr ( 'd' , makePointPath ( drawing . symbolNumber ( mx ) , mrc2 , getMarkerAngle ( d , trace ) ) ) ;
904+ pt . attr ( 'd' , makePointPath ( drawing . symbolNumber ( mx ) , mrc2 , getMarkerAngle ( d , trace ) , getMarkerStandoff ( d , trace ) ) ) ;
904905
905906 // save for Drawing.selectedTextStyle
906907 d . mrc2 = mrc2 ;
@@ -1450,6 +1451,16 @@ drawing.setTextPointsScale = function(selection, xScale, yScale) {
14501451 } ) ;
14511452} ;
14521453
1454+ function getMarkerStandoff ( d , trace ) {
1455+ var standoff = d . mf ;
1456+
1457+ if ( standoff === undefined ) {
1458+ standoff = trace . marker . standoff || 0 ;
1459+ }
1460+
1461+ return standoff ;
1462+ }
1463+
14531464var atan2 = Math . atan2 ;
14541465var cos = Math . cos ;
14551466var sin = Math . sin ;
0 commit comments