@@ -368,7 +368,7 @@ drawing.gradient = function(sel, gd, gradientID, type, colorscale, prop) {
368368 * @param {number } solidity: how solid lines of this pattern are
369369 * @param {string } prop: the property to apply to, 'fill' or 'stroke'
370370 */
371- drawing . pattern = function ( sel , gd , patternID , shape , bgcolor , fgcolor , size , solidity , mcc , fillmode , prop ) {
371+ drawing . pattern = function ( sel , gd , patternID , shape , bgcolor , fgcolor , fgopacity , size , solidity , mcc , fillmode , prop ) {
372372 if ( mcc ) {
373373 if ( fillmode === 'overlay' ) {
374374 bgcolor = mcc ;
@@ -402,6 +402,7 @@ drawing.pattern = function(sel, gd, patternID, shape, bgcolor, fgcolor, size, so
402402 patternTag = 'path' ;
403403 patternAttrs = {
404404 'd' : path ,
405+ 'opacity' : fgopacity ,
405406 'stroke' : fgcolor ,
406407 'stroke-width' : linewidth + 'px'
407408 } ;
@@ -416,6 +417,7 @@ drawing.pattern = function(sel, gd, patternID, shape, bgcolor, fgcolor, size, so
416417 patternTag = 'path' ;
417418 patternAttrs = {
418419 'd' : path ,
420+ 'opacity' : fgopacity ,
419421 'stroke' : fgcolor ,
420422 'stroke-width' : linewidth + 'px'
421423 } ;
@@ -433,6 +435,7 @@ drawing.pattern = function(sel, gd, patternID, shape, bgcolor, fgcolor, size, so
433435 patternTag = 'path' ;
434436 patternAttrs = {
435437 'd' : path ,
438+ 'opacity' : fgopacity ,
436439 'stroke' : fgcolor ,
437440 'stroke-width' : linewidth + 'px'
438441 } ;
@@ -446,6 +449,7 @@ drawing.pattern = function(sel, gd, patternID, shape, bgcolor, fgcolor, size, so
446449 patternTag = 'path' ;
447450 patternAttrs = {
448451 'd' : path ,
452+ 'opacity' : fgopacity ,
449453 'stroke' : fgcolor ,
450454 'stroke-width' : linewidth + 'px'
451455 } ;
@@ -459,6 +463,7 @@ drawing.pattern = function(sel, gd, patternID, shape, bgcolor, fgcolor, size, so
459463 patternTag = 'path' ;
460464 patternAttrs = {
461465 'd' : path ,
466+ 'opacity' : fgopacity ,
462467 'stroke' : fgcolor ,
463468 'stroke-width' : linewidth + 'px'
464469 } ;
@@ -473,6 +478,7 @@ drawing.pattern = function(sel, gd, patternID, shape, bgcolor, fgcolor, size, so
473478 patternTag = 'path' ;
474479 patternAttrs = {
475480 'd' : path ,
481+ 'opacity' : fgopacity ,
476482 'stroke' : fgcolor ,
477483 'stroke-width' : linewidth + 'px'
478484 } ;
@@ -490,6 +496,7 @@ drawing.pattern = function(sel, gd, patternID, shape, bgcolor, fgcolor, size, so
490496 'cx' : width / 2 ,
491497 'cy' : height / 2 ,
492498 'r' : radius ,
499+ 'opacity' : fgopacity ,
493500 'fill' : fgcolor
494501 } ;
495502 break ;
@@ -712,6 +719,7 @@ drawing.singlePointStyle = function(d, sel, trace, fns, gd) {
712719 } else if ( patternShape ) {
713720 var patternBGColor = drawing . getPatternAttr ( markerPattern . bgcolor , d . i , null ) ;
714721 var patternFGColor = drawing . getPatternAttr ( markerPattern . fgcolor , d . i , null ) ;
722+ var patternFGOpacity = drawing . getPatternAttr ( markerPattern . fgopacity , d . i , 1 ) ;
715723 var patternSize = drawing . getPatternAttr ( markerPattern . size , d . i , 8 ) ;
716724 var patternSolidity = drawing . getPatternAttr ( markerPattern . solidity , d . i , 0.3 ) ;
717725 var perPointPattern = d . mcc ||
@@ -723,7 +731,7 @@ drawing.singlePointStyle = function(d, sel, trace, fns, gd) {
723731 var patternID = trace . uid ;
724732 if ( perPointPattern ) patternID += '-' + d . i ;
725733
726- drawing . pattern ( sel , gd , patternID , patternShape , patternBGColor , patternFGColor ,
734+ drawing . pattern ( sel , gd , patternID , patternShape , patternBGColor , patternFGColor , patternFGOpacity ,
727735 patternSize , patternSolidity , d . mcc , markerPattern . fillmode , 'fill' ) ;
728736 } else {
729737 Color . fill ( sel , fillColor ) ;
0 commit comments