Ejemplo n.º 1
0
 private void CoreServiceOnFrameRendered(object sender, FrameRenderedEventArgs e)
 {
     foreach (DataBindingConditionViewModel <TLayerProperty, TProperty> dataBindingConditionViewModel in Items)
     {
         dataBindingConditionViewModel.Evaluate();
     }
 }
Ejemplo n.º 2
0
        private void CoreServiceOnFrameRendered(object sender, FrameRenderedEventArgs e)
        {
            Execute.PostToUIThread(() =>
            {
                if (e.BitmapBrush.Bitmap == null)
                {
                    return;
                }

                if (!(CurrentFrame is WriteableBitmap writeableBitmap))
                {
                    CurrentFrame = e.BitmapBrush.Bitmap.ToWriteableBitmap();
                    return;
                }

                try
                {
                    using (var skiaImage = SKImage.FromPixels(e.BitmapBrush.Bitmap.PeekPixels()))
                    {
                        var info = new SKImageInfo(skiaImage.Width, skiaImage.Height);
                        writeableBitmap.Lock();
                        using (var pixmap = new SKPixmap(info, writeableBitmap.BackBuffer, writeableBitmap.BackBufferStride))
                        {
                            skiaImage.ReadPixels(pixmap, 0, 0);
                        }

                        writeableBitmap.AddDirtyRect(new Int32Rect(0, 0, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight));
                        writeableBitmap.Unlock();
                    }
                }
                catch (AccessViolationException)
                {
                    // oops
                }
            });
        }
Ejemplo n.º 3
0
 protected virtual void OnFrameRendered(FrameRenderedEventArgs e)
 {
     FrameRendered?.Invoke(this, e);
 }