Skip to content

Commit f5e269d

Browse files
committed
add standoff to svg markers with angle
1 parent 855739d commit f5e269d

File tree

14 files changed

+495
-142
lines changed

14 files changed

+495
-142
lines changed

src/components/drawing/index.js

+15-4
Original file line numberDiff line numberDiff line change
@@ -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

295295
var 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+
14531464
var atan2 = Math.atan2;
14541465
var cos = Math.cos;
14551466
var sin = Math.sin;

0 commit comments

Comments
 (0)