public void Draw(object context, double width, double height, double dx, double dy, double zx, double zy, double renderScaling)
        {
            using var renderer   = new SkiaShapeRenderer(_context, _view, _view.SelectionState);
            using var disposable = new CompositeDisposable();
            using var background = SkiaUtil.ToSKPaint(_view.PrintBackground, null, zx, disposable.Disposables);
            var canvas = context as SKCanvas;

            canvas.DrawRect(SkiaUtil.ToSKRect(dx, dy, _view.Width + dx, _view.Height + dy), background);
            _view.CurrentContainer.Draw(canvas, renderer, dx, dy, zx, null, null);
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        public void Draw(object context, double width, double height, double dx, double dy, double zx, double zy, double renderScaling)
        {
            using var renderer   = new SkiaShapeRenderer(_context, _view, _view.SelectionState);
            using var disposable = new CompositeDisposable();
            using var background = SkiaUtil.ToSKPaint(_view.PrintBackground, null, zx, disposable.Disposables);
            var canvas = context as SKCanvas;

            canvas.DrawRect(SkiaUtil.ToSKRect(dx, dy, _view.Width + dx, _view.Height + dy), background);

            var selected = new List <IBaseShape>(_view.SelectionState?.Shapes);

            foreach (var shape in selected)
            {
                if (IsAcceptedShape(shape))
                {
                    shape.Draw(canvas, renderer, dx, dy, zx, null, null);
                }
            }
        }