@@ -218,13 +218,14 @@ drawing.dashStyle = function(dash, lineWidth) {
218218function setFillStyle ( sel , trace , gd , forLegend ) {
219219 var markerPattern = trace . fillpattern ;
220220 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 , '' ) ) ;
222223 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 ) ;
225226 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 ) ;
228229 var patternID = trace . uid ;
229230 drawing . pattern ( sel , 'point' , gd , patternID ,
230231 patternShape , patternSize , patternSolidity ,
@@ -306,6 +307,7 @@ drawing.fillGroupStyle = function(s, gd, forLegend) {
306307} ;
307308
308309var SYMBOLDEFS = require ( './symbol_defs' ) ;
310+ const { marker } = require ( '../../traces/bar/attributes' ) ;
309311
310312drawing . symbolNames = [ ] ;
311313drawing . symbolFuncs = [ ] ;
@@ -662,6 +664,16 @@ drawing.pattern = function(sel, calledBy, gd, patternID, shape, size, solidity,
662664 fill : fgRGB
663665 } ;
664666 break ;
667+ default :
668+ width = size ;
669+ height = size ;
670+ patternTag = 'path' ;
671+ patternAttrs = {
672+ d : shape ,
673+ opacity : opacity ,
674+ fill : fgRGB
675+ } ;
676+ break ;
665677 }
666678
667679 var str = [
@@ -869,7 +881,10 @@ drawing.singlePointStyle = function(d, sel, trace, fns, gd, pt) {
869881 }
870882
871883 var markerPattern = marker . pattern ;
872- var patternShape = markerPattern && drawing . getPatternAttr ( markerPattern . shape , d . i , '' ) ;
884+ var pAttr = drawing . getPatternAttr ;
885+ var patternShape = markerPattern && (
886+ pAttr ( markerPattern . shape , d . i , '' ) || pAttr ( markerPattern . path , d . i , '' )
887+ ) ;
873888
874889 if ( gradientType && gradientType !== 'none' ) {
875890 var gradientColor = d . mgc ;
@@ -888,14 +903,15 @@ drawing.singlePointStyle = function(d, sel, trace, fns, gd, pt) {
888903 fgcolor = pt . color ;
889904 perPointPattern = true ;
890905 }
891- var patternFGColor = drawing . getPatternAttr ( fgcolor , d . i , ( pt && pt . color ) || null ) ;
906+ var patternFGColor = pAttr ( fgcolor , d . i , ( pt && pt . color ) || null ) ;
892907
893- var patternBGColor = drawing . getPatternAttr ( markerPattern . bgcolor , d . i , null ) ;
908+ var patternBGColor = pAttr ( markerPattern . bgcolor , d . i , null ) ;
894909 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 ) ;
910+ var patternSize = pAttr ( markerPattern . size , d . i , 8 ) ;
911+ var patternSolidity = pAttr ( markerPattern . solidity , d . i , 0.3 ) ;
897912 perPointPattern = perPointPattern || d . mcc ||
898913 Lib . isArrayOrTypedArray ( markerPattern . shape ) ||
914+ Lib . isArrayOrTypedArray ( markerPattern . path ) ||
899915 Lib . isArrayOrTypedArray ( markerPattern . bgcolor ) ||
900916 Lib . isArrayOrTypedArray ( markerPattern . fgcolor ) ||
901917 Lib . isArrayOrTypedArray ( markerPattern . size ) ||
0 commit comments