Class SkiaBackdrop
Warning with CPU-rendering edges will not be blurred: https://issues.skia.org/issues/40036320
public class SkiaBackdrop : ContentLayout, INotifyPropertyChanged, IEffectControlProvider, IToolTipElement, IContextFlyoutElement, IAnimatable, IVisualElementController, IElementController, IView, ITransform, IElement, IVisualTreeElement, IContainer, IList<IView>, ICollection<IView>, IEnumerable<IView>, IEnumerable, IHasAfterEffects, ISkiaDisposable, ISkiaGridLayout, ISkiaLayout, ISkiaControl, IDrawnBase, ICanBeUpdatedWithContext, ICanBeUpdated, ILayoutInsideViewport, IInsideViewport, IDisposable, IVisibilityAware, IWithContent, ISkiaGestureListener
- Inheritance
-
SkiaBackdrop
- Implements
- Inherited Members
- Extension Methods
Fields
BlurProperty
public static readonly BindableProperty BlurProperty
Field Value
BrightnessProperty
public static readonly BindableProperty BrightnessProperty
Field Value
CacheSourceProperty
public static readonly BindableProperty CacheSourceProperty
Field Value
ImagePaint
Reusing this
protected SKPaint ImagePaint
Field Value
PaintColorFilter
Reusing this
protected SKColorFilter PaintColorFilter
Field Value
PaintImageFilter
Reusing this
protected SKImageFilter PaintImageFilter
Field Value
UseContextProperty
public static readonly BindableProperty UseContextProperty
Field Value
Properties
Blur
public double Blur { get; set; }
Property Value
Brightness
public double Brightness { get; set; }
Property Value
CacheSource
public SkiaControl CacheSource { get; set; }
Property Value
CanUseCacheDoubleBuffering
Indended to prohibit background rendering, useful for streaming controls like camera, gif etc. SkiaBackdrop has it set to True as well.
public override bool CanUseCacheDoubleBuffering { get; }
Property Value
HasEffects
public bool HasEffects { get; }
Property Value
NeedInvalidateColorFilter
protected bool NeedInvalidateColorFilter { get; set; }
Property Value
NeedInvalidateImageFilter
protected bool NeedInvalidateImageFilter { get; set; }
Property Value
Snapshot
protected SKImage Snapshot { get; set; }
Property Value
UseContext
Use either context of global Superview background, default is True.
public bool UseContext { get; set; }
Property Value
Methods
AttachSource()
Designed to be just one-time set
protected void AttachSource()
BuildPaint()
protected virtual void BuildPaint()
GetImage()
Returns the snapshot that was used for drawing the backdrop. If we have no effects or the control has not yet been drawn the return value will be null. You are responsible to dispose the returned image!
public virtual SKImage GetImage()
Returns
InvalidateColorFilter()
public virtual void InvalidateColorFilter()
InvalidateImageFilter()
public virtual void InvalidateImageFilter()
OnDisposing()
Base performs some cleanup actions with Superview
public override void OnDisposing()
OnMeasuring(float, float, float)
If you call this while measurement is in process (IsMeasuring==True) will return last measured value.
public override ScaledSize OnMeasuring(float widthConstraint, float heightConstraint, float scale)
Parameters
Returns
OnScaleChanged()
public override void OnScaleChanged()
Paint(DrawingContext)
This is the main drawing routine you should override to draw something. Base one paints background color inside DrawingRect that was defined by Arrange inside base.Draw. Pass arguments if you want to use some time-frozen data for painting at any time from any thread..
protected override void Paint(DrawingContext ctx)
Parameters
ctxDrawingContext
ProcessGestures(SkiaGesturesParameters, GestureEventProcessingInfo)
public override ISkiaGestureListener ProcessGestures(SkiaGesturesParameters args, GestureEventProcessingInfo apply)
Parameters
argsSkiaGesturesParametersapplyGestureEventProcessingInfo