Skip to main content

Class VelloCompositionControl

Namespace: VelloSharp.Windows.Controls
Assembly: VelloSharp.WinUI.dll

Composition-friendly wrapper that hosts a while allowing overlay visuals and layout within XAML content trees that require transparent regions.

public sealed class VelloCompositionControl : Grid, IEquatable<DependencyObject>, IAnimationObject, IVisualElement, IVisualElement2, IEquatable<UIElement>, IEquatable<FrameworkElement>, IEquatable<Panel>, IWinRTObject, IUnmanagedVirtualMethodTableProvider, IDynamicInterfaceCastable, IEquatable<Grid>, IVelloDiagnosticsProvider

Inheritance​

object ← DependencyObject ← UIElement ← FrameworkElement ← Panel ← Grid ← VelloCompositionControl

Implements​

IEquatable<DependencyObject>, IAnimationObject, IVisualElement, IVisualElement2, IEquatable<UIElement>, IEquatable<FrameworkElement>, IEquatable<Panel>, IWinRTObject, IUnmanagedVirtualMethodTableProvider, IDynamicInterfaceCastable, IEquatable<Grid>, IVelloDiagnosticsProvider

Inherited Members​

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​

VelloCompositionControl()​

public VelloCompositionControl()

Fields​

DeviceOptionsProperty​

public static readonly DependencyProperty DeviceOptionsProperty

Field Value​

DependencyProperty

OverlayContentProperty​

public static readonly DependencyProperty OverlayContentProperty

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

OverlayContent​

public UIElement? OverlayContent { get; set; }

Property Value​

UIElement?

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​

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>?