(sel, trace, gd, forLegend)
| 218 | }; |
| 219 | |
| 220 | function setFillStyle(sel, trace, gd, forLegend) { |
| 221 | var markerPattern = trace.fillpattern; |
| 222 | var fillgradient = trace.fillgradient; |
| 223 | var pAttr = drawing.getPatternAttr; |
| 224 | var patternShape = markerPattern && (pAttr(markerPattern.shape, 0, '') || pAttr(markerPattern.path, 0, '')); |
| 225 | if (patternShape) { |
| 226 | var patternBGColor = pAttr(markerPattern.bgcolor, 0, null); |
| 227 | var patternFGColor = pAttr(markerPattern.fgcolor, 0, null); |
| 228 | var patternFGOpacity = markerPattern.fgopacity; |
| 229 | var patternSize = pAttr(markerPattern.size, 0, 8); |
| 230 | var patternSolidity = pAttr(markerPattern.solidity, 0, 0.3); |
| 231 | var patternID = trace.uid; |
| 232 | drawing.pattern( |
| 233 | sel, |
| 234 | 'point', |
| 235 | gd, |
| 236 | patternID, |
| 237 | patternShape, |
| 238 | patternSize, |
| 239 | patternSolidity, |
| 240 | undefined, |
| 241 | markerPattern.fillmode, |
| 242 | patternBGColor, |
| 243 | patternFGColor, |
| 244 | patternFGOpacity |
| 245 | ); |
| 246 | } else if (fillgradient && fillgradient.type !== 'none') { |
| 247 | var direction = fillgradient.type; |
| 248 | var gradientID = 'scatterfill-' + trace.uid; |
| 249 | if (forLegend) { |
| 250 | gradientID = 'legendfill-' + trace.uid; |
| 251 | } |
| 252 | |
| 253 | if (!forLegend && (fillgradient.start !== undefined || fillgradient.stop !== undefined)) { |
| 254 | var start, stop; |
| 255 | if (direction === 'horizontal') { |
| 256 | start = { |
| 257 | x: fillgradient.start, |
| 258 | y: 0 |
| 259 | }; |
| 260 | stop = { |
| 261 | x: fillgradient.stop, |
| 262 | y: 0 |
| 263 | }; |
| 264 | } else if (direction === 'vertical') { |
| 265 | start = { |
| 266 | x: 0, |
| 267 | y: fillgradient.start |
| 268 | }; |
| 269 | stop = { |
| 270 | x: 0, |
| 271 | y: fillgradient.stop |
| 272 | }; |
| 273 | } |
| 274 | |
| 275 | start.x = trace._xA.c2p(start.x === undefined ? trace._extremes.x.min[0].val : start.x, true); |
| 276 | start.y = trace._yA.c2p(start.y === undefined ? trace._extremes.y.min[0].val : start.y, true); |
| 277 |
no outgoing calls
no test coverage detected
searching dependent graphs…