Class PageTurnView
- Namespace
- PageCurl.Maui
- Assembly
- PageCurl.Maui.dll
A GPU-backed MAUI view that renders a draggable page curl using SkiaSharp. The images are supplied as SKImage instances so applications can own and cache their decoding pipeline.
public sealed class PageTurnView : SKGLView, INotifyPropertyChanged, IVisualTreeElement, IEffectControlProvider, IToolTipElement, IContextFlyoutElement, IAnimatable, IViewController, IVisualElementController, IElementController, IGestureController, IGestureRecognizers, IPropertyMapperView, IHotReloadableView, IReplaceableView, ISKGLView, IView, IElement, ITransform
- Inheritance
-
PageTurnView
- Implements
- Inherited Members
Constructors
PageTurnView()
public PageTurnView()
PageTurnView(PageCurlOptions)
public PageTurnView(PageCurlOptions options)
Parameters
optionsPageCurlOptions
Fields
BackImageProperty
public static readonly BindableProperty BackImageProperty
Field Value
BacksideColorProperty
public static readonly BindableProperty BacksideColorProperty
Field Value
BacksideDimFactorProperty
public static readonly BindableProperty BacksideDimFactorProperty
Field Value
BacksideModeProperty
public static readonly BindableProperty BacksideModeProperty
Field Value
ContentScaleProperty
public static readonly BindableProperty ContentScaleProperty
Field Value
FlickEnabledProperty
public static readonly BindableProperty FlickEnabledProperty
Field Value
FlickVelocityThresholdProperty
public static readonly BindableProperty FlickVelocityThresholdProperty
Field Value
FrontImageProperty
public static readonly BindableProperty FrontImageProperty
Field Value
LockedAnchorProperty
public static readonly BindableProperty LockedAnchorProperty
Field Value
LockedEdgeProperty
public static readonly BindableProperty LockedEdgeProperty
Field Value
PageAspectRatioProperty
public static readonly BindableProperty PageAspectRatioProperty
Field Value
PageChangeThresholdProperty
public static readonly BindableProperty PageChangeThresholdProperty
Field Value
PageHorizontalPlacementProperty
public static readonly BindableProperty PageHorizontalPlacementProperty
Field Value
PreviousPageImageProperty
Optional page revealed while the user turns backward.
public static readonly BindableProperty PreviousPageImageProperty
Field Value
ReduceMotionProperty
public static readonly BindableProperty ReduceMotionProperty
Field Value
SurfaceColorProperty
public static readonly BindableProperty SurfaceColorProperty
Field Value
UnderPageImageProperty
public static readonly BindableProperty UnderPageImageProperty
Field Value
Properties
BackImage
public SKImage? BackImage { get; set; }
Property Value
BacksideColor
public Color BacksideColor { get; set; }
Property Value
BacksideDimFactor
public float BacksideDimFactor { get; set; }
Property Value
BacksideMode
public PageBacksideMode BacksideMode { get; set; }
Property Value
ContentScale
Controls whether page images fill or preserve their aspect ratio.
public PageContentScale ContentScale { get; set; }
Property Value
Controller
public PageTurnController Controller { get; }
Property Value
FlickEnabled
public bool FlickEnabled { get; set; }
Property Value
FlickVelocityThreshold
public float FlickVelocityThreshold { get; set; }
Property Value
FrontImage
public SKImage? FrontImage { get; set; }
Property Value
LastCanvasSize
Gets the pixel dimensions of the most recently painted surface. It is zero until the view has produced its first paint frame.
public Vector2 LastCanvasSize { get; }
Property Value
LastContentViewport
Gets the most recently painted page-content rectangle.
public PageViewportRect LastContentViewport { get; }
Property Value
LockedAnchor
Locks an edge or pins a corner for gestures.
public PageAnchor LockedAnchor { get; set; }
Property Value
LockedEdge
Locks a physical edge as the stationary hinge for gestures.
public PageEdge LockedEdge { get; set; }
Property Value
Options
public PageCurlOptions Options { get; }
Property Value
PageAspectRatio
Page width divided by height. Zero uses image dimensions.
public float PageAspectRatio { get; set; }
Property Value
PageChangeThreshold
Normalized page travel required to make release commit.
public float PageChangeThreshold { get; set; }
Property Value
PageHorizontalPlacement
public PageHorizontalPlacement PageHorizontalPlacement { get; set; }
Property Value
PerformanceDiagnosticsEnabled
public bool PerformanceDiagnosticsEnabled { get; set; }
Property Value
PerformanceSnapshot
public PageTurnPerformanceSnapshot PerformanceSnapshot { get; }
Property Value
PreviousPageImage
public SKImage? PreviousPageImage { get; set; }
Property Value
ReduceMotion
public bool ReduceMotion { get; set; }
Property Value
SurfaceColor
public Color SurfaceColor { get; set; }
Property Value
UnderPageImage
public SKImage? UnderPageImage { get; set; }
Property Value
Methods
CancelInteraction()
public void CancelInteraction()
OnHandlerChanged()
protected override void OnHandlerChanged()
OnPropertyChanged(string?)
protected override void OnPropertyChanged(string? propertyName = null)
Parameters
propertyNamestring
ResetPerformanceSnapshot()
public void ResetPerformanceSnapshot()
TryTurn(PageTurnDirection)
public bool TryTurn(PageTurnDirection direction)
Parameters
directionPageTurnDirection
Returns
Events
PageChangeThresholdCrossed
public event EventHandler<PageChangeThresholdCrossedEventArgs>? PageChangeThresholdCrossed
Event Type
PageTurnCompleted
public event EventHandler<PageTurnCompletedEventArgs>? PageTurnCompleted