@@ -57,7 +57,7 @@ export default class StrokeAndFillSymbolizer extends CanvasSymbolizer {
5757
5858 const points = paintParams [ 0 ] ,
5959 isSplitted = ( this . geometry . getJSONType ( ) === 'Polygon' && points . length > 0 && Array . isArray ( points [ 0 ] [ 0 ] ) ) ||
60- ( this . geometry . type === 'LineString' && points . length > 0 && Array . isArray ( points [ 0 ] ) ) ;
60+ ( this . geometry . type === 'LineString' && points . length > 0 && Array . isArray ( points [ 0 ] ) ) ;
6161
6262 if ( isSplitted ) {
6363 for ( let i = 0 ; i < points . length ; i ++ ) {
@@ -70,7 +70,8 @@ export default class StrokeAndFillSymbolizer extends CanvasSymbolizer {
7070 params . push . apply ( params , paintParams . slice ( 1 ) ) ;
7171 }
7272 params . push ( style [ 'lineOpacity' ] , style [ 'polygonOpacity' ] , style [ 'lineDasharray' ] ) ;
73- this . geometry . _paintOn . apply ( this . geometry , params ) ;
73+ const bbox = this . geometry . _paintOn . apply ( this . geometry , params ) ;
74+ this . _setBBOX ( ctx , bbox ) ;
7475 }
7576 } else {
7677 this . prepareCanvas ( ctx , style , resources ) ;
@@ -80,7 +81,8 @@ export default class StrokeAndFillSymbolizer extends CanvasSymbolizer {
8081 const params = [ ctx ] ;
8182 params . push . apply ( params , paintParams ) ;
8283 params . push ( style [ 'lineOpacity' ] , style [ 'polygonOpacity' ] , style [ 'lineDasharray' ] ) ;
83- this . geometry . _paintOn . apply ( this . geometry , params ) ;
84+ const bbox = this . geometry . _paintOn . apply ( this . geometry , params ) ;
85+ this . _setBBOX ( ctx , bbox ) ;
8486 }
8587
8688 if ( ctx . setLineDash && Array . isArray ( style [ 'lineDasharray' ] ) ) {
@@ -138,15 +140,15 @@ export default class StrokeAndFillSymbolizer extends CanvasSymbolizer {
138140 'lineCap' : getValueOrDefault ( s [ 'lineCap' ] , 'butt' ) , //“butt”, “square”, “round”
139141 'lineJoin' : getValueOrDefault ( s [ 'lineJoin' ] , 'miter' ) , //“bevel”, “round”, “miter”
140142 'linePatternFile' : getValueOrDefault ( s [ 'linePatternFile' ] , null ) ,
141- 'lineDx' : getValueOrDefault ( s [ 'lineDx' ] , 0 ) ,
142- 'lineDy' : getValueOrDefault ( s [ 'lineDy' ] , 0 ) ,
143+ 'lineDx' : getValueOrDefault ( s [ 'lineDx' ] , 0 ) ,
144+ 'lineDy' : getValueOrDefault ( s [ 'lineDy' ] , 0 ) ,
143145 'polygonFill' : getValueOrDefault ( s [ 'polygonFill' ] , null ) ,
144146 'polygonOpacity' : getValueOrDefault ( s [ 'polygonOpacity' ] , 1 ) ,
145147 'polygonPatternFile' : getValueOrDefault ( s [ 'polygonPatternFile' ] , null ) ,
146- 'polygonPatternDx' : getValueOrDefault ( s [ 'polygonPatternDx' ] , 0 ) ,
147- 'polygonPatternDy' : getValueOrDefault ( s [ 'polygonPatternDy' ] , 0 ) ,
148- 'linePatternDx' : getValueOrDefault ( s [ 'linePatternDx' ] , 0 ) ,
149- 'linePatternDy' : getValueOrDefault ( s [ 'linePatternDy' ] , 0 )
148+ 'polygonPatternDx' : getValueOrDefault ( s [ 'polygonPatternDx' ] , 0 ) ,
149+ 'polygonPatternDy' : getValueOrDefault ( s [ 'polygonPatternDy' ] , 0 ) ,
150+ 'linePatternDx' : getValueOrDefault ( s [ 'linePatternDx' ] , 0 ) ,
151+ 'linePatternDy' : getValueOrDefault ( s [ 'linePatternDy' ] , 0 )
150152 } ;
151153 if ( result [ 'lineWidth' ] === 0 ) {
152154 result [ 'lineOpacity' ] = 0 ;
0 commit comments