prepareScalePaintMixin method
void
prepareScalePaintMixin(
- int zoomLevel
)
inherited
Implementation
void prepareScalePaintMixin(int zoomLevel) {
if (this._strokes[zoomLevel] != null) return;
if (zoomLevel >= _strokeMinZoomLevel) {
int zoomLevelDiff = zoomLevel - _strokeMinZoomLevel + 1;
double scaleFactor = pow(STROKE_INCREASE, zoomLevelDiff) as double;
MapPaint paint = GraphicFactory().createPaintFrom(this._stroke);
paint.setStrokeWidth(paint.getStrokeWidth() * scaleFactor);
// print(
// "setScrokeWitha for ${paint.getStrokeWidth()} $scaleFactor $zoomLevelDiff $zoomLevel ${_stroke.getStrokeWidth()}");
if (_strokeDasharray != null) {
List<double> strokeDasharrayScaled = this._strokeDasharray!.map((dash) {
return dash * scaleFactor;
}).toList();
paint.setStrokeDasharray(strokeDasharrayScaled);
}
this._strokes[zoomLevel] = paint;
//MapPaint f = GraphicFactory().createPaintFrom(this._fill);
this._fills[zoomLevel] = _fill;
double dy = _dy * scaleFactor;
_dyScaled[zoomLevel] = dy;
} else {
this._strokes[zoomLevel] = _stroke;
_fills[zoomLevel] = _fill;
_dyScaled[zoomLevel] = _dy;
}
}