protected override void RenderCore(CompositorDrawingContextProxy canvas, Rect currentTransformedClip)
 {
     if (_renderCommands != null)
     {
         _renderCommands.Render(canvas);
     }
     base.RenderCore(canvas, currentTransformedClip);
 }
Exemplo n.º 2
0
        protected override void RenderCore(CompositorDrawingContextProxy canvas, Rect currentTransformedClip)
        {
            base.RenderCore(canvas, currentTransformedClip);

            foreach (var ch in Children)
            {
                ch.Render(canvas, currentTransformedClip);
            }
        }
Exemplo n.º 3
0
    public void Render(CompositorDrawingContextProxy canvas)
    {
        foreach (var cmd in this)
        {
            canvas.VisualBrushDrawList = (cmd.Item as BrushDrawOperation)?.Aux as CompositionDrawList;
            cmd.Item.Render(canvas);
        }

        canvas.VisualBrushDrawList = null;
    }
        public void Render(CompositorDrawingContextProxy canvas, Rect currentTransformedClip)
        {
            if (Visible == false || IsVisibleInFrame == false)
            {
                return;
            }
            if (Opacity == 0)
            {
                return;
            }

            currentTransformedClip = currentTransformedClip.Intersect(_combinedTransformedClipBounds);
            if (currentTransformedClip.IsEmpty)
            {
                return;
            }

            Root !.RenderedVisuals++;

            var transform = GlobalTransformMatrix;

            canvas.PostTransform = MatrixUtils.ToMatrix(transform);
            canvas.Transform     = Matrix.Identity;
            if (Opacity != 1)
            {
                canvas.PushOpacity(Opacity);
            }
            var boundsRect = new Rect(new Size(Size.X, Size.Y));

            if (ClipToBounds)
            {
                canvas.PushClip(Root !.SnapToDevicePixels(boundsRect));
            }
            if (Clip != null)
            {
                canvas.PushGeometryClip(Clip);
            }
            if (OpacityMaskBrush != null)
            {
                canvas.PushOpacityMask(OpacityMaskBrush, boundsRect);
            }

            RenderCore(canvas, currentTransformedClip);

            // Hack to force invalidation of SKMatrix
            canvas.PostTransform = MatrixUtils.ToMatrix(transform);
            canvas.Transform     = Matrix.Identity;

            if (OpacityMaskBrush != null)
            {
                canvas.PopOpacityMask();
            }
            if (Clip != null)
            {
                canvas.PopGeometryClip();
            }
            if (ClipToBounds)
            {
                canvas.PopClip();
            }
            if (Opacity != 1)
            {
                canvas.PopOpacity();
            }
        }
 protected virtual void RenderCore(CompositorDrawingContextProxy canvas, Rect currentTransformedClip)
 {
 }