private void GetSKPaintFill(IPaint fillPaint, IPaintEffects effects, double scale, out SKPaint brush) { if (fillPaint.IsTreeDirty() || !_paintCache.TryGetValue(fillPaint, out var brushCached)) { fillPaint.Invalidate(); brushCached = SkiaUtil.ToSKPaint(fillPaint, effects, scale, _disposable.Disposables); _paintCache[fillPaint] = brushCached; } else { SkiaUtil.ToSKPaintUpdate(brushCached, fillPaint, effects, scale, _disposable.Disposables); } brush = brushCached; }