@@ -218,13 +218,14 @@ drawing.dashStyle = function(dash, lineWidth) {
218
218
function setFillStyle ( sel , trace , gd , forLegend ) {
219
219
var markerPattern = trace . fillpattern ;
220
220
var fillgradient = trace . fillgradient ;
221
- var patternShape = markerPattern && drawing . getPatternAttr ( markerPattern . shape , 0 , '' ) ;
221
+ var pAttr = drawing . getPatternAttr ;
222
+ var patternShape = markerPattern && ( pAttr ( markerPattern . shape , 0 , '' ) || pAttr ( markerPattern . path , 0 , '' ) ) ;
222
223
if ( patternShape ) {
223
- var patternBGColor = drawing . getPatternAttr ( markerPattern . bgcolor , 0 , null ) ;
224
- var patternFGColor = drawing . getPatternAttr ( markerPattern . fgcolor , 0 , null ) ;
224
+ var patternBGColor = pAttr ( markerPattern . bgcolor , 0 , null ) ;
225
+ var patternFGColor = pAttr ( markerPattern . fgcolor , 0 , null ) ;
225
226
var patternFGOpacity = markerPattern . fgopacity ;
226
- var patternSize = drawing . getPatternAttr ( markerPattern . size , 0 , 8 ) ;
227
- var patternSolidity = drawing . getPatternAttr ( markerPattern . solidity , 0 , 0.3 ) ;
227
+ var patternSize = pAttr ( markerPattern . size , 0 , 8 ) ;
228
+ var patternSolidity = pAttr ( markerPattern . solidity , 0 , 0.3 ) ;
228
229
var patternID = trace . uid ;
229
230
drawing . pattern ( sel , 'point' , gd , patternID ,
230
231
patternShape , patternSize , patternSolidity ,
@@ -662,6 +663,16 @@ drawing.pattern = function(sel, calledBy, gd, patternID, shape, size, solidity,
662
663
fill : fgRGB
663
664
} ;
664
665
break ;
666
+ default :
667
+ width = size ;
668
+ height = size ;
669
+ patternTag = 'path' ;
670
+ patternAttrs = {
671
+ d : shape ,
672
+ opacity : opacity ,
673
+ fill : fgRGB
674
+ } ;
675
+ break ;
665
676
}
666
677
667
678
var str = [
@@ -869,7 +880,10 @@ drawing.singlePointStyle = function(d, sel, trace, fns, gd, pt) {
869
880
}
870
881
871
882
var markerPattern = marker . pattern ;
872
- var patternShape = markerPattern && drawing . getPatternAttr ( markerPattern . shape , d . i , '' ) ;
883
+ var pAttr = drawing . getPatternAttr ;
884
+ var patternShape = markerPattern && (
885
+ pAttr ( markerPattern . shape , d . i , '' ) || pAttr ( markerPattern . path , d . i , '' )
886
+ ) ;
873
887
874
888
if ( gradientType && gradientType !== 'none' ) {
875
889
var gradientColor = d . mgc ;
@@ -888,14 +902,15 @@ drawing.singlePointStyle = function(d, sel, trace, fns, gd, pt) {
888
902
fgcolor = pt . color ;
889
903
perPointPattern = true ;
890
904
}
891
- var patternFGColor = drawing . getPatternAttr ( fgcolor , d . i , ( pt && pt . color ) || null ) ;
905
+ var patternFGColor = pAttr ( fgcolor , d . i , ( pt && pt . color ) || null ) ;
892
906
893
- var patternBGColor = drawing . getPatternAttr ( markerPattern . bgcolor , d . i , null ) ;
907
+ var patternBGColor = pAttr ( markerPattern . bgcolor , d . i , null ) ;
894
908
var patternFGOpacity = markerPattern . fgopacity ;
895
- var patternSize = drawing . getPatternAttr ( markerPattern . size , d . i , 8 ) ;
896
- var patternSolidity = drawing . getPatternAttr ( markerPattern . solidity , d . i , 0.3 ) ;
909
+ var patternSize = pAttr ( markerPattern . size , d . i , 8 ) ;
910
+ var patternSolidity = pAttr ( markerPattern . solidity , d . i , 0.3 ) ;
897
911
perPointPattern = perPointPattern || d . mcc ||
898
912
Lib . isArrayOrTypedArray ( markerPattern . shape ) ||
913
+ Lib . isArrayOrTypedArray ( markerPattern . path ) ||
899
914
Lib . isArrayOrTypedArray ( markerPattern . bgcolor ) ||
900
915
Lib . isArrayOrTypedArray ( markerPattern . fgcolor ) ||
901
916
Lib . isArrayOrTypedArray ( markerPattern . size ) ||
0 commit comments