Class VelloSwapChainControl
Namespace: VelloSharp.Windows.Controls
Assembly: VelloSharp.WinUI.dll
SwapChainPanel-based WinUI control that hosts the Vello GPU renderer via
public sealed class VelloSwapChainControl : SwapChainPanel, IEquatable<DependencyObject>, IAnimationObject, IVisualElement, IVisualElement2, IEquatable<UIElement>, IEquatable<FrameworkElement>, IEquatable<Panel>, IEquatable<Grid>, IWinRTObject, IUnmanagedVirtualMethodTableProvider, IDynamicInterfaceCastable, IEquatable<SwapChainPanel>, IDisposable, IVelloSwapChainPresenterHost, IVelloDiagnosticsProvider
Inheritance
object ← DependencyObject ← UIElement ← FrameworkElement ← Panel ← Grid ← SwapChainPanel ← VelloSwapChainControl
Implements
IEquatable<DependencyObject>, IAnimationObject, IVisualElement, IVisualElement2, IEquatable<UIElement>, IEquatable<FrameworkElement>, IEquatable<Panel>, IEquatable<Grid>, IWinRTObject, IUnmanagedVirtualMethodTableProvider, IDynamicInterfaceCastable, IEquatable<SwapChainPanel>, IDisposable, IVelloSwapChainPresenterHost, IVelloDiagnosticsProvider
Inherited Members
SwapChainPanel.As<I>(), SwapChainPanel.FromAbi(nint), SwapChainPanel.Equals(SwapChainPanel), SwapChainPanel.Equals(object), SwapChainPanel.GetHashCode(), SwapChainPanel.CreateCoreIndependentInputSource(InputPointerSourceDeviceKinds), SwapChainPanel.CompositionScaleXProperty, SwapChainPanel.CompositionScaleYProperty, SwapChainPanel.CompositionScaleX, SwapChainPanel.CompositionScaleY, SwapChainPanel.CompositionScaleChanged, Grid.As<I>(), Grid.GetRow(FrameworkElement), Grid.SetRow(FrameworkElement, int), Grid.GetColumn(FrameworkElement), Grid.SetColumn(FrameworkElement, int), Grid.GetRowSpan(FrameworkElement), Grid.SetRowSpan(FrameworkElement, int), Grid.GetColumnSpan(FrameworkElement), Grid.SetColumnSpan(FrameworkElement, int), Grid.FromAbi(nint), Grid.Equals(Grid), Grid.Equals(object), Grid.GetHashCode(), Grid.BackgroundSizingProperty, Grid.BorderBrushProperty, Grid.BorderThicknessProperty, Grid.ColumnProperty, Grid.ColumnSpacingProperty, Grid.ColumnSpanProperty, Grid.CornerRadiusProperty, Grid.PaddingProperty, Grid.RowProperty, Grid.RowSpacingProperty, Grid.RowSpanProperty, Grid.BackgroundSizing, Grid.BorderBrush, Grid.BorderThickness, Grid.ColumnDefinitions, Grid.ColumnSpacing, Grid.CornerRadius, Grid.Padding, Grid.RowDefinitions, Grid.RowSpacing, Panel.As<I>(), Panel.FromAbi(nint), Panel.Equals(Panel), Panel.Equals(object), Panel.GetHashCode(), Panel.BackgroundProperty, Panel.ChildrenTransitionsProperty, Panel.IsItemsHostProperty, Panel.Background, Panel.BackgroundTransition, Panel.Children, Panel.ChildrenTransitions, Panel.IsItemsHost, FrameworkElement.As<I>(), FrameworkElement.DeferTree(DependencyObject), FrameworkElement.FromAbi(nint), FrameworkElement.Equals(FrameworkElement), FrameworkElement.Equals(object), FrameworkElement.GetHashCode(), FrameworkElement.FindName(string), FrameworkElement.SetBinding(DependencyProperty, BindingBase), FrameworkElement.GetBindingExpression(DependencyProperty), FrameworkElement.ActualHeightProperty, FrameworkElement.ActualThemeProperty, FrameworkElement.ActualWidthProperty, FrameworkElement.AllowFocusOnInteractionProperty, FrameworkElement.AllowFocusWhenDisabledProperty, FrameworkElement.DataContextProperty, FrameworkElement.FlowDirectionProperty, FrameworkElement.FocusVisualMarginProperty, FrameworkElement.FocusVisualPrimaryBrushProperty, FrameworkElement.FocusVisualPrimaryThicknessProperty, FrameworkElement.FocusVisualSecondaryBrushProperty, FrameworkElement.FocusVisualSecondaryThicknessProperty, FrameworkElement.HeightProperty, FrameworkElement.HorizontalAlignmentProperty, FrameworkElement.LanguageProperty, FrameworkElement.MarginProperty, FrameworkElement.MaxHeightProperty, FrameworkElement.MaxWidthProperty, FrameworkElement.MinHeightProperty, FrameworkElement.MinWidthProperty, FrameworkElement.NameProperty, FrameworkElement.RequestedThemeProperty, FrameworkElement.StyleProperty, FrameworkElement.TagProperty, FrameworkElement.VerticalAlignmentProperty, FrameworkElement.WidthProperty, FrameworkElement.ActualHeight, FrameworkElement.ActualTheme, FrameworkElement.ActualWidth, FrameworkElement.AllowFocusOnInteraction, FrameworkElement.AllowFocusWhenDisabled, FrameworkElement.BaseUri, FrameworkElement.DataContext, FrameworkElement.FlowDirection, FrameworkElement.FocusVisualMargin, FrameworkElement.FocusVisualPrimaryBrush, FrameworkElement.FocusVisualPrimaryThickness, FrameworkElement.FocusVisualSecondaryBrush, FrameworkElement.FocusVisualSecondaryThickness, FrameworkElement.Height, FrameworkElement.HorizontalAlignment, FrameworkElement.IsLoaded, FrameworkElement.Language, FrameworkElement.Margin, FrameworkElement.MaxHeight, FrameworkElement.MaxWidth, FrameworkElement.MinHeight, FrameworkElement.MinWidth, FrameworkElement.Name, FrameworkElement.Parent, FrameworkElement.RequestedTheme, FrameworkElement.Resources, FrameworkElement.Style, FrameworkElement.Tag, FrameworkElement.Triggers, FrameworkElement.VerticalAlignment, FrameworkElement.Width, FrameworkElement.ActualThemeChanged, FrameworkElement.DataContextChanged, FrameworkElement.EffectiveViewportChanged, FrameworkElement.LayoutUpdated, FrameworkElement.Loaded, FrameworkElement.Loading, FrameworkElement.SizeChanged, FrameworkElement.Unloaded, UIElement.As<I>(), UIElement.TryStartDirectManipulation(Pointer), UIElement.RegisterAsScrollPort(UIElement), UIElement.FromAbi(nint), UIElement.Equals(UIElement), UIElement.Equals(object), UIElement.GetHashCode(), UIElement.Measure(Size), UIElement.Arrange(Rect), UIElement.CapturePointer(Pointer), UIElement.ReleasePointerCapture(Pointer), UIElement.ReleasePointerCaptures(), UIElement.AddHandler(RoutedEvent, object, bool), UIElement.RemoveHandler(RoutedEvent, object), UIElement.TransformToVisual(UIElement), UIElement.InvalidateMeasure(), UIElement.InvalidateArrange(), UIElement.UpdateLayout(), UIElement.CancelDirectManipulations(), UIElement.StartDragAsync(PointerPoint), UIElement.StartBringIntoView(), UIElement.StartBringIntoView(BringIntoViewOptions), UIElement.TryInvokeKeyboardAccelerator(ProcessKeyboardAcceleratorEventArgs), UIElement.Focus(FocusState), UIElement.StartAnimation(ICompositionAnimationBase), UIElement.StopAnimation(ICompositionAnimationBase), UIElement.PopulatePropertyInfo(string, AnimationPropertyInfo), UIElement.GetVisualInternal(), UIElement.AccessKeyProperty, UIElement.AccessKeyScopeOwnerProperty, UIElement.AllowDropProperty, UIElement.BringIntoViewRequestedEvent, UIElement.CacheModeProperty, UIElement.CanBeScrollAnchorProperty, UIElement.CanDragProperty, UIElement.CharacterReceivedEvent, UIElement.ClipProperty, UIElement.CompositeModeProperty, UIElement.ContextFlyoutProperty, UIElement.ContextRequestedEvent, UIElement.DoubleTappedEvent, UIElement.DragEnterEvent, UIElement.DragLeaveEvent, UIElement.DragOverEvent, UIElement.DropEvent, UIElement.ExitDisplayModeOnAccessKeyInvokedProperty, UIElement.FocusStateProperty, UIElement.GettingFocusEvent, UIElement.HighContrastAdjustmentProperty, UIElement.HoldingEvent, UIElement.IsAccessKeyScopeProperty, UIElement.IsDoubleTapEnabledProperty, UIElement.IsHitTestVisibleProperty, UIElement.IsHoldingEnabledProperty, UIElement.IsRightTapEnabledProperty, UIElement.IsTabStopProperty, UIElement.IsTapEnabledProperty, UIElement.KeyDownEvent, UIElement.KeyTipHorizontalOffsetProperty, UIElement.KeyTipPlacementModeProperty, UIElement.KeyTipTargetProperty, UIElement.KeyTipVerticalOffsetProperty, UIElement.KeyUpEvent, UIElement.KeyboardAcceleratorPlacementModeProperty, UIElement.KeyboardAcceleratorPlacementTargetProperty, UIElement.LightsProperty, UIElement.LosingFocusEvent, UIElement.ManipulationCompletedEvent, UIElement.ManipulationDeltaEvent, UIElement.ManipulationInertiaStartingEvent, UIElement.ManipulationModeProperty, UIElement.ManipulationStartedEvent, UIElement.ManipulationStartingEvent, UIElement.NoFocusCandidateFoundEvent, UIElement.OpacityProperty, UIElement.PointerCanceledEvent, UIElement.PointerCaptureLostEvent, UIElement.PointerCapturesProperty, UIElement.PointerEnteredEvent, UIElement.PointerExitedEvent, UIElement.PointerMovedEvent, UIElement.PointerPressedEvent, UIElement.PointerReleasedEvent, UIElement.PointerWheelChangedEvent, UIElement.PreviewKeyDownEvent, UIElement.PreviewKeyUpEvent, UIElement.ProjectionProperty, UIElement.RenderTransformOriginProperty, UIElement.RenderTransformProperty, UIElement.RightTappedEvent, UIElement.ShadowProperty, UIElement.TabFocusNavigationProperty, UIElement.TabIndexProperty, UIElement.TappedEvent, UIElement.Transform3DProperty, UIElement.TransitionsProperty, UIElement.UseLayoutRoundingProperty, UIElement.UseSystemFocusVisualsProperty, UIElement.VisibilityProperty, UIElement.XYFocusDownNavigationStrategyProperty, UIElement.XYFocusDownProperty, UIElement.XYFocusKeyboardNavigationProperty, UIElement.XYFocusLeftNavigationStrategyProperty, UIElement.XYFocusLeftProperty, UIElement.XYFocusRightNavigationStrategyProperty, UIElement.XYFocusRightProperty, UIElement.XYFocusUpNavigationStrategyProperty, UIElement.XYFocusUpProperty, UIElement.AccessKey, UIElement.AccessKeyScopeOwner, UIElement.ActualOffset, UIElement.ActualSize, UIElement.AllowDrop, UIElement.CacheMode, UIElement.CanBeScrollAnchor, UIElement.CanDrag, UIElement.CenterPoint, UIElement.Clip, UIElement.CompositeMode, UIElement.ContextFlyout, UIElement.DesiredSize, UIElement.ExitDisplayModeOnAccessKeyInvoked, UIElement.FocusState, UIElement.HighContrastAdjustment, UIElement.IsAccessKeyScope, UIElement.IsDoubleTapEnabled, UIElement.IsHitTestVisible, UIElement.IsHoldingEnabled, UIElement.IsRightTapEnabled, UIElement.IsTabStop, UIElement.IsTapEnabled, UIElement.KeyTipHorizontalOffset, UIElement.KeyTipPlacementMode, UIElement.KeyTipTarget, UIElement.KeyTipVerticalOffset, UIElement.KeyboardAcceleratorPlacementMode, UIElement.KeyboardAcceleratorPlacementTarget, UIElement.KeyboardAccelerators, UIElement.Lights, UIElement.ManipulationMode, UIElement.Opacity, UIElement.OpacityTransition, UIElement.PointerCaptures, UIElement.Projection, UIElement.RasterizationScale, UIElement.RenderSize, UIElement.RenderTransform, UIElement.RenderTransformOrigin, UIElement.Rotation, UIElement.RotationAxis, UIElement.RotationTransition, UIElement.Scale, UIElement.ScaleTransition, UIElement.Shadow, UIElement.TabFocusNavigation, UIElement.TabIndex, UIElement.Transform3D, UIElement.TransformMatrix, UIElement.Transitions, UIElement.Translation, UIElement.TranslationTransition, UIElement.UseLayoutRounding, UIElement.UseSystemFocusVisuals, UIElement.Visibility, UIElement.XYFocusDown, UIElement.XYFocusDownNavigationStrategy, UIElement.XYFocusKeyboardNavigation, UIElement.XYFocusLeft, UIElement.XYFocusLeftNavigationStrategy, UIElement.XYFocusRight, UIElement.XYFocusRightNavigationStrategy, UIElement.XYFocusUp, UIElement.XYFocusUpNavigationStrategy, UIElement.XamlRoot, UIElement.AccessKeyDisplayDismissed, UIElement.AccessKeyDisplayRequested, UIElement.AccessKeyInvoked, UIElement.BringIntoViewRequested, UIElement.CharacterReceived, UIElement.ContextCanceled, UIElement.ContextRequested, UIElement.DoubleTapped, UIElement.DragEnter, UIElement.DragLeave, UIElement.DragOver, UIElement.DragStarting, UIElement.Drop, UIElement.DropCompleted, UIElement.GettingFocus, UIElement.GotFocus, UIElement.Holding, UIElement.KeyDown, UIElement.KeyUp, UIElement.LosingFocus, UIElement.LostFocus, UIElement.ManipulationCompleted, UIElement.ManipulationDelta, UIElement.ManipulationInertiaStarting, UIElement.ManipulationStarted, UIElement.ManipulationStarting, UIElement.NoFocusCandidateFound, UIElement.PointerCanceled, UIElement.PointerCaptureLost, UIElement.PointerEntered, UIElement.PointerExited, UIElement.PointerMoved, UIElement.PointerPressed, UIElement.PointerReleased, UIElement.PointerWheelChanged, UIElement.PreviewKeyDown, UIElement.PreviewKeyUp, UIElement.ProcessKeyboardAccelerators, UIElement.RightTapped, UIElement.Tapped, DependencyObject.FromAbi(nint), DependencyObject.Equals(DependencyObject), DependencyObject.Equals(object), DependencyObject.GetHashCode(), DependencyObject.GetValue(DependencyProperty), DependencyObject.SetValue(DependencyProperty, object), DependencyObject.ClearValue(DependencyProperty), DependencyObject.ReadLocalValue(DependencyProperty), DependencyObject.GetAnimationBaseValue(DependencyProperty), DependencyObject.RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback), DependencyObject.UnregisterPropertyChangedCallback(DependencyProperty, long), DependencyObject.Dispatcher, DependencyObject.DispatcherQueue, object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()
Constructors
VelloSwapChainControl()
public VelloSwapChainControl()
Fields
DeviceOptionsProperty
public static readonly DependencyProperty DeviceOptionsProperty
Field Value
DiagnosticsProperty
public static readonly DependencyProperty DiagnosticsProperty
Field Value
PreferredBackendProperty
public static readonly DependencyProperty PreferredBackendProperty
Field Value
RenderLoopDriverProperty
public static readonly DependencyProperty RenderLoopDriverProperty
Field Value
RenderModeProperty
public static readonly DependencyProperty RenderModeProperty
Field Value
SuppressGraphicsViewCompositorProperty
public static readonly DependencyProperty SuppressGraphicsViewCompositorProperty
Field Value
Properties
CurrentAccessKitTree
public AccessKitTreeUpdate? CurrentAccessKitTree { get; }
Property Value
DeviceOptions
public VelloGraphicsDeviceOptions DeviceOptions { get; set; }
Property Value
Diagnostics
public WindowsGpuDiagnostics Diagnostics { get; }
Property Value
IsContinuousRendering
public bool IsContinuousRendering { get; }
Property Value
PreferredBackend
public VelloRenderBackend PreferredBackend { get; set; }
Property Value
VelloRenderBackend
RenderLoopDriver
public RenderLoopDriver RenderLoopDriver { get; set; }
Property Value
RenderMode
public VelloRenderMode RenderMode { get; set; }
Property Value
VelloRenderMode
SuppressGraphicsViewCompositor
public bool SuppressGraphicsViewCompositor { get; set; }
Property Value
Methods
CreateCompositionInputSource()
public ICompositionInputSource CreateCompositionInputSource()
Returns
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
OnCreateAutomationPeer()
When implemented in a derived class, returns class-specific AutomationPeer implementations for the Microsoft UI Automation infrastructure.
protected override AutomationPeer OnCreateAutomationPeer()
Returns
The class-specific AutomationPeer subclass to return.
RequestRender()
public void RequestRender()
SubmitAccessKitActionRequest(AccessKitActionRequest)
public void SubmitAccessKitActionRequest(AccessKitActionRequest request)
Parameters
request
AccessKitActionRequest
SubmitAccessKitTreeUpdate(AccessKitTreeUpdate)
public void SubmitAccessKitTreeUpdate(AccessKitTreeUpdate update)
Parameters
update
AccessKitTreeUpdate
AccessKitActionRequested
public event EventHandler<AccessKitActionRequest>? AccessKitActionRequested
Event Type
EventHandler<AccessKitActionRequest>?
AccessKitTreeUpdated
public event EventHandler<AccessKitTreeUpdate>? AccessKitTreeUpdated
Event Type
EventHandler<AccessKitTreeUpdate>?
ContentInvalidated
public event EventHandler? ContentInvalidated
Event Type
PaintSurface
public event EventHandler<VelloPaintSurfaceEventArgs>? PaintSurface
Event Type
EventHandler<VelloPaintSurfaceEventArgs>?
RenderSurface
public event EventHandler<VelloSwapChainRenderEventArgs>? RenderSurface
Event Type
EventHandler<VelloSwapChainRenderEventArgs>?