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

options PageCurlOptions

Fields

BackImageProperty

public static readonly BindableProperty BackImageProperty

Field Value

BindableProperty

BacksideColorProperty

public static readonly BindableProperty BacksideColorProperty

Field Value

BindableProperty

BacksideDimFactorProperty

public static readonly BindableProperty BacksideDimFactorProperty

Field Value

BindableProperty

BacksideModeProperty

public static readonly BindableProperty BacksideModeProperty

Field Value

BindableProperty

ContentScaleProperty

public static readonly BindableProperty ContentScaleProperty

Field Value

BindableProperty

FlickEnabledProperty

public static readonly BindableProperty FlickEnabledProperty

Field Value

BindableProperty

FlickVelocityThresholdProperty

public static readonly BindableProperty FlickVelocityThresholdProperty

Field Value

BindableProperty

FrontImageProperty

public static readonly BindableProperty FrontImageProperty

Field Value

BindableProperty

LockedAnchorProperty

public static readonly BindableProperty LockedAnchorProperty

Field Value

BindableProperty

LockedEdgeProperty

public static readonly BindableProperty LockedEdgeProperty

Field Value

BindableProperty

PageAspectRatioProperty

public static readonly BindableProperty PageAspectRatioProperty

Field Value

BindableProperty

PageChangeThresholdProperty

public static readonly BindableProperty PageChangeThresholdProperty

Field Value

BindableProperty

PageHorizontalPlacementProperty

public static readonly BindableProperty PageHorizontalPlacementProperty

Field Value

BindableProperty

PreviousPageImageProperty

Optional page revealed while the user turns backward.

public static readonly BindableProperty PreviousPageImageProperty

Field Value

BindableProperty

ReduceMotionProperty

public static readonly BindableProperty ReduceMotionProperty

Field Value

BindableProperty

SurfaceColorProperty

public static readonly BindableProperty SurfaceColorProperty

Field Value

BindableProperty

UnderPageImageProperty

public static readonly BindableProperty UnderPageImageProperty

Field Value

BindableProperty

Properties

BackImage

public SKImage? BackImage { get; set; }

Property Value

SKImage

BacksideColor

public Color BacksideColor { get; set; }

Property Value

Color

BacksideDimFactor

public float BacksideDimFactor { get; set; }

Property Value

float

BacksideMode

public PageBacksideMode BacksideMode { get; set; }

Property Value

PageBacksideMode

ContentScale

Controls whether page images fill or preserve their aspect ratio.

public PageContentScale ContentScale { get; set; }

Property Value

PageContentScale

Controller

public PageTurnController Controller { get; }

Property Value

PageTurnController

FlickEnabled

public bool FlickEnabled { get; set; }

Property Value

bool

FlickVelocityThreshold

public float FlickVelocityThreshold { get; set; }

Property Value

float

FrontImage

public SKImage? FrontImage { get; set; }

Property Value

SKImage

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

Vector2

LastContentViewport

Gets the most recently painted page-content rectangle.

public PageViewportRect LastContentViewport { get; }

Property Value

PageViewportRect

LockedAnchor

Locks an edge or pins a corner for gestures.

public PageAnchor LockedAnchor { get; set; }

Property Value

PageAnchor

LockedEdge

Locks a physical edge as the stationary hinge for gestures.

public PageEdge LockedEdge { get; set; }

Property Value

PageEdge

Options

public PageCurlOptions Options { get; }

Property Value

PageCurlOptions

PageAspectRatio

Page width divided by height. Zero uses image dimensions.

public float PageAspectRatio { get; set; }

Property Value

float

PageChangeThreshold

Normalized page travel required to make release commit.

public float PageChangeThreshold { get; set; }

Property Value

float

PageHorizontalPlacement

public PageHorizontalPlacement PageHorizontalPlacement { get; set; }

Property Value

PageHorizontalPlacement

PerformanceDiagnosticsEnabled

public bool PerformanceDiagnosticsEnabled { get; set; }

Property Value

bool

PerformanceSnapshot

public PageTurnPerformanceSnapshot PerformanceSnapshot { get; }

Property Value

PageTurnPerformanceSnapshot

PreviousPageImage

public SKImage? PreviousPageImage { get; set; }

Property Value

SKImage

ReduceMotion

public bool ReduceMotion { get; set; }

Property Value

bool

SurfaceColor

public Color SurfaceColor { get; set; }

Property Value

Color

UnderPageImage

public SKImage? UnderPageImage { get; set; }

Property Value

SKImage

Methods

CancelInteraction()

public void CancelInteraction()

OnHandlerChanged()

protected override void OnHandlerChanged()

OnPropertyChanged(string?)

protected override void OnPropertyChanged(string? propertyName = null)

Parameters

propertyName string

ResetPerformanceSnapshot()

public void ResetPerformanceSnapshot()

TryTurn(PageTurnDirection)

public bool TryTurn(PageTurnDirection direction)

Parameters

direction PageTurnDirection

Returns

bool

Events

PageChangeThresholdCrossed

public event EventHandler<PageChangeThresholdCrossedEventArgs>? PageChangeThresholdCrossed

Event Type

EventHandler<PageChangeThresholdCrossedEventArgs>

PageTurnCompleted

public event EventHandler<PageTurnCompletedEventArgs>? PageTurnCompleted

Event Type

EventHandler<PageTurnCompletedEventArgs>