Skip to main content

Class VelloCoreWindowHost

Namespace: VelloSharp.Uno.Controls
Assembly: VelloSharp.Uno.dll

public sealed class VelloCoreWindowHost : FrameworkElement, IEquatable<DependencyObject>, IAnimationObject, IVisualElement, IVisualElement2, IEquatable<UIElement>, IWinRTObject, IUnmanagedVirtualMethodTableProvider, IDynamicInterfaceCastable, IEquatable<FrameworkElement>, IDisposable, IVelloSwapChainPresenterHost, IVelloDiagnosticsProvider

Inheritance

objectDependencyObjectUIElementFrameworkElementVelloCoreWindowHost

Implements

IEquatable<DependencyObject>, IAnimationObject, IVisualElement, IVisualElement2, IEquatable<UIElement>, IWinRTObject, IUnmanagedVirtualMethodTableProvider, IDynamicInterfaceCastable, IEquatable<FrameworkElement>, IDisposable, IVelloSwapChainPresenterHost, IVelloDiagnosticsProvider

Inherited Members

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

VelloCoreWindowHost()

public VelloCoreWindowHost()

Fields

DeviceOptionsProperty

public static readonly DependencyProperty DeviceOptionsProperty

Field Value

DependencyProperty

DiagnosticsProperty

public static readonly DependencyProperty DiagnosticsProperty

Field Value

DependencyProperty

PreferredBackendProperty

public static readonly DependencyProperty PreferredBackendProperty

Field Value

DependencyProperty

RenderLoopDriverProperty

public static readonly DependencyProperty RenderLoopDriverProperty

Field Value

DependencyProperty

RenderModeProperty

public static readonly DependencyProperty RenderModeProperty

Field Value

DependencyProperty

Properties

DeviceOptions

public VelloGraphicsDeviceOptions DeviceOptions { get; set; }

Property Value

VelloGraphicsDeviceOptions

Diagnostics

public WindowsGpuDiagnostics Diagnostics { get; }

Property Value

WindowsGpuDiagnostics

IsContinuousRendering

public bool IsContinuousRendering { get; }

Property Value

bool

PreferredBackend

public VelloRenderBackend PreferredBackend { get; set; }

Property Value

VelloRenderBackend

RenderLoopDriver

public RenderLoopDriver RenderLoopDriver { get; set; }

Property Value

RenderLoopDriver

RenderMode

public VelloRenderMode RenderMode { get; set; }

Property Value

VelloRenderMode

Methods

ArrangeOverride(Size)

Provides the behavior for the "Arrange" pass of layout. Classes can override this method to define their own "Arrange" pass behavior.

protected override Size ArrangeOverride(Size finalSize)

Parameters

finalSize Size

The final area within the parent that this object should use to arrange itself and its children.

Returns

Size

The actual size that is used after the element is arranged in layout.

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

MeasureOverride(Size)

Provides the behavior for the "Measure" pass of the layout cycle. Classes can override this method to define their own "Measure" pass behavior.

protected override Size MeasureOverride(Size availableSize)

Parameters

availableSize Size

The available size that this object can give to child objects. Infinity can be specified as a value to indicate that the object will size to whatever content is available.

Returns

Size

The size that this object determines it needs during layout, based on its calculations of the allocated sizes for child objects or based on other considerations such as a fixed container size.

RequestRender()

public void RequestRender()

ContentInvalidated

public event EventHandler? ContentInvalidated

Event Type

EventHandler?

PaintSurface

public event EventHandler<VelloPaintSurfaceEventArgs>? PaintSurface

Event Type

EventHandler<VelloPaintSurfaceEventArgs>?

RenderSurface

public event EventHandler<VelloSwapChainRenderEventArgs>? RenderSurface

Event Type

EventHandler<VelloSwapChainRenderEventArgs>?