Skip to content

Instantly share code, notes, and snippets.

@kennykerr
Created May 18, 2026 20:24
Show Gist options
  • Select an option

  • Save kennykerr/41399c86590a65ee54e397285a1cfbbc to your computer and use it in GitHub Desktop.

Select an option

Save kennykerr/41399c86590a65ee54e397285a1cfbbc to your computer and use it in GitHub Desktop.
fn main() {
windows_rdl::Reader::new()
.input("crates/tools/bindings/src/extras.rdl")
.input("winmd/Windows.Win32.winmd")
.output("winmd/extras.winmd")
.write()
.unwrap();
let args = [
"--in",
"winmd",
"--out",
"crates/libs/reactor/src/bindings.rs",
"--implements",
"Microsoft.UI.Xaml.IApplicationOverrides",
"Microsoft.UI.Xaml.Markup.IXamlMetadataProvider",
"--no-comment",
"--no-allow",
"--minimal",
"--flat",
"--filter",
"extras",
"Microsoft.UI.Xaml.DependencyObject",
"Microsoft.UI.Xaml.UIElement",
"Microsoft.UI.Xaml.FrameworkElement",
"Microsoft.UI.Xaml.RoutedEventHandler",
"Microsoft.UI.Xaml.HorizontalAlignment",
"Microsoft.UI.Xaml.VerticalAlignment",
"Microsoft.UI.Xaml.TextWrapping",
"Microsoft.UI.Xaml.ElementTheme",
"Microsoft.UI.Xaml.Thickness",
"Microsoft.UI.Xaml.CornerRadius",
"Microsoft.UI.Xaml.Application",
"Microsoft.UI.Xaml.ApplicationInitializationCallback",
"Microsoft.UI.Xaml.IApplicationOverrides",
"Microsoft.UI.Xaml.LaunchActivatedEventArgs",
"Microsoft.UI.Xaml.Window",
"Microsoft.UI.Xaml.WindowEventArgs",
"Microsoft.UI.Windowing.AppWindow",
"Microsoft.UI.Windowing.AppWindowPresenterKind",
"Microsoft.UI.Xaml.Controls.Control",
"Microsoft.UI.Xaml.Controls.ContentControl",
"Microsoft.UI.Xaml.Controls.Panel",
"Microsoft.UI.Xaml.Controls.Button",
"Microsoft.UI.Xaml.Controls.TextBlock",
"Microsoft.UI.Xaml.Controls.StackPanel",
"Microsoft.UI.Xaml.Controls.Orientation",
"Microsoft.UI.Xaml.Controls.Border",
"Microsoft.UI.Xaml.Controls.UIElementCollection",
"Microsoft.UI.Xaml.Controls.CheckBox",
"Microsoft.UI.Xaml.Controls.TextBox",
"Microsoft.UI.Xaml.Controls.TextChangedEventHandler",
"Microsoft.UI.Xaml.Controls.Grid",
"Microsoft.UI.Xaml.Controls.RowDefinition",
"Microsoft.UI.Xaml.Controls.RowDefinitionCollection",
"Microsoft.UI.Xaml.Controls.ColumnDefinition",
"Microsoft.UI.Xaml.Controls.ColumnDefinitionCollection",
"Microsoft.UI.Xaml.Controls.ScrollViewer",
"Microsoft.UI.Xaml.Controls.ScrollBarVisibility",
"Microsoft.UI.Xaml.Controls.Viewbox",
"Microsoft.UI.Xaml.GridLength",
"Microsoft.UI.Xaml.GridUnitType",
"?Windows.Foundation.IPropertyValue",
"Windows.Foundation.Uri",
"Microsoft.UI.Xaml.Controls.ToggleSwitch",
"Microsoft.UI.Xaml.Controls.Slider",
"Microsoft.UI.Xaml.Controls.RadioButton",
"Microsoft.UI.Xaml.Controls.NumberBox",
"Microsoft.UI.Xaml.Controls.ProgressBar",
"Microsoft.UI.Xaml.Controls.ProgressRing",
"Microsoft.UI.Xaml.Controls.Primitives.RangeBaseValueChangedEventHandler",
"Microsoft.UI.Xaml.Controls.Expander",
"Microsoft.UI.Xaml.Controls.ExpanderExpandingEventArgs",
"Microsoft.UI.Xaml.Controls.ExpanderCollapsedEventArgs",
"Microsoft.UI.Xaml.Controls.TabView",
"Microsoft.UI.Xaml.Controls.TabViewItem",
"Microsoft.UI.Xaml.Controls.InfoBar",
"Microsoft.UI.Xaml.Controls.InfoBarSeverity",
"Microsoft.UI.Xaml.Controls.InfoBarClosedEventArgs",
"Microsoft.UI.Xaml.Controls.InfoBadge",
"Microsoft.UI.Xaml.Controls.ContentDialog",
"Microsoft.UI.Xaml.Controls.ContentDialogResult",
"Microsoft.UI.Xaml.Controls.ContentDialogButton",
"Microsoft.UI.Xaml.Controls.ContentDialogClosedEventArgs",
"Microsoft.UI.Xaml.XamlRoot",
"Microsoft.UI.Xaml.Controls.NavigationView",
"Microsoft.UI.Xaml.Controls.NavigationViewItem",
"Microsoft.UI.Xaml.Controls.NavigationViewItemHeader",
"Microsoft.UI.Xaml.Controls.NavigationViewSelectionChangedEventArgs",
"Microsoft.UI.Xaml.Controls.NavigationViewBackRequestedEventArgs",
"Microsoft.UI.Xaml.Controls.NavigationViewPaneDisplayMode",
"Microsoft.UI.Xaml.Controls.TitleBar",
"Microsoft.UI.Xaml.Controls.Pivot",
"Microsoft.UI.Xaml.Controls.PivotItem",
"Microsoft.UI.Xaml.Controls.BreadcrumbBar",
"Microsoft.UI.Xaml.Controls.PasswordBox",
"Microsoft.UI.Xaml.Controls.PasswordRevealMode",
"Microsoft.UI.Xaml.Controls.RadioButtons",
"Microsoft.UI.Xaml.Controls.ComboBox",
"Microsoft.UI.Xaml.Controls.Canvas",
"Microsoft.UI.Xaml.Shapes.Shape",
"Microsoft.UI.Xaml.Shapes.Rectangle",
"Microsoft.UI.Xaml.Shapes.Ellipse",
"Microsoft.UI.Xaml.Shapes.Line",
"Microsoft.UI.Xaml.Controls.Image",
"Microsoft.UI.Xaml.Media.ImageSource",
"Microsoft.UI.Xaml.Media.Imaging.BitmapImage",
"Microsoft.UI.Xaml.Media.Stretch",
"Microsoft.UI.Xaml.Controls.HyperlinkButton",
"Microsoft.UI.Xaml.Controls.PersonPicture",
"Microsoft.UI.Xaml.Controls.ItemsControl",
"Microsoft.UI.Xaml.Controls.ItemCollection",
"Microsoft.UI.Xaml.Controls.ListView",
"Microsoft.UI.Xaml.Controls.GridView",
"Microsoft.UI.Xaml.Controls.FlipView",
"Microsoft.UI.Xaml.Controls.Primitives.Selector",
"Microsoft.UI.Xaml.DataTemplate",
"Microsoft.UI.Xaml.Markup.XamlReader",
"Windows.Foundation.TypedEventHandler",
"Microsoft.UI.Xaml.Controls.SelectionChangedEventHandler",
"Microsoft.UI.Xaml.Media.Brush",
"Microsoft.UI.Xaml.Media.SolidColorBrush",
"Microsoft.UI.Xaml.Media.VisualTreeHelper",
"Microsoft.UI.Xaml.Automation.Peers.ButtonAutomationPeer",
"Microsoft.UI.Xaml.Automation.Peers.PatternInterface",
"Microsoft.UI.Xaml.Automation.Peers.AutomationLiveSetting",
"Microsoft.UI.Xaml.Automation.Peers.AutomationHeadingLevel",
"Microsoft.UI.Xaml.Automation.AutomationProperties",
"Microsoft.UI.Xaml.Controls.ToolTip",
"Microsoft.UI.Xaml.Controls.ToolTipService",
"Microsoft.UI.Xaml.Controls.Primitives.PlacementMode",
"Microsoft.UI.Xaml.Automation.Provider.IInvokeProvider",
"Microsoft.UI.Xaml.Input.KeyboardAccelerator",
"Microsoft.UI.Xaml.Input.KeyboardAcceleratorInvokedEventArgs",
// Pointer / tap event handlers + args.
"Microsoft.UI.Xaml.Input.TappedEventHandler",
"Microsoft.UI.Xaml.Input.TappedRoutedEventArgs",
"Microsoft.UI.Xaml.Input.RightTappedEventHandler",
"Microsoft.UI.Xaml.Input.RightTappedRoutedEventArgs",
"Microsoft.UI.Xaml.Input.PointerEventHandler",
"Microsoft.UI.Xaml.Input.PointerRoutedEventArgs",
"Microsoft.UI.Input.PointerPoint",
"Microsoft.UI.Input.PointerPointProperties",
"Windows.System.VirtualKey",
"Windows.System.VirtualKeyModifiers",
"Windows.UI.Text.FontWeight",
"Windows.UI.Color",
"Microsoft.UI.Dispatching.DispatcherQueue",
"Microsoft.UI.Dispatching.DispatcherQueueHandler",
"Microsoft.UI.Dispatching.DispatcherQueuePriority",
"Microsoft.UI.Dispatching.DispatcherQueueTimer",
"Windows.Foundation.TimeSpan",
"Microsoft.UI.Xaml.Media.CompositionTarget",
// Composition / Hosting for set_implicit_transitions and
// run_property_animation.
"Microsoft.UI.Xaml.Hosting.ElementCompositionPreview",
"Microsoft.UI.Composition.Compositor",
"Microsoft.UI.Composition.Visual",
"Microsoft.UI.Composition.CompositionObject",
"Microsoft.UI.Composition.CompositionAnimation",
"Microsoft.UI.Composition.KeyFrameAnimation",
"Microsoft.UI.Composition.ScalarKeyFrameAnimation",
"Microsoft.UI.Composition.Vector3KeyFrameAnimation",
"Microsoft.UI.Composition.ImplicitAnimationCollection",
"Microsoft.UI.Composition.CompositionEasingFunction",
"Microsoft.UI.Composition.LinearEasingFunction",
"Microsoft.UI.Composition.CubicBezierEasingFunction",
"Windows.Foundation.EventHandler",
"Microsoft.UI.Xaml.Markup.IXamlMetadataProvider",
"Microsoft.UI.Xaml.Markup.IXamlType",
"Microsoft.UI.Xaml.Markup.XmlnsDefinition",
"Microsoft.UI.Xaml.XamlTypeInfo.XamlControlsXamlMetaDataProvider",
"Windows.UI.Xaml.Interop.TypeName",
"Microsoft.UI.Xaml.Controls.XamlControlsResources",
"Microsoft.UI.Xaml.ResourceDictionary",
"Windows.Win32.Foundation.HMODULE",
"Windows.Win32.Foundation.RPC_E_CHANGED_MODE",
"Windows.Win32.System.Com.CoInitializeEx",
"Windows.Win32.System.Com.COINIT_APARTMENTTHREADED",
"Windows.Win32.System.LibraryLoader.GetProcAddress",
"Windows.Win32.System.LibraryLoader.LoadLibraryA",
"Windows.Win32.UI.HiDpi.SetProcessDpiAwarenessContext",
"Windows.Win32.UI.HiDpi.DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2",
// Synthesise WM_SETCURSOR at startup to clear the OS
// AppStarting cursor (see `winui/host.rs`).
"Windows.Win32.Foundation.HWND",
"Windows.Win32.Foundation.WPARAM",
"Windows.Win32.Foundation.LPARAM",
"Windows.Win32.UI.WindowsAndMessaging.PostMessageW",
"Windows.Win32.UI.WindowsAndMessaging.WM_SETCURSOR",
"Windows.Win32.UI.WindowsAndMessaging.WM_MOUSEMOVE",
"Windows.Win32.UI.WindowsAndMessaging.HTCLIENT",
// Method-level filter (windows-rs PR #4409). Whitelist by
// `Iface::method` for heavy interfaces; deny with `!` to demote
// unused vtable slots to `usize` (preserving offsets).
// Microsoft.UI.Xaml.IUIElement (4 kept + 10 pointer-event slots)
"Microsoft.UI.Xaml.IUIElement::get_KeyboardAccelerators",
"Microsoft.UI.Xaml.IUIElement::put_IsHitTestVisible",
"Microsoft.UI.Xaml.IUIElement::put_Opacity",
"Microsoft.UI.Xaml.IUIElement::UpdateLayout",
"Microsoft.UI.Xaml.IUIElement::add_Tapped",
"Microsoft.UI.Xaml.IUIElement::remove_Tapped",
"Microsoft.UI.Xaml.IUIElement::add_RightTapped",
"Microsoft.UI.Xaml.IUIElement::remove_RightTapped",
"Microsoft.UI.Xaml.IUIElement::add_PointerPressed",
"Microsoft.UI.Xaml.IUIElement::remove_PointerPressed",
"Microsoft.UI.Xaml.IUIElement::add_PointerReleased",
"Microsoft.UI.Xaml.IUIElement::remove_PointerReleased",
"Microsoft.UI.Xaml.IUIElement::add_PointerExited",
"Microsoft.UI.Xaml.IUIElement::remove_PointerExited",
// Microsoft.UI.Input.IPointerPoint (1 kept)
"Microsoft.UI.Input.IPointerPoint::Properties",
// Microsoft.UI.Input.IPointerPointProperties (3 kept — button states)
"Microsoft.UI.Input.IPointerPointProperties::IsLeftButtonPressed",
"Microsoft.UI.Input.IPointerPointProperties::IsMiddleButtonPressed",
"Microsoft.UI.Input.IPointerPointProperties::IsRightButtonPressed",
// Microsoft.UI.Xaml.Input.IPointerRoutedEventArgs (1 kept)
"Microsoft.UI.Xaml.Input.IPointerRoutedEventArgs::GetCurrentPoint",
// Microsoft.UI.Xaml.IFrameworkElement (14 kept)
"Microsoft.UI.Xaml.IFrameworkElement::add_ActualThemeChanged",
"Microsoft.UI.Xaml.IFrameworkElement::ActualTheme",
"Microsoft.UI.Xaml.IFrameworkElement::get_Resources",
"Microsoft.UI.Xaml.IFrameworkElement::ActualWidth",
"Microsoft.UI.Xaml.IFrameworkElement::ActualHeight",
"Microsoft.UI.Xaml.IFrameworkElement::Tag",
"Microsoft.UI.Xaml.IFrameworkElement::put_Width",
"Microsoft.UI.Xaml.IFrameworkElement::put_Height",
"Microsoft.UI.Xaml.IFrameworkElement::put_MinWidth",
"Microsoft.UI.Xaml.IFrameworkElement::put_MaxWidth",
"Microsoft.UI.Xaml.IFrameworkElement::put_MinHeight",
"Microsoft.UI.Xaml.IFrameworkElement::put_MaxHeight",
"Microsoft.UI.Xaml.IFrameworkElement::put_HorizontalAlignment",
"Microsoft.UI.Xaml.IFrameworkElement::put_VerticalAlignment",
"Microsoft.UI.Xaml.IFrameworkElement::put_Margin",
"Microsoft.UI.Xaml.IFrameworkElement::put_Name",
// Microsoft.UI.Xaml.Controls.IControl (8 kept)
"Microsoft.UI.Xaml.Controls.IControl::IsEnabled",
"Microsoft.UI.Xaml.Controls.IControl::put_FontSize",
"Microsoft.UI.Xaml.Controls.IControl::put_FontWeight",
"Microsoft.UI.Xaml.Controls.IControl::put_Foreground",
"Microsoft.UI.Xaml.Controls.IControl::put_Padding",
"Microsoft.UI.Xaml.Controls.IControl::put_Background",
"Microsoft.UI.Xaml.Controls.IControl::put_CornerRadius",
// Microsoft.UI.Xaml.Controls.IScrollViewer (2 kept)
"Microsoft.UI.Xaml.Controls.IScrollViewer::put_HorizontalScrollBarVisibility",
"Microsoft.UI.Xaml.Controls.IScrollViewer::put_VerticalScrollBarVisibility",
// Microsoft.UI.Xaml.Controls.IViewbox (2 kept)
"Microsoft.UI.Xaml.Controls.IViewbox::put_Child",
"Microsoft.UI.Xaml.Controls.IViewbox::put_Stretch",
// Microsoft.UI.Xaml.Controls.ITextBox (7 kept)
"Microsoft.UI.Xaml.Controls.ITextBox::Text",
"Microsoft.UI.Xaml.Controls.ITextBox::SelectionChanged",
"Microsoft.UI.Xaml.Controls.ITextBox::TextChanged",
"Microsoft.UI.Xaml.Controls.ITextBox::put_AcceptsReturn",
"Microsoft.UI.Xaml.Controls.ITextBox::put_TextWrapping",
"Microsoft.UI.Xaml.Controls.ITextBox::put_Header",
"Microsoft.UI.Xaml.Controls.ITextBox::put_PlaceholderText",
// Microsoft.UI.Xaml.Controls.ITextBlock (8 kept)
"Microsoft.UI.Xaml.Controls.ITextBlock::Text",
"Microsoft.UI.Xaml.Controls.ITextBlock::SelectionChanged",
"Microsoft.UI.Xaml.Controls.ITextBlock::put_FontSize",
"Microsoft.UI.Xaml.Controls.ITextBlock::put_FontWeight",
"Microsoft.UI.Xaml.Controls.ITextBlock::put_Foreground",
"Microsoft.UI.Xaml.Controls.ITextBlock::put_TextWrapping",
"Microsoft.UI.Xaml.Controls.ITextBlock::put_Padding",
"Microsoft.UI.Xaml.Controls.ITextBlock::put_IsTextSelectionEnabled",
// Microsoft.UI.Xaml.Controls.INavigationView (7 kept)
"Microsoft.UI.Xaml.Controls.INavigationView::SelectedItem",
"Microsoft.UI.Xaml.Controls.INavigationView::SelectionChanged",
"Microsoft.UI.Xaml.Controls.INavigationView::get_MenuItems",
"Microsoft.UI.Xaml.Controls.INavigationView::put_Header",
"Microsoft.UI.Xaml.Controls.INavigationView::put_IsPaneOpen",
"Microsoft.UI.Xaml.Controls.INavigationView::put_IsSettingsVisible",
"Microsoft.UI.Xaml.Controls.INavigationView::put_IsPaneToggleButtonVisible",
// Microsoft.UI.Xaml.Controls.IListViewBase (2 kept)
"Microsoft.UI.Xaml.Controls.IListViewBase::ScrollIntoView",
"Microsoft.UI.Xaml.Controls.IListViewBase::put_Header",
// Microsoft.UI.Xaml.Controls.ITabView (4 kept)
"Microsoft.UI.Xaml.Controls.ITabView::SelectedIndex",
"Microsoft.UI.Xaml.Controls.ITabView::SelectedItem",
"Microsoft.UI.Xaml.Controls.ITabView::SelectionChanged",
"Microsoft.UI.Xaml.Controls.ITabView::get_TabItems",
// Microsoft.UI.Xaml.Controls.IPasswordBox (6 kept)
"Microsoft.UI.Xaml.Controls.IPasswordBox::Password",
"Microsoft.UI.Xaml.Controls.IPasswordBox::PasswordRevealMode",
"Microsoft.UI.Xaml.Controls.IPasswordBox::PasswordChanged",
"Microsoft.UI.Xaml.Controls.IPasswordBox::put_IsPasswordRevealButtonEnabled",
"Microsoft.UI.Xaml.Controls.IPasswordBox::put_Header",
"Microsoft.UI.Xaml.Controls.IPasswordBox::put_PlaceholderText",
// Microsoft.UI.Xaml.Automation.Peers.IAutomationPeer (2 kept)
"Microsoft.UI.Xaml.Automation.Peers.IAutomationPeer::GetPattern",
"Microsoft.UI.Xaml.Automation.Peers.IAutomationPeer::IsEnabled",
// Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides (38 entries)
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetPatternCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetAcceleratorKeyCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetAccessKeyCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetAutomationIdCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetChildrenCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetClassNameCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetHelpTextCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetItemStatusCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetItemTypeCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetLabeledByCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetLocalizedControlTypeCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetNameCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::HasKeyboardFocusCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::IsContentElementCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::IsControlElementCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::IsEnabledCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::IsKeyboardFocusableCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::IsOffscreenCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::IsPasswordCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::IsRequiredForFormCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::SetFocusCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetFocusedElementCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetLiveSettingCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::ShowContextMenuCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetControlledPeersCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetPositionInSetCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetSizeOfSetCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetLevelCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetLocalizedLandmarkTypeCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::IsPeripheralCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::IsDataValidForFormCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetFullDescriptionCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetDescribedByCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetFlowsToCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetFlowsFromCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetCultureCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::GetHeadingLevelCore",
"!Microsoft.UI.Xaml.Automation.Peers.IAutomationPeerOverrides::IsDialogCore",
// Windows.Foundation.IPropertyValue (1 kept)
"Windows.Foundation.IPropertyValue::GetString",
// ----- Round 2 (next-round pruning per docs/bindgen.md) -----
// Microsoft.UI.Xaml.Markup.IXamlType (17 unused)
"!Microsoft.UI.Xaml.Markup.IXamlType::ActivateInstance",
"!Microsoft.UI.Xaml.Markup.IXamlType::AddToMap",
"!Microsoft.UI.Xaml.Markup.IXamlType::AddToVector",
"!Microsoft.UI.Xaml.Markup.IXamlType::BaseType",
"!Microsoft.UI.Xaml.Markup.IXamlType::BoxedType",
"!Microsoft.UI.Xaml.Markup.IXamlType::CreateFromString",
"!Microsoft.UI.Xaml.Markup.IXamlType::FullName",
"!Microsoft.UI.Xaml.Markup.IXamlType::IsArray",
"!Microsoft.UI.Xaml.Markup.IXamlType::IsBindable",
"!Microsoft.UI.Xaml.Markup.IXamlType::IsCollection",
"!Microsoft.UI.Xaml.Markup.IXamlType::IsConstructible",
"!Microsoft.UI.Xaml.Markup.IXamlType::IsDictionary",
"!Microsoft.UI.Xaml.Markup.IXamlType::IsMarkupExtension",
"!Microsoft.UI.Xaml.Markup.IXamlType::ItemType",
"!Microsoft.UI.Xaml.Markup.IXamlType::KeyType",
"!Microsoft.UI.Xaml.Markup.IXamlType::RunInitializer",
"!Microsoft.UI.Xaml.Markup.IXamlType::UnderlyingType",
// Microsoft.UI.Xaml.Controls.IComboBox (3 kept)
"Microsoft.UI.Xaml.Controls.IComboBox::Text",
"Microsoft.UI.Xaml.Controls.IComboBox::put_Header",
"Microsoft.UI.Xaml.Controls.IComboBox::put_PlaceholderText",
// Microsoft.UI.Xaml.Controls.INavigationView2 (4 kept)
"Microsoft.UI.Xaml.Controls.INavigationView2::BackRequested",
"Microsoft.UI.Xaml.Controls.INavigationView2::put_IsBackEnabled",
"Microsoft.UI.Xaml.Controls.INavigationView2::put_PaneDisplayMode",
"Microsoft.UI.Xaml.Controls.INavigationView2::put_PaneTitle",
// Microsoft.UI.Xaml.Controls.IPivot (4 kept)
"Microsoft.UI.Xaml.Controls.IPivot::SelectedIndex",
"Microsoft.UI.Xaml.Controls.IPivot::SelectedItem",
"Microsoft.UI.Xaml.Controls.IPivot::SelectionChanged",
"Microsoft.UI.Xaml.Controls.IPivot::put_Title",
// Microsoft.UI.Xaml.Controls.INumberBox (19 unused)
"!Microsoft.UI.Xaml.Controls.INumberBox::AcceptsExpression",
"!Microsoft.UI.Xaml.Controls.INumberBox::Description",
"!Microsoft.UI.Xaml.Controls.INumberBox::get_Header",
"!Microsoft.UI.Xaml.Controls.INumberBox::HeaderTemplate",
"!Microsoft.UI.Xaml.Controls.INumberBox::IsWrapEnabled",
"!Microsoft.UI.Xaml.Controls.INumberBox::LargeChange",
"!Microsoft.UI.Xaml.Controls.INumberBox::get_Maximum",
"!Microsoft.UI.Xaml.Controls.INumberBox::get_Minimum",
"!Microsoft.UI.Xaml.Controls.INumberBox::get_PlaceholderText",
"!Microsoft.UI.Xaml.Controls.INumberBox::PreventKeyboardDisplayOnProgrammaticFocus",
"!Microsoft.UI.Xaml.Controls.INumberBox::SelectionHighlightColor",
"!Microsoft.UI.Xaml.Controls.INumberBox::get_SmallChange",
// Microsoft.UI.Xaml.Controls.IInfoBar (6 kept)
"Microsoft.UI.Xaml.Controls.IInfoBar::Content",
"Microsoft.UI.Xaml.Controls.IInfoBar::put_IsOpen",
"Microsoft.UI.Xaml.Controls.IInfoBar::put_Message",
"Microsoft.UI.Xaml.Controls.IInfoBar::put_Severity",
"Microsoft.UI.Xaml.Controls.IInfoBar::put_Title",
"Microsoft.UI.Xaml.Controls.IInfoBar::Closed",
// Microsoft.UI.Xaml.Controls.IContentDialog (W6 — modal dialog)
"Microsoft.UI.Xaml.Controls.IContentDialog::put_Title",
"Microsoft.UI.Xaml.Controls.IContentDialog::put_PrimaryButtonText",
"Microsoft.UI.Xaml.Controls.IContentDialog::put_SecondaryButtonText",
"Microsoft.UI.Xaml.Controls.IContentDialog::put_CloseButtonText",
"Microsoft.UI.Xaml.Controls.IContentDialog::put_IsPrimaryButtonEnabled",
"Microsoft.UI.Xaml.Controls.IContentDialog::put_IsSecondaryButtonEnabled",
"Microsoft.UI.Xaml.Controls.IContentDialog::ShowAsync",
"Microsoft.UI.Xaml.Controls.IContentDialog::Hide",
"Microsoft.UI.Xaml.Controls.IContentDialog::Closed",
// Microsoft.UI.Xaml.Controls.IContentDialogClosedEventArgs (Result)
"Microsoft.UI.Xaml.Controls.IContentDialogClosedEventArgs::Result",
// ContentDialog needs XamlRoot before ShowAsync.
"Microsoft.UI.Xaml.IUIElement::get_XamlRoot",
"Microsoft.UI.Xaml.IUIElement::put_XamlRoot",
// Microsoft.UI.Xaml.Controls.IPersonPicture (2 kept)
"Microsoft.UI.Xaml.Controls.IPersonPicture::put_DisplayName",
"Microsoft.UI.Xaml.Controls.IPersonPicture::put_Initials",
// Microsoft.UI.Xaml.Controls.ISlider (2 kept)
"Microsoft.UI.Xaml.Controls.ISlider::put_Header",
"Microsoft.UI.Xaml.Controls.ISlider::put_Orientation",
// Microsoft.UI.Xaml.Media.Imaging.IBitmapImage (2 kept)
"Microsoft.UI.Xaml.Media.Imaging.IBitmapImage::put_UriSource",
"Microsoft.UI.Xaml.Media.Imaging.IBitmapImage::Stop",
// Factory `CreateInstance(IUri)` renamed `CreateInstanceWithUriSource` —
// we only use `BitmapImage::new()` (default activation). Denied by
// overload name (microsoft/windows-rs#4423).
"!Microsoft.UI.Xaml.Media.Imaging.IBitmapImageFactory::CreateInstanceWithUriSource",
// Microsoft.UI.Xaml.Media.ISolidColorBrushFactory::CreateInstance(Color) renamed
// `CreateInstanceWithColor` — only `SolidColorBrush::new()` is used.
"!Microsoft.UI.Xaml.Media.ISolidColorBrushFactory::CreateInstanceWithColor",
// Microsoft.UI.Xaml.Controls.ISelectionChangedEventArgsFactory: the
// 4-arg `CreateInstance(removed, added, ...)` overload is renamed
// `CreateInstanceWithRemovedItemsAndAddedItems`; we never construct
// these — XAML hands the args back via `OnSelectionChanged`.
"!Microsoft.UI.Xaml.Controls.ISelectionChangedEventArgsFactory::CreateInstanceWithRemovedItemsAndAddedItems",
// Microsoft.UI.Xaml.Controls.ITitleBar (10 unused)
"!Microsoft.UI.Xaml.Controls.ITitleBar::get_IsBackButtonEnabled",
"!Microsoft.UI.Xaml.Controls.ITitleBar::get_IsBackButtonVisible",
"!Microsoft.UI.Xaml.Controls.ITitleBar::get_IsPaneToggleButtonVisible",
"!Microsoft.UI.Xaml.Controls.ITitleBar::LeftHeader",
"!Microsoft.UI.Xaml.Controls.ITitleBar::RightHeader",
"!Microsoft.UI.Xaml.Controls.ITitleBar::get_Subtitle",
"!Microsoft.UI.Xaml.Controls.ITitleBar::get_Title",
// Microsoft.UI.Xaml.Controls.IStackPanel (4 kept)
"Microsoft.UI.Xaml.Controls.IStackPanel::put_CornerRadius",
"Microsoft.UI.Xaml.Controls.IStackPanel::put_Orientation",
"Microsoft.UI.Xaml.Controls.IStackPanel::put_Padding",
"Microsoft.UI.Xaml.Controls.IStackPanel::put_Spacing",
// Microsoft.UI.Xaml.Controls.IGrid (8 unused)
"!Microsoft.UI.Xaml.Controls.IGrid::BorderBrush",
"!Microsoft.UI.Xaml.Controls.IGrid::BorderThickness",
"!Microsoft.UI.Xaml.Controls.IGrid::get_ColumnSpacing",
"!Microsoft.UI.Xaml.Controls.IGrid::get_CornerRadius",
"!Microsoft.UI.Xaml.Controls.IGrid::get_Padding",
"!Microsoft.UI.Xaml.Controls.IGrid::get_RowSpacing",
// Microsoft.UI.Xaml.Controls.IBorder (Background/CornerRadius/Padding
// unused; SetBorderBrush/SetBorderThickness kept for card layouts).
"!Microsoft.UI.Xaml.Controls.IBorder::get_Background",
"!Microsoft.UI.Xaml.Controls.IBorder::get_BorderBrush",
"!Microsoft.UI.Xaml.Controls.IBorder::get_BorderThickness",
"!Microsoft.UI.Xaml.Controls.IBorder::get_CornerRadius",
"!Microsoft.UI.Xaml.Controls.IBorder::get_Padding",
// ----- Round 3 (additional interface offenders) -----
// Microsoft.UI.Xaml.Controls.IRadioButtons (9 unused)
"!Microsoft.UI.Xaml.Controls.IRadioButtons::ContainerFromIndex",
"!Microsoft.UI.Xaml.Controls.IRadioButtons::get_Header",
"!Microsoft.UI.Xaml.Controls.IRadioButtons::HeaderTemplate",
"!Microsoft.UI.Xaml.Controls.IRadioButtons::ItemTemplate",
"!Microsoft.UI.Xaml.Controls.IRadioButtons::ItemsSource",
"!Microsoft.UI.Xaml.Controls.IRadioButtons::get_MaxColumns",
// Microsoft.UI.Xaml.Controls.IToggleSwitch (9 unused)
"!Microsoft.UI.Xaml.Controls.IToggleSwitch::get_Header",
"!Microsoft.UI.Xaml.Controls.IToggleSwitch::HeaderTemplate",
"!Microsoft.UI.Xaml.Controls.IToggleSwitch::get_OffContent",
"!Microsoft.UI.Xaml.Controls.IToggleSwitch::OffContentTemplate",
"!Microsoft.UI.Xaml.Controls.IToggleSwitch::get_OnContent",
"!Microsoft.UI.Xaml.Controls.IToggleSwitch::OnContentTemplate",
// Microsoft.UI.Xaml.IWindow (9 unused)
"!Microsoft.UI.Xaml.IWindow::Close",
"!Microsoft.UI.Xaml.IWindow::DispatcherQueue",
"!Microsoft.UI.Xaml.IWindow::get_ExtendsContentIntoTitleBar",
"!Microsoft.UI.Xaml.IWindow::remove_Activated",
"!Microsoft.UI.Xaml.IWindow::remove_Closed",
"!Microsoft.UI.Xaml.IWindow::remove_SizeChanged",
"!Microsoft.UI.Xaml.IWindow::remove_VisibilityChanged",
"!Microsoft.UI.Xaml.IWindow::get_Title",
"!Microsoft.UI.Xaml.IWindow::Visible",
// Microsoft.UI.Xaml.Shapes.IShape (4 kept)
"Microsoft.UI.Xaml.Shapes.IShape::put_Fill",
"Microsoft.UI.Xaml.Shapes.IShape::put_Stretch",
"Microsoft.UI.Xaml.Shapes.IShape::put_Stroke",
"Microsoft.UI.Xaml.Shapes.IShape::put_StrokeThickness",
// Microsoft.UI.Xaml.Controls.IImage (2 kept)
"Microsoft.UI.Xaml.Controls.IImage::put_Source",
"Microsoft.UI.Xaml.Controls.IImage::put_Stretch",
// Microsoft.UI.Xaml.Controls.Primitives.ISelector (6 unused)
"!Microsoft.UI.Xaml.Controls.Primitives.ISelector::IsSynchronizedWithCurrentItem",
"!Microsoft.UI.Xaml.Controls.Primitives.ISelector::SelectedValue",
"!Microsoft.UI.Xaml.Controls.Primitives.ISelector::SelectedValuePath",
// Microsoft.UI.Xaml.Controls.IExpander (4 kept)
"Microsoft.UI.Xaml.Controls.IExpander::put_Header",
"Microsoft.UI.Xaml.Controls.IExpander::put_IsExpanded",
"Microsoft.UI.Xaml.Controls.IExpander::Expanding",
"Microsoft.UI.Xaml.Controls.IExpander::Collapsed",
// Microsoft.UI.Xaml.Controls.ITabViewItem (6 unused)
"!Microsoft.UI.Xaml.Controls.ITabViewItem::get_Header",
"!Microsoft.UI.Xaml.Controls.ITabViewItem::HeaderTemplate",
"!Microsoft.UI.Xaml.Controls.ITabViewItem::IsClosable",
"!Microsoft.UI.Xaml.Controls.ITabViewItem::remove_CloseRequested",
// Microsoft.UI.Xaml.Controls.Primitives.IRangeBase (5 unused)
"!Microsoft.UI.Xaml.Controls.Primitives.IRangeBase::LargeChange",
"!Microsoft.UI.Xaml.Controls.Primitives.IRangeBase::get_Maximum",
"!Microsoft.UI.Xaml.Controls.Primitives.IRangeBase::get_Minimum",
"!Microsoft.UI.Xaml.Controls.Primitives.IRangeBase::get_SmallChange",
// Microsoft.UI.Xaml.Input.IKeyboardAccelerator (5 unused)
"!Microsoft.UI.Xaml.Input.IKeyboardAccelerator::get_Key",
"!Microsoft.UI.Xaml.Input.IKeyboardAccelerator::get_Modifiers",
"!Microsoft.UI.Xaml.Input.IKeyboardAccelerator::remove_Invoked",
"!Microsoft.UI.Xaml.Input.IKeyboardAccelerator::ScopeOwner",
// Microsoft.UI.Xaml.Controls.IProgressBar (5 unused)
"!Microsoft.UI.Xaml.Controls.IProgressBar::get_IsIndeterminate",
"!Microsoft.UI.Xaml.Controls.IProgressBar::ShowError",
"!Microsoft.UI.Xaml.Controls.IProgressBar::ShowPaused",
// Microsoft.UI.Xaml.Controls.IBreadcrumbBar (5 unused)
"!Microsoft.UI.Xaml.Controls.IBreadcrumbBar::ItemTemplate",
"!Microsoft.UI.Xaml.Controls.IBreadcrumbBar::ItemsSource",
"!Microsoft.UI.Xaml.Controls.IBreadcrumbBar::remove_ItemClicked",
// Microsoft.UI.Xaml.Controls.Primitives.IToggleButton (4 unused)
"!Microsoft.UI.Xaml.Controls.Primitives.IToggleButton::Indeterminate",
"!Microsoft.UI.Xaml.Controls.Primitives.IToggleButton::IsThreeState",
// Microsoft.UI.Xaml.Controls.IProgressRing (4 unused)
"!Microsoft.UI.Xaml.Controls.IProgressRing::get_IsActive",
"!Microsoft.UI.Xaml.Controls.IProgressRing::get_IsIndeterminate",
"!Microsoft.UI.Xaml.Controls.IProgressRing::get_Maximum",
"!Microsoft.UI.Xaml.Controls.IProgressRing::get_Minimum",
// Microsoft.UI.Xaml.Shapes.ILine (4 unused)
"!Microsoft.UI.Xaml.Shapes.ILine::get_X1",
"!Microsoft.UI.Xaml.Shapes.ILine::get_X2",
"!Microsoft.UI.Xaml.Shapes.ILine::get_Y1",
"!Microsoft.UI.Xaml.Shapes.ILine::get_Y2",
// Microsoft.UI.Xaml.Controls.IRowDefinition (4 unused)
"!Microsoft.UI.Xaml.Controls.IRowDefinition::ActualHeight",
"!Microsoft.UI.Xaml.Controls.IRowDefinition::get_Height",
"!Microsoft.UI.Xaml.Controls.IRowDefinition::get_MaxHeight",
"!Microsoft.UI.Xaml.Controls.IRowDefinition::get_MinHeight",
// Microsoft.UI.Xaml.Controls.IColumnDefinition (4 unused)
"!Microsoft.UI.Xaml.Controls.IColumnDefinition::ActualWidth",
"!Microsoft.UI.Xaml.Controls.IColumnDefinition::get_MaxWidth",
"!Microsoft.UI.Xaml.Controls.IColumnDefinition::get_MinWidth",
"!Microsoft.UI.Xaml.Controls.IColumnDefinition::get_Width",
// Microsoft.UI.Xaml.Controls.Primitives.IButtonBase (4 unused)
"!Microsoft.UI.Xaml.Controls.Primitives.IButtonBase::CommandParameter",
"!Microsoft.UI.Xaml.Controls.Primitives.IButtonBase::IsPointerOver",
"!Microsoft.UI.Xaml.Controls.Primitives.IButtonBase::IsPressed",
// Microsoft.UI.Dispatching.IDispatcherQueueTimer (3 unused)
"!Microsoft.UI.Dispatching.IDispatcherQueueTimer::get_Interval",
"!Microsoft.UI.Dispatching.IDispatcherQueueTimer::get_IsRepeating",
"!Microsoft.UI.Dispatching.IDispatcherQueueTimer::IsRunning",
// Microsoft.UI.Dispatching.IDispatcherQueue (3 unused)
"!Microsoft.UI.Dispatching.IDispatcherQueue::ShutdownCompleted",
"!Microsoft.UI.Dispatching.IDispatcherQueue::remove_ShutdownStarting",
// Microsoft.UI.Xaml.Controls.IContentControl (3 unused)
"!Microsoft.UI.Xaml.Controls.IContentControl::ContentTemplate",
"!Microsoft.UI.Xaml.Controls.IContentControl::ContentTemplateRoot",
// Class statics/factory forwarders (windows-rs PR #4409 class
// cascade): `!Class::Method` denies via required interfaces.
// Microsoft.UI.Xaml.Automation.AutomationProperties statics (5 kept)
"Microsoft.UI.Xaml.Automation.AutomationProperties::SetAutomationId",
"Microsoft.UI.Xaml.Automation.AutomationProperties::SetHelpText",
"Microsoft.UI.Xaml.Automation.AutomationProperties::SetName",
"Microsoft.UI.Xaml.Automation.AutomationProperties::SetLiveSetting",
"Microsoft.UI.Xaml.Automation.AutomationProperties::SetHeadingLevel",
// Microsoft.UI.Xaml.Controls.ToolTipService statics (Set/Get
// ToolTip + Placement; Get* kept for selftest round-trips).
"Microsoft.UI.Xaml.Controls.ToolTipService::SetToolTip",
"Microsoft.UI.Xaml.Controls.ToolTipService::GetToolTip",
"Microsoft.UI.Xaml.Controls.ToolTipService::SetPlacement",
"Microsoft.UI.Xaml.Controls.ToolTipService::GetPlacement",
// Windows.Foundation.PropertyValue statics (2 kept)
"Windows.Foundation.PropertyValue::CreateBoolean",
"Windows.Foundation.PropertyValue::CreateString",
// Microsoft.UI.Xaml.Controls.ScrollViewer statics (24 unused)
"!Microsoft.UI.Xaml.Controls.ScrollViewer::GetHorizontalScrollBarVisibility",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::SetHorizontalScrollBarVisibility",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::GetVerticalScrollBarVisibility",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::SetVerticalScrollBarVisibility",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::GetIsHorizontalRailEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::SetIsHorizontalRailEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::GetIsVerticalRailEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::SetIsVerticalRailEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::GetIsHorizontalScrollChainingEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::SetIsHorizontalScrollChainingEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::GetIsVerticalScrollChainingEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::SetIsVerticalScrollChainingEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::GetIsZoomChainingEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::SetIsZoomChainingEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::GetIsScrollInertiaEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::SetIsScrollInertiaEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::GetIsZoomInertiaEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::SetIsZoomInertiaEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::GetCanContentRenderOutsideBounds",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::SetCanContentRenderOutsideBounds",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::GetIsDeferredScrollingEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::SetIsDeferredScrollingEnabled",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::GetBringIntoViewOnFocusChange",
"!Microsoft.UI.Xaml.Controls.ScrollViewer::SetBringIntoViewOnFocusChange",
// Microsoft.UI.Xaml.Controls.Control statics (4 unused)
"!Microsoft.UI.Xaml.Controls.Control::GetIsTemplateFocusTarget",
"!Microsoft.UI.Xaml.Controls.Control::SetIsTemplateFocusTarget",
"!Microsoft.UI.Xaml.Controls.Control::GetIsTemplateKeyTipTarget",
"!Microsoft.UI.Xaml.Controls.Control::SetIsTemplateKeyTipTarget",
// Microsoft.UI.Xaml.Media.CompositionTarget events (3 unused)
"!Microsoft.UI.Xaml.Media.CompositionTarget::remove_Rendered",
"!Microsoft.UI.Xaml.Media.CompositionTarget::SurfaceContentsLost",
// Microsoft.UI.Xaml.Application statics (1 unused)
"!Microsoft.UI.Xaml.Application::LoadComponent",
// Windows.Foundation.Uri statics (only CreateUri kept; the
// other escape helpers are unused).
"Windows.Foundation.Uri::CreateUri",
"!Windows.Foundation.Uri::UnescapeComponent",
"!Windows.Foundation.Uri::EscapeComponent",
// Microsoft.UI.Xaml.Controls.Primitives.Selector statics (1 unused)
"!Microsoft.UI.Xaml.Controls.Primitives.Selector::GetIsSelectionActive",
// Microsoft.UI.Xaml.Markup.XamlReader statics (1 unused)
"!Microsoft.UI.Xaml.Markup.XamlReader::LoadWithInitialTemplateValidation",
// ---- Round 5: transitively-included interfaces ----
// Microsoft.UI.Dispatching.IDispatcherQueue2 (1)
"!Microsoft.UI.Dispatching.IDispatcherQueue2::HasThreadAccess",
// Microsoft.UI.Dispatching.IDispatcherQueue3 (1 kept)
"Microsoft.UI.Dispatching.IDispatcherQueue3::EnsureSystemDispatcherQueue",
// Microsoft.UI.Xaml.IApplication (3)
"!Microsoft.UI.Xaml.IApplication::put_Resources",
"!Microsoft.UI.Xaml.IApplication::remove_UnhandledException",
"!Microsoft.UI.Xaml.IApplication::Exit",
// Microsoft.UI.Xaml.IApplication2 (1)
"!Microsoft.UI.Xaml.IApplication2::remove_ResourceManagerRequested",
// Microsoft.UI.Xaml.IDataTemplate (1)
"!Microsoft.UI.Xaml.IDataTemplate::LoadContent",
// Microsoft.UI.Xaml.IFrameworkElementOverrides (2)
"!Microsoft.UI.Xaml.IFrameworkElementOverrides::OnApplyTemplate",
"!Microsoft.UI.Xaml.IFrameworkElementOverrides::GoToElementStateCore",
// Microsoft.UI.Xaml.IFrameworkElementProtected (1)
"!Microsoft.UI.Xaml.IFrameworkElementProtected::InvalidateViewport",
// Microsoft.UI.Xaml.ILaunchActivatedEventArgs (1)
"!Microsoft.UI.Xaml.ILaunchActivatedEventArgs::Arguments",
// Microsoft.UI.Xaml.IResourceDictionary (2)
"!Microsoft.UI.Xaml.IResourceDictionary::get_Source",
"!Microsoft.UI.Xaml.IResourceDictionary::ThemeDictionaries",
// Microsoft.UI.Xaml.IRoutedEventArgs (1)
"!Microsoft.UI.Xaml.IRoutedEventArgs::OriginalSource",
// Microsoft.UI.Xaml.IUIElementOverrides (4)
"!Microsoft.UI.Xaml.IUIElementOverrides::OnCreateAutomationPeer",
"!Microsoft.UI.Xaml.IUIElementOverrides::OnDisconnectVisualChildren",
"!Microsoft.UI.Xaml.IUIElementOverrides::GetChildrenInTabFocusOrder",
"!Microsoft.UI.Xaml.IUIElementOverrides::OnKeyboardAcceleratorInvoked",
// Microsoft.UI.Xaml.Automation.Peers.IFrameworkElementAutomationPeer (1)
"!Microsoft.UI.Xaml.Automation.Peers.IFrameworkElementAutomationPeer::Owner",
// Microsoft.UI.Xaml.Controls.IComboBoxOverrides (2)
"!Microsoft.UI.Xaml.Controls.IComboBoxOverrides::OnDropDownClosed",
"!Microsoft.UI.Xaml.Controls.IComboBoxOverrides::OnDropDownOpened",
// Microsoft.UI.Xaml.Controls.IContentControlOverrides (2)
"!Microsoft.UI.Xaml.Controls.IContentControlOverrides::OnContentChanged",
"!Microsoft.UI.Xaml.Controls.IContentControlOverrides::OnContentTemplateChanged",
// Microsoft.UI.Xaml.Controls.IControlOverrides (all 12 methods unused —
// we never subclass Control to react to focus/pointer/tap callbacks).
"?Microsoft.UI.Xaml.Controls.IControlOverrides",
// Microsoft.UI.Xaml.Controls.IControlProtected (2)
"!Microsoft.UI.Xaml.Controls.IControlProtected::DefaultStyleKey",
"!Microsoft.UI.Xaml.Controls.IControlProtected::GetTemplateChild",
// Microsoft.UI.Xaml.Controls.IFlipView (1)
"!Microsoft.UI.Xaml.Controls.IFlipView::UseTouchAnimationsForAllNavigation",
// Microsoft.UI.Xaml.Controls.IItemContainerMapping (4)
"!Microsoft.UI.Xaml.Controls.IItemContainerMapping::ItemFromContainer",
"!Microsoft.UI.Xaml.Controls.IItemContainerMapping::ContainerFromItem",
"!Microsoft.UI.Xaml.Controls.IItemContainerMapping::IndexFromContainer",
"!Microsoft.UI.Xaml.Controls.IItemContainerMapping::ContainerFromIndex",
// Microsoft.UI.Xaml.Controls.IItemsControl (5)
"!Microsoft.UI.Xaml.Controls.IItemsControl::ItemsSource",
"!Microsoft.UI.Xaml.Controls.IItemsControl::DisplayMemberPath",
"!Microsoft.UI.Xaml.Controls.IItemsControl::ItemsPanelRoot",
"!Microsoft.UI.Xaml.Controls.IItemsControl::IsGrouping",
"!Microsoft.UI.Xaml.Controls.IItemsControl::GroupHeaderContainerFromItemContainer",
// Microsoft.UI.Xaml.Controls.IItemsControlOverrides (6)
"!Microsoft.UI.Xaml.Controls.IItemsControlOverrides::IsItemItsOwnContainerOverride",
"!Microsoft.UI.Xaml.Controls.IItemsControlOverrides::GetContainerForItemOverride",
"!Microsoft.UI.Xaml.Controls.IItemsControlOverrides::ClearContainerForItemOverride",
"!Microsoft.UI.Xaml.Controls.IItemsControlOverrides::PrepareContainerForItemOverride",
"!Microsoft.UI.Xaml.Controls.IItemsControlOverrides::OnItemsChanged",
"!Microsoft.UI.Xaml.Controls.IItemsControlOverrides::OnItemTemplateChanged",
// Microsoft.UI.Xaml.Controls.INavigationViewItem (1)
"!Microsoft.UI.Xaml.Controls.INavigationViewItem::CompactPaneLength",
// Microsoft.UI.Xaml.Controls.INavigationViewItem2 (3)
"!Microsoft.UI.Xaml.Controls.INavigationViewItem2::SelectsOnInvoked",
"!Microsoft.UI.Xaml.Controls.INavigationViewItem2::HasUnrealizedChildren",
"!Microsoft.UI.Xaml.Controls.INavigationViewItem2::MenuItemsSource",
// Microsoft.UI.Xaml.Controls.INavigationViewItem3 (1)
"!Microsoft.UI.Xaml.Controls.INavigationViewItem3::put_InfoBadge",
// Microsoft.UI.Xaml.Controls.INavigationViewItemBase2 (1)
"!Microsoft.UI.Xaml.Controls.INavigationViewItemBase2::IsSelected",
// Microsoft.UI.Xaml.Controls.INavigationViewSelectionChangedEventArgs (1)
"!Microsoft.UI.Xaml.Controls.INavigationViewSelectionChangedEventArgs::IsSettingsSelected",
// Microsoft.UI.Xaml.Controls.INavigationViewSelectionChangedEventArgs2 (1)
"!Microsoft.UI.Xaml.Controls.INavigationViewSelectionChangedEventArgs2::SelectedItemContainer",
// Microsoft.UI.Xaml.Controls.IPanel (1)
"!Microsoft.UI.Xaml.Controls.IPanel::IsItemsHost",
// Microsoft.UI.Xaml.Controls.IScrollAnchorProvider (3)
"!Microsoft.UI.Xaml.Controls.IScrollAnchorProvider::CurrentAnchor",
"!Microsoft.UI.Xaml.Controls.IScrollAnchorProvider::RegisterAnchorCandidate",
"!Microsoft.UI.Xaml.Controls.IScrollAnchorProvider::UnregisterAnchorCandidate",
// Microsoft.UI.Xaml.Controls.ISelectionChangedEventArgs (2)
"!Microsoft.UI.Xaml.Controls.ISelectionChangedEventArgs::AddedItems",
"!Microsoft.UI.Xaml.Controls.ISelectionChangedEventArgs::RemovedItems",
// Microsoft.UI.Xaml.Controls.ISemanticZoomInformation (4)
"!Microsoft.UI.Xaml.Controls.ISemanticZoomInformation::IsActiveView",
"!Microsoft.UI.Xaml.Controls.ISemanticZoomInformation::IsZoomedInView",
"!Microsoft.UI.Xaml.Controls.ISemanticZoomInformation::InitializeViewChange",
"!Microsoft.UI.Xaml.Controls.ISemanticZoomInformation::CompleteViewChange",
// Microsoft.UI.Xaml.Controls.ITabView2 (5)
"!Microsoft.UI.Xaml.Controls.ITabView2::CanTearOutTabs",
"!Microsoft.UI.Xaml.Controls.ITabView2::remove_TabTearOutWindowRequested",
"!Microsoft.UI.Xaml.Controls.ITabView2::remove_TabTearOutRequested",
"!Microsoft.UI.Xaml.Controls.ITabView2::remove_ExternalTornOutTabsDropping",
"!Microsoft.UI.Xaml.Controls.ITabView2::remove_ExternalTornOutTabsDropped",
// Microsoft.UI.Xaml.Controls.IToggleSwitchOverrides (4)
"!Microsoft.UI.Xaml.Controls.IToggleSwitchOverrides::OnToggled",
"!Microsoft.UI.Xaml.Controls.IToggleSwitchOverrides::OnOnContentChanged",
"!Microsoft.UI.Xaml.Controls.IToggleSwitchOverrides::OnOffContentChanged",
"!Microsoft.UI.Xaml.Controls.IToggleSwitchOverrides::OnHeaderChanged",
// Microsoft.UI.Xaml.Controls.IUIElementCollection (1)
"!Microsoft.UI.Xaml.Controls.IUIElementCollection::Move",
// Microsoft.UI.Xaml.Controls.IXamlControlsResources (1)
"!Microsoft.UI.Xaml.Controls.IXamlControlsResources::UseCompactResources",
// Microsoft.UI.Xaml.Controls.Primitives.IRangeBaseOverrides (3)
"!Microsoft.UI.Xaml.Controls.Primitives.IRangeBaseOverrides::OnMinimumChanged",
"!Microsoft.UI.Xaml.Controls.Primitives.IRangeBaseOverrides::OnMaximumChanged",
"!Microsoft.UI.Xaml.Controls.Primitives.IRangeBaseOverrides::OnValueChanged",
// Microsoft.UI.Xaml.Controls.Primitives.IRangeBaseValueChangedEventArgs (1)
"!Microsoft.UI.Xaml.Controls.Primitives.IRangeBaseValueChangedEventArgs::OldValue",
// Microsoft.UI.Xaml.Controls.Primitives.IScrollSnapPointsInfo (4)
"!Microsoft.UI.Xaml.Controls.Primitives.IScrollSnapPointsInfo::AreHorizontalSnapPointsRegular",
"!Microsoft.UI.Xaml.Controls.Primitives.IScrollSnapPointsInfo::AreVerticalSnapPointsRegular",
"!Microsoft.UI.Xaml.Controls.Primitives.IScrollSnapPointsInfo::HorizontalSnapPointsChanged",
"!Microsoft.UI.Xaml.Controls.Primitives.IScrollSnapPointsInfo::VerticalSnapPointsChanged",
// Microsoft.UI.Xaml.Controls.Primitives.ISelectorItem (1)
"!Microsoft.UI.Xaml.Controls.Primitives.ISelectorItem::IsSelected",
// Microsoft.UI.Xaml.Controls.Primitives.IToggleButtonOverrides (1)
"!Microsoft.UI.Xaml.Controls.Primitives.IToggleButtonOverrides::OnToggle",
// Microsoft.UI.Xaml.Input.IKeyboardAcceleratorInvokedEventArgs (1)
"!Microsoft.UI.Xaml.Input.IKeyboardAcceleratorInvokedEventArgs::get_Handled",
// Microsoft.UI.Xaml.Media.Imaging.IBitmapSource (2)
"!Microsoft.UI.Xaml.Media.Imaging.IBitmapSource::PixelWidth",
"!Microsoft.UI.Xaml.Media.Imaging.IBitmapSource::PixelHeight",
// Microsoft.UI.Xaml.Shapes.IRectangle (2)
"!Microsoft.UI.Xaml.Shapes.IRectangle::get_RadiusX",
"!Microsoft.UI.Xaml.Shapes.IRectangle::get_RadiusY",
// Windows.Foundation.IStringable (1)
"!Windows.Foundation.IStringable::ToString",
// Microsoft.UI.Xaml.Controls.IToolTip (7 unused; ToolTip is only
// used as a vehicle for rich content via IContentControl::Content).
"!Microsoft.UI.Xaml.Controls.IToolTip::HorizontalOffset",
"!Microsoft.UI.Xaml.Controls.IToolTip::VerticalOffset",
"!Microsoft.UI.Xaml.Controls.IToolTip::IsOpen",
"!Microsoft.UI.Xaml.Controls.IToolTip::Placement",
"!Microsoft.UI.Xaml.Controls.IToolTip::PlacementTarget",
"!Microsoft.UI.Xaml.Controls.IToolTip::Opened",
"!Microsoft.UI.Xaml.Controls.IToolTip::Closed",
// Windows.Foundation.IUriRuntimeClass (all methods unused; only
// CreateUri on the factory is reached).
"!Windows.Foundation.IUriRuntimeClass::AbsoluteUri",
"!Windows.Foundation.IUriRuntimeClass::DisplayUri",
"!Windows.Foundation.IUriRuntimeClass::Domain",
"!Windows.Foundation.IUriRuntimeClass::Host",
"!Windows.Foundation.IUriRuntimeClass::Path",
"!Windows.Foundation.IUriRuntimeClass::Query",
"!Windows.Foundation.IUriRuntimeClass::QueryParsed",
"!Windows.Foundation.IUriRuntimeClass::RawUri",
"!Windows.Foundation.IUriRuntimeClass::SchemeName",
"!Windows.Foundation.IUriRuntimeClass::UserName",
"!Windows.Foundation.IUriRuntimeClass::Port",
"!Windows.Foundation.IUriRuntimeClass::Suspicious",
"!Windows.Foundation.IUriRuntimeClass::Equals",
"!Windows.Foundation.IUriRuntimeClass::CombineUri",
"!Windows.Foundation.IUriRuntimeClass::Extension",
"!Windows.Foundation.IUriRuntimeClass::Fragment",
"!Windows.Foundation.IUriRuntimeClass::Password",
// Windows.Foundation.IUriRuntimeClassWithAbsoluteCanonicalUri (2)
"!Windows.Foundation.IUriRuntimeClassWithAbsoluteCanonicalUri::AbsoluteCanonicalUri",
"!Windows.Foundation.IUriRuntimeClassWithAbsoluteCanonicalUri::DisplayIri",
// ---- Round 6: unused-method audit across remaining interfaces ----
// Fully-unused interfaces (suppress all callable methods with `?`).
// Composition fanout — only `apply_implicit_transitions` /
// `run_property_animation_inner` in winui/backend touch this graph.
"?Microsoft.UI.Composition.ICompositionAnimation",
"?Microsoft.UI.Composition.ICompositionAnimation4",
"?Microsoft.UI.Composition.ICompositor5",
"?Microsoft.UI.Composition.ICubicBezierEasingFunction",
"?Microsoft.UI.Composition.IVisual2",
"?Microsoft.UI.Composition.IVisual4",
// AppWindow non-default surface: not used (we only Create / SetPresenter /
// Resize / SetIcon-via-Title / Show / Closing).
"?Microsoft.UI.Windowing.IAppWindow2",
"?Microsoft.UI.Windowing.IAppWindow4",
// IVisualElement2::GetVisualInternal is pulled in via FrameworkElement
// cascade but Visual is reached via ElementCompositionPreview instead.
"?Microsoft.UI.Composition.IVisualElement2",
// Partially-unused interfaces (deny per method).
// Microsoft.UI.Composition.IVisual (13 unused)
"!Microsoft.UI.Composition.IVisual::get_AnchorPoint",
"!Microsoft.UI.Composition.IVisual::get_IsVisible",
"!Microsoft.UI.Composition.IVisual::get_RotationAngle",
"!Microsoft.UI.Composition.IVisual::get_RotationAxis",
"!Microsoft.UI.Composition.IVisual::get_TransformMatrix",
"!Microsoft.UI.Composition.IVisual::put_AnchorPoint",
"!Microsoft.UI.Composition.IVisual::put_IsVisible",
"!Microsoft.UI.Composition.IVisual::put_Offset",
"!Microsoft.UI.Composition.IVisual::put_RotationAngle",
"!Microsoft.UI.Composition.IVisual::put_RotationAngleInDegrees",
"!Microsoft.UI.Composition.IVisual::put_RotationAxis",
"!Microsoft.UI.Composition.IVisual::put_Scale",
"!Microsoft.UI.Composition.IVisual::put_TransformMatrix",
// Microsoft.UI.Composition.IVisual3 (1 unused)
"!Microsoft.UI.Composition.IVisual3::put_IsHitTestVisible",
// Microsoft.UI.Composition.IKeyFrameAnimation (5 unused —
// InsertExpressionKeyFrame can't be denied because the
// WithEasingFunction overload shares its winmd name).
"!Microsoft.UI.Composition.IKeyFrameAnimation::get_DelayTime",
"!Microsoft.UI.Composition.IKeyFrameAnimation::get_IterationCount",
"!Microsoft.UI.Composition.IKeyFrameAnimation::get_KeyFrameCount",
"!Microsoft.UI.Composition.IKeyFrameAnimation::put_DelayTime",
"!Microsoft.UI.Composition.IKeyFrameAnimation::put_IterationCount",
// Microsoft.UI.Composition.ICompositionObject (1 unused — only
// StartAnimation is called).
"!Microsoft.UI.Composition.ICompositionObject::StopAnimation",
// Microsoft.UI.Composition.ICompositionObject2 (5 unused — only
// SetImplicitAnimations is called).
"!Microsoft.UI.Composition.ICompositionObject2::get_Comment",
"!Microsoft.UI.Composition.ICompositionObject2::get_ImplicitAnimations",
"!Microsoft.UI.Composition.ICompositionObject2::put_Comment",
"!Microsoft.UI.Composition.ICompositionObject2::StartAnimationGroup",
"!Microsoft.UI.Composition.ICompositionObject2::StopAnimationGroup",
// Microsoft.UI.Composition.ICompositionObjectStatics renamed overloads
// (only the IAnimationObject variants exist on this statics interface;
// we don't use any of them — class `CompositionObject` is reached via
// ElementCompositionPreview::GetElementVisual). Denied by overload
// name (microsoft/windows-rs#4423).
"!Microsoft.UI.Composition.ICompositionObjectStatics::StartAnimationWithIAnimationObject",
"!Microsoft.UI.Composition.ICompositionObjectStatics::StartAnimationGroupWithIAnimationObject",
// Microsoft.UI.Composition.ICompositionAnimation2 (2 unused — only
// SetTarget (= put_Target) is called; deny just the boolean param
// setter and the Target getter).
"!Microsoft.UI.Composition.ICompositionAnimation2::SetBooleanParameter",
"!Microsoft.UI.Composition.ICompositionAnimation2::get_Target",
// Microsoft.UI.Windowing.IAppWindow (unused getters / event removes;
// ShowWithActivation is a winmd overload of Show — denied by its
// `[overload("…")]` Rust name (microsoft/windows-rs#4423). The
// SetIcon(IconId) overload is already pruned via type cascade).
"!Microsoft.UI.Windowing.IAppWindow::get_IsShownInSwitchers",
"!Microsoft.UI.Windowing.IAppWindow::get_IsVisible",
"!Microsoft.UI.Windowing.IAppWindow::get_Title",
"!Microsoft.UI.Windowing.IAppWindow::remove_Changed",
"!Microsoft.UI.Windowing.IAppWindow::remove_Closing",
"!Microsoft.UI.Windowing.IAppWindow::remove_Destroying",
"!Microsoft.UI.Windowing.IAppWindow::put_IsShownInSwitchers",
"!Microsoft.UI.Windowing.IAppWindow::ShowWithActivation",
// Microsoft.UI.Windowing.IAppWindow3 (1 unused)
"!Microsoft.UI.Windowing.IAppWindow3::AssociateWithDispatcherQueue",
// Microsoft.UI.Xaml.IXamlRoot (3 unused — only Content is read).
"!Microsoft.UI.Xaml.IXamlRoot::get_IsHostVisible",
"!Microsoft.UI.Xaml.IXamlRoot::get_RasterizationScale",
"!Microsoft.UI.Xaml.IXamlRoot::remove_Changed",
// Microsoft.UI.Xaml.IWindowEventArgs (1 unused — Handled is only
// ever written via put_Handled in our code paths).
"!Microsoft.UI.Xaml.IWindowEventArgs::get_Handled",
// Microsoft.UI.Xaml.Input.ITappedRoutedEventArgs (1 unused)
"!Microsoft.UI.Xaml.Input.ITappedRoutedEventArgs::get_Handled",
// Microsoft.UI.Xaml.Input.IRightTappedRoutedEventArgs (1 unused)
"!Microsoft.UI.Xaml.Input.IRightTappedRoutedEventArgs::get_Handled",
// Microsoft.UI.Xaml.Controls.IItemsControl (1 unused — getter is
// already denied above; setter is the leftover).
"!Microsoft.UI.Xaml.Controls.IItemsControl::put_ItemTemplate",
// Microsoft.UI.Xaml.Controls.INavigationViewItem2 (2 unused —
// IsChildSelected is a child-selection helper we don't surface).
"!Microsoft.UI.Xaml.Controls.INavigationViewItem2::get_IsChildSelected",
"!Microsoft.UI.Xaml.Controls.INavigationViewItem2::put_IsChildSelected",
];
_ = windows_bindgen::bindgen(args);
}
windows_core::link!("ole32.dll" "system" fn CoInitializeEx(pvreserved : *const core::ffi::c_void, dwcoinit : u32) -> windows_core::HRESULT);
windows_core::link!("kernel32.dll" "system" fn GetProcAddress(hmodule : HMODULE, lpprocname : windows_core::PCSTR) -> FARPROC);
windows_core::link!("kernel32.dll" "system" fn LoadLibraryA(lplibfilename : windows_core::PCSTR) -> HMODULE);
windows_core::link!("user32.dll" "system" fn PostMessageW(hwnd : HWND, msg : u32, wparam : WPARAM, lparam : LPARAM) -> windows_core::BOOL);
windows_core::link!("user32.dll" "system" fn SetProcessDpiAwarenessContext(value : DPI_AWARENESS_CONTEXT) -> windows_core::BOOL);
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct AppWindow(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
AppWindow,
windows_core::IUnknown,
windows_core::IInspectable
);
impl AppWindow {
pub fn Create() -> windows_core::Result<AppWindow> {
Self::IAppWindowStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).Create)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
fn IAppWindowStatics<R, F: FnOnce(&IAppWindowStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<AppWindow, IAppWindowStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IAppWindowStatics2<R, F: FnOnce(&IAppWindowStatics2) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<AppWindow, IAppWindowStatics2> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for AppWindow {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IAppWindow>();
}
unsafe impl windows_core::Interface for AppWindow {
type Vtable = <IAppWindow as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IAppWindow as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for AppWindow {
const NAME: &'static str = "Microsoft.UI.Windowing.AppWindow";
}
unsafe impl Send for AppWindow {}
unsafe impl Sync for AppWindow {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct AppWindowPresenterKind(pub i32);
impl AppWindowPresenterKind {
pub const Default: Self = Self(0i32);
pub const CompactOverlay: Self = Self(1i32);
pub const FullScreen: Self = Self(2i32);
pub const Overlapped: Self = Self(3i32);
}
impl windows_core::TypeKind for AppWindowPresenterKind {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for AppWindowPresenterKind {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Windowing.AppWindowPresenterKind;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Application(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
Application,
windows_core::IUnknown,
windows_core::IInspectable
);
impl Application {
pub fn new() -> windows_core::Result<Application> {
Self::IApplicationFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<Application>
where
T: windows_core::Compose,
{
Self::IApplicationFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
pub fn Current() -> windows_core::Result<Application> {
Self::IApplicationStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).Current)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn Start<P0>(callback: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<ApplicationInitializationCallback>,
{
Self::IApplicationStatics(|this| unsafe {
(windows_core::Interface::vtable(this).Start)(
windows_core::Interface::as_raw(this),
callback.param().abi(),
)
.ok()
})
}
fn IApplicationFactory<R, F: FnOnce(&IApplicationFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Application, IApplicationFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IApplicationStatics<R, F: FnOnce(&IApplicationStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Application, IApplicationStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Application {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IApplication>();
}
unsafe impl windows_core::Interface for Application {
type Vtable = <IApplication as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IApplication as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Application {
const NAME: &'static str = "Microsoft.UI.Xaml.Application";
}
unsafe impl Send for Application {}
unsafe impl Sync for Application {}
windows_core::imp::define_interface!(
ApplicationInitializationCallback,
ApplicationInitializationCallback_Vtbl,
0xd8eef1c9_1234_56f1_9963_45dd9c80a661
);
impl windows_core::RuntimeType for ApplicationInitializationCallback {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ApplicationInitializationCallback {
pub fn new<
F: Fn(
windows_core::Ref<ApplicationInitializationCallbackParams>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(
invoke: F,
) -> Self {
let com = windows_core::imp::DelegateBox::<ApplicationInitializationCallback, F>::new(
&ApplicationInitializationCallbackBox::<F>::VTABLE,
invoke,
);
unsafe { core::mem::transmute(windows_core::imp::Box::new(com)) }
}
pub fn Invoke<P0>(&self, p: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<ApplicationInitializationCallbackParams>,
{
unsafe {
(windows_core::Interface::vtable(self).Invoke)(
windows_core::Interface::as_raw(self),
p.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ApplicationInitializationCallback_Vtbl {
base__: windows_core::IUnknown_Vtbl,
Invoke: unsafe extern "system" fn(
this: *mut core::ffi::c_void,
p: *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
struct ApplicationInitializationCallbackBox<
F: Fn(windows_core::Ref<ApplicationInitializationCallbackParams>) -> windows_core::Result<()>
+ Send
+ 'static,
>(core::marker::PhantomData<(fn() -> F,)>);
impl<
F: Fn(
windows_core::Ref<ApplicationInitializationCallbackParams>,
) -> windows_core::Result<()>
+ Send
+ 'static,
> ApplicationInitializationCallbackBox<F>
{
const VTABLE: ApplicationInitializationCallback_Vtbl = ApplicationInitializationCallback_Vtbl {
base__:
windows_core::IUnknown_Vtbl {
QueryInterface: windows_core::imp::DelegateBox::<
ApplicationInitializationCallback,
F,
>::QueryInterface,
AddRef:
windows_core::imp::DelegateBox::<ApplicationInitializationCallback, F>::AddRef,
Release:
windows_core::imp::DelegateBox::<ApplicationInitializationCallback, F>::Release,
},
Invoke: Self::Invoke,
};
unsafe extern "system" fn Invoke(
this: *mut core::ffi::c_void,
p: *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this = &mut *(this as *mut *mut core::ffi::c_void
as *mut windows_core::imp::DelegateBox<ApplicationInitializationCallback, F>);
(this.invoke)(core::mem::transmute_copy(&p)).into()
}
}
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ApplicationInitializationCallbackParams(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ApplicationInitializationCallbackParams,
windows_core::IUnknown,
windows_core::IInspectable
);
impl ApplicationInitializationCallbackParams {}
impl windows_core::RuntimeType for ApplicationInitializationCallbackParams {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_class::<
Self,
IApplicationInitializationCallbackParams,
>();
}
unsafe impl windows_core::Interface for ApplicationInitializationCallbackParams {
type Vtable = <IApplicationInitializationCallbackParams as windows_core::Interface>::Vtable;
const IID: windows_core::GUID =
<IApplicationInitializationCallbackParams as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ApplicationInitializationCallbackParams {
const NAME: &'static str = "Microsoft.UI.Xaml.ApplicationInitializationCallbackParams";
}
unsafe impl Send for ApplicationInitializationCallbackParams {}
unsafe impl Sync for ApplicationInitializationCallbackParams {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct AutomationHeadingLevel(pub i32);
impl AutomationHeadingLevel {
pub const None: Self = Self(0i32);
pub const Level1: Self = Self(1i32);
pub const Level2: Self = Self(2i32);
pub const Level3: Self = Self(3i32);
pub const Level4: Self = Self(4i32);
pub const Level5: Self = Self(5i32);
pub const Level6: Self = Self(6i32);
pub const Level7: Self = Self(7i32);
pub const Level8: Self = Self(8i32);
pub const Level9: Self = Self(9i32);
}
impl windows_core::TypeKind for AutomationHeadingLevel {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for AutomationHeadingLevel {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Xaml.Automation.Peers.AutomationHeadingLevel;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct AutomationLiveSetting(pub i32);
impl AutomationLiveSetting {
pub const Off: Self = Self(0i32);
pub const Polite: Self = Self(1i32);
pub const Assertive: Self = Self(2i32);
}
impl windows_core::TypeKind for AutomationLiveSetting {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for AutomationLiveSetting {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Xaml.Automation.Peers.AutomationLiveSetting;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct AutomationPeer(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
AutomationPeer,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(AutomationPeer, DependencyObject);
impl AutomationPeer {
pub fn new() -> windows_core::Result<AutomationPeer> {
Self::IAutomationPeerFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<AutomationPeer>
where
T: windows_core::Compose,
{
Self::IAutomationPeerFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IAutomationPeerFactory<R, F: FnOnce(&IAutomationPeerFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<AutomationPeer, IAutomationPeerFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IAutomationPeerStatics<R, F: FnOnce(&IAutomationPeerStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<AutomationPeer, IAutomationPeerStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for AutomationPeer {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IAutomationPeer>();
}
unsafe impl windows_core::Interface for AutomationPeer {
type Vtable = <IAutomationPeer as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IAutomationPeer as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for AutomationPeer {
const NAME: &'static str = "Microsoft.UI.Xaml.Automation.Peers.AutomationPeer";
}
unsafe impl Send for AutomationPeer {}
unsafe impl Sync for AutomationPeer {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct AutomationProperties(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
AutomationProperties,
windows_core::IUnknown,
windows_core::IInspectable
);
impl AutomationProperties {
pub fn SetAutomationId<P0>(
element: P0,
value: &windows_core::HSTRING,
) -> windows_core::Result<()>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IAutomationPropertiesStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetAutomationId)(
windows_core::Interface::as_raw(this),
element.param().abi(),
core::mem::transmute_copy(value),
)
.ok()
})
}
pub fn SetHelpText<P0>(element: P0, value: &windows_core::HSTRING) -> windows_core::Result<()>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IAutomationPropertiesStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetHelpText)(
windows_core::Interface::as_raw(this),
element.param().abi(),
core::mem::transmute_copy(value),
)
.ok()
})
}
pub fn SetName<P0>(element: P0, value: &windows_core::HSTRING) -> windows_core::Result<()>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IAutomationPropertiesStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetName)(
windows_core::Interface::as_raw(this),
element.param().abi(),
core::mem::transmute_copy(value),
)
.ok()
})
}
pub fn SetLiveSetting<P0>(element: P0, value: AutomationLiveSetting) -> windows_core::Result<()>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IAutomationPropertiesStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetLiveSetting)(
windows_core::Interface::as_raw(this),
element.param().abi(),
value,
)
.ok()
})
}
pub fn SetHeadingLevel<P0>(
element: P0,
value: AutomationHeadingLevel,
) -> windows_core::Result<()>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IAutomationPropertiesStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetHeadingLevel)(
windows_core::Interface::as_raw(this),
element.param().abi(),
value,
)
.ok()
})
}
fn IAutomationPropertiesStatics<
R,
F: FnOnce(&IAutomationPropertiesStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
AutomationProperties,
IAutomationPropertiesStatics,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IAutomationPropertiesStatics2<
R,
F: FnOnce(&IAutomationPropertiesStatics2) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
AutomationProperties,
IAutomationPropertiesStatics2,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for AutomationProperties {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IAutomationProperties>();
}
unsafe impl windows_core::Interface for AutomationProperties {
type Vtable = <IAutomationProperties as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IAutomationProperties as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for AutomationProperties {
const NAME: &'static str = "Microsoft.UI.Xaml.Automation.AutomationProperties";
}
unsafe impl Send for AutomationProperties {}
unsafe impl Sync for AutomationProperties {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct BitmapImage(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
BitmapImage,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(BitmapImage, BitmapSource, ImageSource, DependencyObject);
impl BitmapImage {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
BitmapImage,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IBitmapImageFactory<R, F: FnOnce(&IBitmapImageFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<BitmapImage, IBitmapImageFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IBitmapImageStatics<R, F: FnOnce(&IBitmapImageStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<BitmapImage, IBitmapImageStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for BitmapImage {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IBitmapImage>();
}
unsafe impl windows_core::Interface for BitmapImage {
type Vtable = <IBitmapImage as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IBitmapImage as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for BitmapImage {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.Imaging.BitmapImage";
}
unsafe impl Send for BitmapImage {}
unsafe impl Sync for BitmapImage {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct BitmapSource(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
BitmapSource,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(BitmapSource, ImageSource, DependencyObject);
impl BitmapSource {
pub fn new() -> windows_core::Result<BitmapSource> {
Self::IBitmapSourceFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<BitmapSource>
where
T: windows_core::Compose,
{
Self::IBitmapSourceFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IBitmapSourceFactory<R, F: FnOnce(&IBitmapSourceFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<BitmapSource, IBitmapSourceFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IBitmapSourceStatics<R, F: FnOnce(&IBitmapSourceStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<BitmapSource, IBitmapSourceStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for BitmapSource {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IBitmapSource>();
}
unsafe impl windows_core::Interface for BitmapSource {
type Vtable = <IBitmapSource as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IBitmapSource as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for BitmapSource {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.Imaging.BitmapSource";
}
unsafe impl Send for BitmapSource {}
unsafe impl Sync for BitmapSource {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Border(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Border, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(
Border,
IAnimationObject,
IVisualElement,
IVisualElement2,
FrameworkElement,
UIElement,
DependencyObject
);
impl Border {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Border, windows_core::imp::IGenericFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IBorderStatics<R, F: FnOnce(&IBorderStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Border, IBorderStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Border {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IBorder>();
}
unsafe impl windows_core::Interface for Border {
type Vtable = <IBorder as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IBorder as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Border {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Border";
}
unsafe impl Send for Border {}
unsafe impl Sync for Border {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct BreadcrumbBar(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
BreadcrumbBar,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
BreadcrumbBar,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl BreadcrumbBar {
pub fn new() -> windows_core::Result<BreadcrumbBar> {
Self::IBreadcrumbBarFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<BreadcrumbBar>
where
T: windows_core::Compose,
{
Self::IBreadcrumbBarFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IBreadcrumbBarFactory<R, F: FnOnce(&IBreadcrumbBarFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<BreadcrumbBar, IBreadcrumbBarFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IBreadcrumbBarStatics<R, F: FnOnce(&IBreadcrumbBarStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<BreadcrumbBar, IBreadcrumbBarStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for BreadcrumbBar {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IBreadcrumbBar>();
}
unsafe impl windows_core::Interface for BreadcrumbBar {
type Vtable = <IBreadcrumbBar as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IBreadcrumbBar as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for BreadcrumbBar {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.BreadcrumbBar";
}
unsafe impl Send for BreadcrumbBar {}
unsafe impl Sync for BreadcrumbBar {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Brush(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Brush, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(Brush, IAnimationObject, DependencyObject);
impl Brush {
pub fn new() -> windows_core::Result<Brush> {
Self::IBrushFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<Brush>
where
T: windows_core::Compose,
{
Self::IBrushFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IBrushFactory<R, F: FnOnce(&IBrushFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Brush, IBrushFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IBrushStatics<R, F: FnOnce(&IBrushStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Brush, IBrushStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Brush {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IBrush>();
}
unsafe impl windows_core::Interface for Brush {
type Vtable = <IBrush as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IBrush as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Brush {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.Brush";
}
unsafe impl Send for Brush {}
unsafe impl Sync for Brush {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Button(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Button, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(
Button,
IAnimationObject,
IVisualElement,
IVisualElement2,
ButtonBase,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl Button {
pub fn new() -> windows_core::Result<Button> {
Self::IButtonFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<Button>
where
T: windows_core::Compose,
{
Self::IButtonFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IButtonFactory<R, F: FnOnce(&IButtonFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Button, IButtonFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IButtonStatics<R, F: FnOnce(&IButtonStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Button, IButtonStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Button {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IButton>();
}
unsafe impl windows_core::Interface for Button {
type Vtable = <IButton as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IButton as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Button {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Button";
}
unsafe impl Send for Button {}
unsafe impl Sync for Button {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ButtonAutomationPeer(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ButtonAutomationPeer,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ButtonAutomationPeer,
IInvokeProvider,
ButtonBaseAutomationPeer,
FrameworkElementAutomationPeer,
AutomationPeer,
DependencyObject
);
impl ButtonAutomationPeer {
pub fn CreateInstanceWithOwner<P0>(owner: P0) -> windows_core::Result<ButtonAutomationPeer>
where
P0: windows_core::Param<Button>,
{
Self::IButtonAutomationPeerFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstanceWithOwner)(
windows_core::Interface::as_raw(this),
owner.param().abi(),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn CreateInstanceWithOwner_compose<P0, T>(
owner: P0,
compose: T,
) -> windows_core::Result<ButtonAutomationPeer>
where
P0: windows_core::Param<Button>,
T: windows_core::Compose,
{
Self::IButtonAutomationPeerFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstanceWithOwner)(
windows_core::Interface::as_raw(this),
owner.param().abi(),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IButtonAutomationPeerFactory<
R,
F: FnOnce(&IButtonAutomationPeerFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
ButtonAutomationPeer,
IButtonAutomationPeerFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ButtonAutomationPeer {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IButtonAutomationPeer>();
}
unsafe impl windows_core::Interface for ButtonAutomationPeer {
type Vtable = <IButtonAutomationPeer as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IButtonAutomationPeer as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ButtonAutomationPeer {
const NAME: &'static str = "Microsoft.UI.Xaml.Automation.Peers.ButtonAutomationPeer";
}
unsafe impl Send for ButtonAutomationPeer {}
unsafe impl Sync for ButtonAutomationPeer {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ButtonBase(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ButtonBase,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ButtonBase,
IAnimationObject,
IVisualElement,
IVisualElement2,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ButtonBase {
pub fn new() -> windows_core::Result<ButtonBase> {
Self::IButtonBaseFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ButtonBase>
where
T: windows_core::Compose,
{
Self::IButtonBaseFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IButtonBaseFactory<R, F: FnOnce(&IButtonBaseFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ButtonBase, IButtonBaseFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IButtonBaseStatics<R, F: FnOnce(&IButtonBaseStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ButtonBase, IButtonBaseStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ButtonBase {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IButtonBase>();
}
unsafe impl windows_core::Interface for ButtonBase {
type Vtable = <IButtonBase as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IButtonBase as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ButtonBase {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Primitives.ButtonBase";
}
unsafe impl Send for ButtonBase {}
unsafe impl Sync for ButtonBase {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ButtonBaseAutomationPeer(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ButtonBaseAutomationPeer,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ButtonBaseAutomationPeer,
FrameworkElementAutomationPeer,
AutomationPeer,
DependencyObject
);
impl ButtonBaseAutomationPeer {
pub fn CreateInstanceWithOwner<P0>(owner: P0) -> windows_core::Result<ButtonBaseAutomationPeer>
where
P0: windows_core::Param<ButtonBase>,
{
Self::IButtonBaseAutomationPeerFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstanceWithOwner)(
windows_core::Interface::as_raw(this),
owner.param().abi(),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn CreateInstanceWithOwner_compose<P0, T>(
owner: P0,
compose: T,
) -> windows_core::Result<ButtonBaseAutomationPeer>
where
P0: windows_core::Param<ButtonBase>,
T: windows_core::Compose,
{
Self::IButtonBaseAutomationPeerFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstanceWithOwner)(
windows_core::Interface::as_raw(this),
owner.param().abi(),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IButtonBaseAutomationPeerFactory<
R,
F: FnOnce(&IButtonBaseAutomationPeerFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
ButtonBaseAutomationPeer,
IButtonBaseAutomationPeerFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ButtonBaseAutomationPeer {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IButtonBaseAutomationPeer>();
}
unsafe impl windows_core::Interface for ButtonBaseAutomationPeer {
type Vtable = <IButtonBaseAutomationPeer as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IButtonBaseAutomationPeer as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ButtonBaseAutomationPeer {
const NAME: &'static str = "Microsoft.UI.Xaml.Automation.Peers.ButtonBaseAutomationPeer";
}
unsafe impl Send for ButtonBaseAutomationPeer {}
unsafe impl Sync for ButtonBaseAutomationPeer {}
pub type COINIT = i32;
pub const COINIT_APARTMENTTHREADED: COINIT = 2i32;
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Canvas(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Canvas, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(
Canvas,
IAnimationObject,
IVisualElement,
IVisualElement2,
Panel,
FrameworkElement,
UIElement,
DependencyObject
);
impl Canvas {
pub fn new() -> windows_core::Result<Canvas> {
Self::ICanvasFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<Canvas>
where
T: windows_core::Compose,
{
Self::ICanvasFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
pub fn GetLeft<P0>(element: P0) -> windows_core::Result<f64>
where
P0: windows_core::Param<UIElement>,
{
Self::ICanvasStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetLeft)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.map(|| result__)
})
}
pub fn SetLeft<P0>(element: P0, length: f64) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
{
Self::ICanvasStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetLeft)(
windows_core::Interface::as_raw(this),
element.param().abi(),
length,
)
.ok()
})
}
pub fn GetTop<P0>(element: P0) -> windows_core::Result<f64>
where
P0: windows_core::Param<UIElement>,
{
Self::ICanvasStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetTop)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.map(|| result__)
})
}
pub fn SetTop<P0>(element: P0, length: f64) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
{
Self::ICanvasStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetTop)(
windows_core::Interface::as_raw(this),
element.param().abi(),
length,
)
.ok()
})
}
pub fn GetZIndex<P0>(element: P0) -> windows_core::Result<i32>
where
P0: windows_core::Param<UIElement>,
{
Self::ICanvasStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetZIndex)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.map(|| result__)
})
}
pub fn SetZIndex<P0>(element: P0, value: i32) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
{
Self::ICanvasStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetZIndex)(
windows_core::Interface::as_raw(this),
element.param().abi(),
value,
)
.ok()
})
}
fn ICanvasFactory<R, F: FnOnce(&ICanvasFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Canvas, ICanvasFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn ICanvasStatics<R, F: FnOnce(&ICanvasStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Canvas, ICanvasStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Canvas {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ICanvas>();
}
unsafe impl windows_core::Interface for Canvas {
type Vtable = <ICanvas as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ICanvas as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Canvas {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Canvas";
}
unsafe impl Send for Canvas {}
unsafe impl Sync for Canvas {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct CheckBox(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
CheckBox,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
CheckBox,
IAnimationObject,
IVisualElement,
IVisualElement2,
ToggleButton,
ButtonBase,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl CheckBox {
pub fn new() -> windows_core::Result<CheckBox> {
Self::ICheckBoxFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<CheckBox>
where
T: windows_core::Compose,
{
Self::ICheckBoxFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn ICheckBoxFactory<R, F: FnOnce(&ICheckBoxFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<CheckBox, ICheckBoxFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for CheckBox {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ICheckBox>();
}
unsafe impl windows_core::Interface for CheckBox {
type Vtable = <ICheckBox as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ICheckBox as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for CheckBox {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.CheckBox";
}
unsafe impl Send for CheckBox {}
unsafe impl Sync for CheckBox {}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct Color {
pub A: u8,
pub R: u8,
pub G: u8,
pub B: u8,
}
impl windows_core::TypeKind for Color {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for Color {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::from_slice(b"struct(Windows.UI.Color;u1;u1;u1;u1)");
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ColumnDefinition(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ColumnDefinition,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(ColumnDefinition, DependencyObject);
impl ColumnDefinition {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
ColumnDefinition,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IColumnDefinitionStatics<
R,
F: FnOnce(&IColumnDefinitionStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ColumnDefinition, IColumnDefinitionStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ColumnDefinition {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IColumnDefinition>();
}
unsafe impl windows_core::Interface for ColumnDefinition {
type Vtable = <IColumnDefinition as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IColumnDefinition as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ColumnDefinition {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ColumnDefinition";
}
unsafe impl Send for ColumnDefinition {}
unsafe impl Sync for ColumnDefinition {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ColumnDefinitionCollection(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ColumnDefinitionCollection,
windows_core::IUnknown,
windows_core::IInspectable,
windows_collections::IVector<ColumnDefinition>
);
windows_core::imp::required_hierarchy!(
ColumnDefinitionCollection,
windows_collections::IIterable<ColumnDefinition>
);
impl ColumnDefinitionCollection {}
impl windows_core::RuntimeType for ColumnDefinitionCollection {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_class::<
Self,
windows_collections::IVector<ColumnDefinition>,
>();
}
unsafe impl windows_core::Interface for ColumnDefinitionCollection {
type Vtable =
<windows_collections::IVector<ColumnDefinition> as windows_core::Interface>::Vtable;
const IID: windows_core::GUID =
<windows_collections::IVector<ColumnDefinition> as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ColumnDefinitionCollection {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ColumnDefinitionCollection";
}
unsafe impl Send for ColumnDefinitionCollection {}
unsafe impl Sync for ColumnDefinitionCollection {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ComboBox(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ComboBox,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ComboBox,
IAnimationObject,
IItemContainerMapping,
IVisualElement,
IVisualElement2,
Selector,
ItemsControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ComboBox {
pub fn new() -> windows_core::Result<ComboBox> {
Self::IComboBoxFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ComboBox>
where
T: windows_core::Compose,
{
Self::IComboBoxFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IComboBoxFactory<R, F: FnOnce(&IComboBoxFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ComboBox, IComboBoxFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IComboBoxStatics<R, F: FnOnce(&IComboBoxStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ComboBox, IComboBoxStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ComboBox {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IComboBox>();
}
unsafe impl windows_core::Interface for ComboBox {
type Vtable = <IComboBox as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IComboBox as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ComboBox {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ComboBox";
}
unsafe impl Send for ComboBox {}
unsafe impl Sync for ComboBox {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct CompositionAnimation(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
CompositionAnimation,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
CompositionAnimation,
IAnimationObject,
IClosable,
ICompositionAnimationBase,
CompositionObject
);
impl CompositionAnimation {}
impl windows_core::RuntimeType for CompositionAnimation {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ICompositionAnimation>();
}
unsafe impl windows_core::Interface for CompositionAnimation {
type Vtable = <ICompositionAnimation as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ICompositionAnimation as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for CompositionAnimation {
const NAME: &'static str = "Microsoft.UI.Composition.CompositionAnimation";
}
unsafe impl Send for CompositionAnimation {}
unsafe impl Sync for CompositionAnimation {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct CompositionEasingFunction(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
CompositionEasingFunction,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
CompositionEasingFunction,
IAnimationObject,
IClosable,
CompositionObject
);
impl CompositionEasingFunction {
pub fn CreateCubicBezierEasingFunction<P0>(
owner: P0,
controlpoint1: windows_numerics::Vector2,
controlpoint2: windows_numerics::Vector2,
) -> windows_core::Result<CubicBezierEasingFunction>
where
P0: windows_core::Param<Compositor>,
{
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateCubicBezierEasingFunction)(
windows_core::Interface::as_raw(this),
owner.param().abi(),
controlpoint1,
controlpoint2,
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn CreateLinearEasingFunction<P0>(owner: P0) -> windows_core::Result<LinearEasingFunction>
where
P0: windows_core::Param<Compositor>,
{
Self::ICompositionEasingFunctionStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateLinearEasingFunction)(
windows_core::Interface::as_raw(this),
owner.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
fn ICompositionEasingFunctionStatics<
R,
F: FnOnce(&ICompositionEasingFunctionStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
CompositionEasingFunction,
ICompositionEasingFunctionStatics,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for CompositionEasingFunction {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ICompositionEasingFunction>();
}
unsafe impl windows_core::Interface for CompositionEasingFunction {
type Vtable = <ICompositionEasingFunction as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ICompositionEasingFunction as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for CompositionEasingFunction {
const NAME: &'static str = "Microsoft.UI.Composition.CompositionEasingFunction";
}
unsafe impl Send for CompositionEasingFunction {}
unsafe impl Sync for CompositionEasingFunction {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct CompositionObject(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
CompositionObject,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(CompositionObject, IAnimationObject, IClosable);
impl CompositionObject {
fn ICompositionObjectStatics<
R,
F: FnOnce(&ICompositionObjectStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
CompositionObject,
ICompositionObjectStatics,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for CompositionObject {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ICompositionObject>();
}
unsafe impl windows_core::Interface for CompositionObject {
type Vtable = <ICompositionObject as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ICompositionObject as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for CompositionObject {
const NAME: &'static str = "Microsoft.UI.Composition.CompositionObject";
}
unsafe impl Send for CompositionObject {}
unsafe impl Sync for CompositionObject {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct CompositionTarget(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
CompositionTarget,
windows_core::IUnknown,
windows_core::IInspectable
);
impl CompositionTarget {
pub fn Rendering<P0>(handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<EventHandler<windows_core::IInspectable>>,
{
Self::ICompositionTargetStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).Rendering)(
windows_core::Interface::as_raw(this),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
})
}
pub fn RemoveRendering(token: i64) -> windows_core::Result<()> {
Self::ICompositionTargetStatics(|this| unsafe {
(windows_core::Interface::vtable(this).RemoveRendering)(
windows_core::Interface::as_raw(this),
token,
)
.ok()
})
}
pub fn GetCompositorForCurrentThread() -> windows_core::Result<Compositor> {
Self::ICompositionTargetStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetCompositorForCurrentThread)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
fn ICompositionTargetStatics<
R,
F: FnOnce(&ICompositionTargetStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
CompositionTarget,
ICompositionTargetStatics,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for CompositionTarget {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ICompositionTarget>();
}
unsafe impl windows_core::Interface for CompositionTarget {
type Vtable = <ICompositionTarget as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ICompositionTarget as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for CompositionTarget {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.CompositionTarget";
}
unsafe impl Send for CompositionTarget {}
unsafe impl Sync for CompositionTarget {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Compositor(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
Compositor,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(Compositor, IClosable);
impl Compositor {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
Compositor,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
pub fn MaxGlobalPlaybackRate() -> windows_core::Result<f32> {
Self::ICompositorStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).MaxGlobalPlaybackRate)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.map(|| result__)
})
}
pub fn MinGlobalPlaybackRate() -> windows_core::Result<f32> {
Self::ICompositorStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).MinGlobalPlaybackRate)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.map(|| result__)
})
}
fn ICompositorStatics<R, F: FnOnce(&ICompositorStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Compositor, ICompositorStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Compositor {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ICompositor>();
}
unsafe impl windows_core::Interface for Compositor {
type Vtable = <ICompositor as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ICompositor as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Compositor {
const NAME: &'static str = "Microsoft.UI.Composition.Compositor";
}
unsafe impl Send for Compositor {}
unsafe impl Sync for Compositor {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ContentControl(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ContentControl,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ContentControl,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ContentControl {
pub fn new() -> windows_core::Result<ContentControl> {
Self::IContentControlFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ContentControl>
where
T: windows_core::Compose,
{
Self::IContentControlFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IContentControlFactory<R, F: FnOnce(&IContentControlFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ContentControl, IContentControlFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IContentControlStatics<R, F: FnOnce(&IContentControlStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ContentControl, IContentControlStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ContentControl {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IContentControl>();
}
unsafe impl windows_core::Interface for ContentControl {
type Vtable = <IContentControl as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IContentControl as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ContentControl {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ContentControl";
}
unsafe impl Send for ContentControl {}
unsafe impl Sync for ContentControl {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ContentDialog(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ContentDialog,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ContentDialog,
IAnimationObject,
IVisualElement,
IVisualElement2,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ContentDialog {
pub fn new() -> windows_core::Result<ContentDialog> {
Self::IContentDialogFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ContentDialog>
where
T: windows_core::Compose,
{
Self::IContentDialogFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IContentDialogFactory<R, F: FnOnce(&IContentDialogFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ContentDialog, IContentDialogFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IContentDialogStatics<R, F: FnOnce(&IContentDialogStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ContentDialog, IContentDialogStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ContentDialog {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IContentDialog>();
}
unsafe impl windows_core::Interface for ContentDialog {
type Vtable = <IContentDialog as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IContentDialog as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ContentDialog {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ContentDialog";
}
unsafe impl Send for ContentDialog {}
unsafe impl Sync for ContentDialog {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct ContentDialogButton(pub i32);
impl ContentDialogButton {
pub const None: Self = Self(0i32);
pub const Primary: Self = Self(1i32);
pub const Secondary: Self = Self(2i32);
pub const Close: Self = Self(3i32);
}
impl windows_core::TypeKind for ContentDialogButton {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for ContentDialogButton {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Xaml.Controls.ContentDialogButton;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ContentDialogClosedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ContentDialogClosedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
impl ContentDialogClosedEventArgs {}
impl windows_core::RuntimeType for ContentDialogClosedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IContentDialogClosedEventArgs>();
}
unsafe impl windows_core::Interface for ContentDialogClosedEventArgs {
type Vtable = <IContentDialogClosedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IContentDialogClosedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ContentDialogClosedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ContentDialogClosedEventArgs";
}
unsafe impl Send for ContentDialogClosedEventArgs {}
unsafe impl Sync for ContentDialogClosedEventArgs {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct ContentDialogResult(pub i32);
impl ContentDialogResult {
pub const None: Self = Self(0i32);
pub const Primary: Self = Self(1i32);
pub const Secondary: Self = Self(2i32);
}
impl windows_core::TypeKind for ContentDialogResult {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for ContentDialogResult {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Xaml.Controls.ContentDialogResult;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Control(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
Control,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
Control,
IAnimationObject,
IVisualElement,
IVisualElement2,
FrameworkElement,
UIElement,
DependencyObject
);
impl Control {
pub fn new() -> windows_core::Result<Control> {
Self::IControlFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<Control>
where
T: windows_core::Compose,
{
Self::IControlFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IControlFactory<R, F: FnOnce(&IControlFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Control, IControlFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IControlStatics<R, F: FnOnce(&IControlStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Control, IControlStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Control {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IControl>();
}
unsafe impl windows_core::Interface for Control {
type Vtable = <IControl as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IControl as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Control {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Control";
}
unsafe impl Send for Control {}
unsafe impl Sync for Control {}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct CornerRadius {
pub TopLeft: f64,
pub TopRight: f64,
pub BottomRight: f64,
pub BottomLeft: f64,
}
impl windows_core::TypeKind for CornerRadius {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for CornerRadius {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"struct(Microsoft.UI.Xaml.CornerRadius;f8;f8;f8;f8)",
);
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct CubicBezierEasingFunction(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
CubicBezierEasingFunction,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
CubicBezierEasingFunction,
IAnimationObject,
IClosable,
CompositionEasingFunction,
CompositionObject
);
impl CubicBezierEasingFunction {}
impl windows_core::RuntimeType for CubicBezierEasingFunction {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ICubicBezierEasingFunction>();
}
unsafe impl windows_core::Interface for CubicBezierEasingFunction {
type Vtable = <ICubicBezierEasingFunction as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ICubicBezierEasingFunction as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for CubicBezierEasingFunction {
const NAME: &'static str = "Microsoft.UI.Composition.CubicBezierEasingFunction";
}
unsafe impl Send for CubicBezierEasingFunction {}
unsafe impl Sync for CubicBezierEasingFunction {}
pub type DPI_AWARENESS_CONTEXT = *mut core::ffi::c_void;
pub const DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2: DPI_AWARENESS_CONTEXT = -4i32 as _;
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct DataTemplate(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
DataTemplate,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
DataTemplate,
IElementFactory,
FrameworkTemplate,
DependencyObject
);
impl DataTemplate {
pub fn new() -> windows_core::Result<DataTemplate> {
Self::IDataTemplateFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<DataTemplate>
where
T: windows_core::Compose,
{
Self::IDataTemplateFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IDataTemplateFactory<R, F: FnOnce(&IDataTemplateFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<DataTemplate, IDataTemplateFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IDataTemplateStatics<R, F: FnOnce(&IDataTemplateStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<DataTemplate, IDataTemplateStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for DataTemplate {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IDataTemplate>();
}
unsafe impl windows_core::Interface for DataTemplate {
type Vtable = <IDataTemplate as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IDataTemplate as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for DataTemplate {
const NAME: &'static str = "Microsoft.UI.Xaml.DataTemplate";
}
unsafe impl Send for DataTemplate {}
unsafe impl Sync for DataTemplate {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct DependencyObject(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
DependencyObject,
windows_core::IUnknown,
windows_core::IInspectable
);
impl DependencyObject {
pub fn new() -> windows_core::Result<DependencyObject> {
Self::IDependencyObjectFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<DependencyObject>
where
T: windows_core::Compose,
{
Self::IDependencyObjectFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IDependencyObjectFactory<
R,
F: FnOnce(&IDependencyObjectFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<DependencyObject, IDependencyObjectFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for DependencyObject {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IDependencyObject>();
}
unsafe impl windows_core::Interface for DependencyObject {
type Vtable = <IDependencyObject as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IDependencyObject as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for DependencyObject {
const NAME: &'static str = "Microsoft.UI.Xaml.DependencyObject";
}
unsafe impl Send for DependencyObject {}
unsafe impl Sync for DependencyObject {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct DispatcherQueue(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
DispatcherQueue,
windows_core::IUnknown,
windows_core::IInspectable
);
impl DispatcherQueue {
pub fn GetForCurrentThread() -> windows_core::Result<DispatcherQueue> {
Self::IDispatcherQueueStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetForCurrentThread)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
fn IDispatcherQueueStatics<
R,
F: FnOnce(&IDispatcherQueueStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<DispatcherQueue, IDispatcherQueueStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for DispatcherQueue {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IDispatcherQueue>();
}
unsafe impl windows_core::Interface for DispatcherQueue {
type Vtable = <IDispatcherQueue as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IDispatcherQueue as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for DispatcherQueue {
const NAME: &'static str = "Microsoft.UI.Dispatching.DispatcherQueue";
}
unsafe impl Send for DispatcherQueue {}
unsafe impl Sync for DispatcherQueue {}
windows_core::imp::define_interface!(
DispatcherQueueHandler,
DispatcherQueueHandler_Vtbl,
0x2e0872a9_4e29_5f14_b688_fb96d5f9d5f8
);
impl windows_core::RuntimeType for DispatcherQueueHandler {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl DispatcherQueueHandler {
pub fn new<F: Fn() -> windows_core::Result<()> + Send + 'static>(invoke: F) -> Self {
let com = windows_core::imp::DelegateBox::<DispatcherQueueHandler, F>::new(
&DispatcherQueueHandlerBox::<F>::VTABLE,
invoke,
);
unsafe { core::mem::transmute(windows_core::imp::Box::new(com)) }
}
pub fn Invoke(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).Invoke)(windows_core::Interface::as_raw(self))
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct DispatcherQueueHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl,
Invoke: unsafe extern "system" fn(this: *mut core::ffi::c_void) -> windows_core::HRESULT,
}
struct DispatcherQueueHandlerBox<F: Fn() -> windows_core::Result<()> + Send + 'static>(
core::marker::PhantomData<(fn() -> F,)>,
);
impl<F: Fn() -> windows_core::Result<()> + Send + 'static> DispatcherQueueHandlerBox<F> {
const VTABLE: DispatcherQueueHandler_Vtbl = DispatcherQueueHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl {
QueryInterface:
windows_core::imp::DelegateBox::<DispatcherQueueHandler, F>::QueryInterface,
AddRef: windows_core::imp::DelegateBox::<DispatcherQueueHandler, F>::AddRef,
Release: windows_core::imp::DelegateBox::<DispatcherQueueHandler, F>::Release,
},
Invoke: Self::Invoke,
};
unsafe extern "system" fn Invoke(this: *mut core::ffi::c_void) -> windows_core::HRESULT {
unsafe {
let this = &mut *(this as *mut *mut core::ffi::c_void
as *mut windows_core::imp::DelegateBox<DispatcherQueueHandler, F>);
(this.invoke)().into()
}
}
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct DispatcherQueuePriority(pub i32);
impl DispatcherQueuePriority {
pub const Low: Self = Self(-10i32);
pub const Normal: Self = Self(0i32);
pub const High: Self = Self(10i32);
}
impl windows_core::TypeKind for DispatcherQueuePriority {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for DispatcherQueuePriority {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Dispatching.DispatcherQueuePriority;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct DispatcherQueueTimer(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
DispatcherQueueTimer,
windows_core::IUnknown,
windows_core::IInspectable
);
impl DispatcherQueueTimer {}
impl windows_core::RuntimeType for DispatcherQueueTimer {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IDispatcherQueueTimer>();
}
unsafe impl windows_core::Interface for DispatcherQueueTimer {
type Vtable = <IDispatcherQueueTimer as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IDispatcherQueueTimer as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for DispatcherQueueTimer {
const NAME: &'static str = "Microsoft.UI.Dispatching.DispatcherQueueTimer";
}
unsafe impl Send for DispatcherQueueTimer {}
unsafe impl Sync for DispatcherQueueTimer {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ElementCompositionPreview(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ElementCompositionPreview,
windows_core::IUnknown,
windows_core::IInspectable
);
impl ElementCompositionPreview {
pub fn GetElementVisual<P0>(element: P0) -> windows_core::Result<Visual>
where
P0: windows_core::Param<UIElement>,
{
Self::IElementCompositionPreviewStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetElementVisual)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn GetElementChildVisual<P0>(element: P0) -> windows_core::Result<Visual>
where
P0: windows_core::Param<UIElement>,
{
Self::IElementCompositionPreviewStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetElementChildVisual)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn SetElementChildVisual<P0, P1>(element: P0, visual: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
P1: windows_core::Param<Visual>,
{
Self::IElementCompositionPreviewStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetElementChildVisual)(
windows_core::Interface::as_raw(this),
element.param().abi(),
visual.param().abi(),
)
.ok()
})
}
pub fn SetImplicitShowAnimation<P0, P1>(element: P0, animation: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
P1: windows_core::Param<ICompositionAnimationBase>,
{
Self::IElementCompositionPreviewStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetImplicitShowAnimation)(
windows_core::Interface::as_raw(this),
element.param().abi(),
animation.param().abi(),
)
.ok()
})
}
pub fn SetImplicitHideAnimation<P0, P1>(element: P0, animation: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
P1: windows_core::Param<ICompositionAnimationBase>,
{
Self::IElementCompositionPreviewStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetImplicitHideAnimation)(
windows_core::Interface::as_raw(this),
element.param().abi(),
animation.param().abi(),
)
.ok()
})
}
pub fn SetIsTranslationEnabled<P0>(element: P0, value: bool) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
{
Self::IElementCompositionPreviewStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetIsTranslationEnabled)(
windows_core::Interface::as_raw(this),
element.param().abi(),
value,
)
.ok()
})
}
fn IElementCompositionPreviewStatics<
R,
F: FnOnce(&IElementCompositionPreviewStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
ElementCompositionPreview,
IElementCompositionPreviewStatics,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ElementCompositionPreview {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IElementCompositionPreview>();
}
unsafe impl windows_core::Interface for ElementCompositionPreview {
type Vtable = <IElementCompositionPreview as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IElementCompositionPreview as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ElementCompositionPreview {
const NAME: &'static str = "Microsoft.UI.Xaml.Hosting.ElementCompositionPreview";
}
unsafe impl Send for ElementCompositionPreview {}
unsafe impl Sync for ElementCompositionPreview {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct ElementTheme(pub i32);
impl ElementTheme {
pub const Default: Self = Self(0i32);
pub const Light: Self = Self(1i32);
pub const Dark: Self = Self(2i32);
}
impl windows_core::TypeKind for ElementTheme {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for ElementTheme {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::from_slice(b"enum(Microsoft.UI.Xaml.ElementTheme;i4)");
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Ellipse(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
Ellipse,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
Ellipse,
IAnimationObject,
IVisualElement,
IVisualElement2,
Shape,
FrameworkElement,
UIElement,
DependencyObject
);
impl Ellipse {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
Ellipse,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Ellipse {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IEllipse>();
}
unsafe impl windows_core::Interface for Ellipse {
type Vtable = <IEllipse as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IEllipse as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Ellipse {
const NAME: &'static str = "Microsoft.UI.Xaml.Shapes.Ellipse";
}
unsafe impl Send for Ellipse {}
unsafe impl Sync for Ellipse {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct EventHandler<T>(windows_core::IUnknown, core::marker::PhantomData<T>)
where
T: windows_core::RuntimeType + 'static;
unsafe impl<T: windows_core::RuntimeType + 'static> windows_core::Interface for EventHandler<T> {
type Vtable = EventHandler_Vtbl<T>;
const IID: windows_core::GUID =
windows_core::GUID::from_signature(<Self as windows_core::RuntimeType>::SIGNATURE);
}
impl<T: windows_core::RuntimeType + 'static> windows_core::RuntimeType for EventHandler<T> {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::new()
.push_slice(b"pinterface({9de1c535-6ae1-11e0-84e1-18a905bcc53f}")
.push_slice(b";")
.push_other(T::SIGNATURE)
.push_slice(b")");
}
impl<T: windows_core::RuntimeType + 'static> EventHandler<T> {
pub fn new<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<T>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(
invoke: F,
) -> Self {
let com = windows_core::imp::DelegateBox::<EventHandler<T>, F>::new(
&EventHandlerBox::<T, F>::VTABLE,
invoke,
);
unsafe { core::mem::transmute(windows_core::imp::Box::new(com)) }
}
pub fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
P1: windows_core::Param<T>,
{
unsafe {
(windows_core::Interface::vtable(self).Invoke)(
windows_core::Interface::as_raw(self),
sender.param().abi(),
args.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct EventHandler_Vtbl<T>
where
T: windows_core::RuntimeType + 'static,
{
base__: windows_core::IUnknown_Vtbl,
Invoke: unsafe extern "system" fn(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
args: windows_core::AbiType<T>,
) -> windows_core::HRESULT,
T: core::marker::PhantomData<T>,
}
struct EventHandlerBox<
T,
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<T>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(core::marker::PhantomData<(T, fn() -> F)>)
where
T: windows_core::RuntimeType + 'static;
impl<
T: windows_core::RuntimeType + 'static,
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<T>,
) -> windows_core::Result<()>
+ Send
+ 'static,
> EventHandlerBox<T, F>
{
const VTABLE: EventHandler_Vtbl<T> = EventHandler_Vtbl::<T> {
base__: windows_core::IUnknown_Vtbl {
QueryInterface: windows_core::imp::DelegateBox::<EventHandler<T>, F>::QueryInterface,
AddRef: windows_core::imp::DelegateBox::<EventHandler<T>, F>::AddRef,
Release: windows_core::imp::DelegateBox::<EventHandler<T>, F>::Release,
},
Invoke: Self::Invoke,
T: core::marker::PhantomData::<T>,
};
unsafe extern "system" fn Invoke(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
args: windows_core::AbiType<T>,
) -> windows_core::HRESULT {
unsafe {
let this = &mut *(this as *mut *mut core::ffi::c_void
as *mut windows_core::imp::DelegateBox<EventHandler<T>, F>);
(this.invoke)(
core::mem::transmute_copy(&sender),
core::mem::transmute_copy(&args),
)
.into()
}
}
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Expander(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
Expander,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
Expander,
IAnimationObject,
IVisualElement,
IVisualElement2,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl Expander {
pub fn new() -> windows_core::Result<Expander> {
Self::IExpanderFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<Expander>
where
T: windows_core::Compose,
{
Self::IExpanderFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IExpanderFactory<R, F: FnOnce(&IExpanderFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Expander, IExpanderFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IExpanderStatics<R, F: FnOnce(&IExpanderStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Expander, IExpanderStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Expander {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IExpander>();
}
unsafe impl windows_core::Interface for Expander {
type Vtable = <IExpander as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IExpander as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Expander {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Expander";
}
unsafe impl Send for Expander {}
unsafe impl Sync for Expander {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ExpanderCollapsedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ExpanderCollapsedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
impl ExpanderCollapsedEventArgs {}
impl windows_core::RuntimeType for ExpanderCollapsedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IExpanderCollapsedEventArgs>();
}
unsafe impl windows_core::Interface for ExpanderCollapsedEventArgs {
type Vtable = <IExpanderCollapsedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IExpanderCollapsedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ExpanderCollapsedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ExpanderCollapsedEventArgs";
}
unsafe impl Send for ExpanderCollapsedEventArgs {}
unsafe impl Sync for ExpanderCollapsedEventArgs {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ExpanderExpandingEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ExpanderExpandingEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
impl ExpanderExpandingEventArgs {}
impl windows_core::RuntimeType for ExpanderExpandingEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IExpanderExpandingEventArgs>();
}
unsafe impl windows_core::Interface for ExpanderExpandingEventArgs {
type Vtable = <IExpanderExpandingEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IExpanderExpandingEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ExpanderExpandingEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ExpanderExpandingEventArgs";
}
unsafe impl Send for ExpanderExpandingEventArgs {}
unsafe impl Sync for ExpanderExpandingEventArgs {}
pub type FARPROC = Option<unsafe extern "system" fn() -> isize>;
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct FlipView(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
FlipView,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
FlipView,
IAnimationObject,
IItemContainerMapping,
IVisualElement,
IVisualElement2,
Selector,
ItemsControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl FlipView {
pub fn new() -> windows_core::Result<FlipView> {
Self::IFlipViewFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<FlipView>
where
T: windows_core::Compose,
{
Self::IFlipViewFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IFlipViewFactory<R, F: FnOnce(&IFlipViewFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<FlipView, IFlipViewFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IFlipViewStatics<R, F: FnOnce(&IFlipViewStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<FlipView, IFlipViewStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for FlipView {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IFlipView>();
}
unsafe impl windows_core::Interface for FlipView {
type Vtable = <IFlipView as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IFlipView as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for FlipView {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.FlipView";
}
unsafe impl Send for FlipView {}
unsafe impl Sync for FlipView {}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct FontWeight {
pub Weight: u16,
}
impl windows_core::TypeKind for FontWeight {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for FontWeight {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::from_slice(b"struct(Windows.UI.Text.FontWeight;u2)");
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct FrameworkElement(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
FrameworkElement,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
FrameworkElement,
IAnimationObject,
IVisualElement,
IVisualElement2,
UIElement,
DependencyObject
);
impl FrameworkElement {
pub fn new() -> windows_core::Result<FrameworkElement> {
Self::IFrameworkElementFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<FrameworkElement>
where
T: windows_core::Compose,
{
Self::IFrameworkElementFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
pub fn DeferTree<P0>(element: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IFrameworkElementStatics(|this| unsafe {
(windows_core::Interface::vtable(this).DeferTree)(
windows_core::Interface::as_raw(this),
element.param().abi(),
)
.ok()
})
}
fn IFrameworkElementFactory<
R,
F: FnOnce(&IFrameworkElementFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<FrameworkElement, IFrameworkElementFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IFrameworkElementStatics<
R,
F: FnOnce(&IFrameworkElementStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<FrameworkElement, IFrameworkElementStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for FrameworkElement {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IFrameworkElement>();
}
unsafe impl windows_core::Interface for FrameworkElement {
type Vtable = <IFrameworkElement as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IFrameworkElement as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for FrameworkElement {
const NAME: &'static str = "Microsoft.UI.Xaml.FrameworkElement";
}
unsafe impl Send for FrameworkElement {}
unsafe impl Sync for FrameworkElement {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct FrameworkElementAutomationPeer(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
FrameworkElementAutomationPeer,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
FrameworkElementAutomationPeer,
AutomationPeer,
DependencyObject
);
impl FrameworkElementAutomationPeer {
pub fn CreateInstanceWithOwner<P0>(
owner: P0,
) -> windows_core::Result<FrameworkElementAutomationPeer>
where
P0: windows_core::Param<FrameworkElement>,
{
Self::IFrameworkElementAutomationPeerFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstanceWithOwner)(
windows_core::Interface::as_raw(this),
owner.param().abi(),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn CreateInstanceWithOwner_compose<P0, T>(
owner: P0,
compose: T,
) -> windows_core::Result<FrameworkElementAutomationPeer>
where
P0: windows_core::Param<FrameworkElement>,
T: windows_core::Compose,
{
Self::IFrameworkElementAutomationPeerFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstanceWithOwner)(
windows_core::Interface::as_raw(this),
owner.param().abi(),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
pub fn FromElement<P0>(element: P0) -> windows_core::Result<AutomationPeer>
where
P0: windows_core::Param<UIElement>,
{
Self::IFrameworkElementAutomationPeerStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).FromElement)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn CreatePeerForElement<P0>(element: P0) -> windows_core::Result<AutomationPeer>
where
P0: windows_core::Param<UIElement>,
{
Self::IFrameworkElementAutomationPeerStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreatePeerForElement)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
fn IFrameworkElementAutomationPeerFactory<
R,
F: FnOnce(&IFrameworkElementAutomationPeerFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
FrameworkElementAutomationPeer,
IFrameworkElementAutomationPeerFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IFrameworkElementAutomationPeerStatics<
R,
F: FnOnce(&IFrameworkElementAutomationPeerStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
FrameworkElementAutomationPeer,
IFrameworkElementAutomationPeerStatics,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for FrameworkElementAutomationPeer {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IFrameworkElementAutomationPeer>();
}
unsafe impl windows_core::Interface for FrameworkElementAutomationPeer {
type Vtable = <IFrameworkElementAutomationPeer as windows_core::Interface>::Vtable;
const IID: windows_core::GUID =
<IFrameworkElementAutomationPeer as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for FrameworkElementAutomationPeer {
const NAME: &'static str = "Microsoft.UI.Xaml.Automation.Peers.FrameworkElementAutomationPeer";
}
unsafe impl Send for FrameworkElementAutomationPeer {}
unsafe impl Sync for FrameworkElementAutomationPeer {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct FrameworkTemplate(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
FrameworkTemplate,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(FrameworkTemplate, DependencyObject);
impl FrameworkTemplate {
pub fn new() -> windows_core::Result<FrameworkTemplate> {
Self::IFrameworkTemplateFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<FrameworkTemplate>
where
T: windows_core::Compose,
{
Self::IFrameworkTemplateFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IFrameworkTemplateFactory<
R,
F: FnOnce(&IFrameworkTemplateFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
FrameworkTemplate,
IFrameworkTemplateFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for FrameworkTemplate {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IFrameworkTemplate>();
}
unsafe impl windows_core::Interface for FrameworkTemplate {
type Vtable = <IFrameworkTemplate as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IFrameworkTemplate as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for FrameworkTemplate {
const NAME: &'static str = "Microsoft.UI.Xaml.FrameworkTemplate";
}
unsafe impl Send for FrameworkTemplate {}
unsafe impl Sync for FrameworkTemplate {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Grid(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Grid, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(
Grid,
IAnimationObject,
IVisualElement,
IVisualElement2,
Panel,
FrameworkElement,
UIElement,
DependencyObject
);
impl Grid {
pub fn new() -> windows_core::Result<Grid> {
Self::IGridFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<Grid>
where
T: windows_core::Compose,
{
Self::IGridFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
pub fn GetRow<P0>(element: P0) -> windows_core::Result<i32>
where
P0: windows_core::Param<FrameworkElement>,
{
Self::IGridStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetRow)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.map(|| result__)
})
}
pub fn SetRow<P0>(element: P0, value: i32) -> windows_core::Result<()>
where
P0: windows_core::Param<FrameworkElement>,
{
Self::IGridStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetRow)(
windows_core::Interface::as_raw(this),
element.param().abi(),
value,
)
.ok()
})
}
pub fn GetColumn<P0>(element: P0) -> windows_core::Result<i32>
where
P0: windows_core::Param<FrameworkElement>,
{
Self::IGridStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetColumn)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.map(|| result__)
})
}
pub fn SetColumn<P0>(element: P0, value: i32) -> windows_core::Result<()>
where
P0: windows_core::Param<FrameworkElement>,
{
Self::IGridStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetColumn)(
windows_core::Interface::as_raw(this),
element.param().abi(),
value,
)
.ok()
})
}
pub fn GetRowSpan<P0>(element: P0) -> windows_core::Result<i32>
where
P0: windows_core::Param<FrameworkElement>,
{
Self::IGridStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetRowSpan)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.map(|| result__)
})
}
pub fn SetRowSpan<P0>(element: P0, value: i32) -> windows_core::Result<()>
where
P0: windows_core::Param<FrameworkElement>,
{
Self::IGridStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetRowSpan)(
windows_core::Interface::as_raw(this),
element.param().abi(),
value,
)
.ok()
})
}
pub fn GetColumnSpan<P0>(element: P0) -> windows_core::Result<i32>
where
P0: windows_core::Param<FrameworkElement>,
{
Self::IGridStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetColumnSpan)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.map(|| result__)
})
}
pub fn SetColumnSpan<P0>(element: P0, value: i32) -> windows_core::Result<()>
where
P0: windows_core::Param<FrameworkElement>,
{
Self::IGridStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetColumnSpan)(
windows_core::Interface::as_raw(this),
element.param().abi(),
value,
)
.ok()
})
}
fn IGridFactory<R, F: FnOnce(&IGridFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Grid, IGridFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IGridStatics<R, F: FnOnce(&IGridStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Grid, IGridStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Grid {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IGrid>();
}
unsafe impl windows_core::Interface for Grid {
type Vtable = <IGrid as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IGrid as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Grid {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Grid";
}
unsafe impl Send for Grid {}
unsafe impl Sync for Grid {}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct GridLength {
pub Value: f64,
pub GridUnitType: GridUnitType,
}
impl windows_core::TypeKind for GridLength {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for GridLength {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"struct(Microsoft.UI.Xaml.GridLength;f8;enum(Microsoft.UI.Xaml.GridUnitType;i4))",
);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct GridUnitType(pub i32);
impl GridUnitType {
pub const Auto: Self = Self(0i32);
pub const Pixel: Self = Self(1i32);
pub const Star: Self = Self(2i32);
}
impl windows_core::TypeKind for GridUnitType {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for GridUnitType {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::from_slice(b"enum(Microsoft.UI.Xaml.GridUnitType;i4)");
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct GridView(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
GridView,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
GridView,
IAnimationObject,
IItemContainerMapping,
ISemanticZoomInformation,
IVisualElement,
IVisualElement2,
ListViewBase,
Selector,
ItemsControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl GridView {
pub fn new() -> windows_core::Result<GridView> {
Self::IGridViewFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<GridView>
where
T: windows_core::Compose,
{
Self::IGridViewFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IGridViewFactory<R, F: FnOnce(&IGridViewFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<GridView, IGridViewFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for GridView {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IGridView>();
}
unsafe impl windows_core::Interface for GridView {
type Vtable = <IGridView as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IGridView as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for GridView {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.GridView";
}
unsafe impl Send for GridView {}
unsafe impl Sync for GridView {}
pub type HANDLE = *mut core::ffi::c_void;
pub type HINSTANCE = *mut core::ffi::c_void;
pub type HMODULE = *mut core::ffi::c_void;
pub const HTCLIENT: u32 = 1u32;
pub type HWND = *mut core::ffi::c_void;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct HorizontalAlignment(pub i32);
impl HorizontalAlignment {
pub const Left: Self = Self(0i32);
pub const Center: Self = Self(1i32);
pub const Right: Self = Self(2i32);
pub const Stretch: Self = Self(3i32);
}
impl windows_core::TypeKind for HorizontalAlignment {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for HorizontalAlignment {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Xaml.HorizontalAlignment;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct HyperlinkButton(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
HyperlinkButton,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
HyperlinkButton,
IAnimationObject,
IVisualElement,
IVisualElement2,
ButtonBase,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl HyperlinkButton {
pub fn new() -> windows_core::Result<HyperlinkButton> {
Self::IHyperlinkButtonFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<HyperlinkButton>
where
T: windows_core::Compose,
{
Self::IHyperlinkButtonFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IHyperlinkButtonFactory<
R,
F: FnOnce(&IHyperlinkButtonFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<HyperlinkButton, IHyperlinkButtonFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IHyperlinkButtonStatics<
R,
F: FnOnce(&IHyperlinkButtonStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<HyperlinkButton, IHyperlinkButtonStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for HyperlinkButton {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IHyperlinkButton>();
}
unsafe impl windows_core::Interface for HyperlinkButton {
type Vtable = <IHyperlinkButton as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IHyperlinkButton as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for HyperlinkButton {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.HyperlinkButton";
}
unsafe impl Send for HyperlinkButton {}
unsafe impl Sync for HyperlinkButton {}
windows_core::imp::define_interface!(
IAnimationObject,
IAnimationObject_Vtbl,
0x8f56119d_b96d_58d0_9916_d1c5e390f890
);
impl windows_core::RuntimeType for IAnimationObject {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IAnimationObject,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct IAnimationObject_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
PopulatePropertyInfo: usize,
}
windows_core::imp::define_interface!(
IAppWindow,
IAppWindow_Vtbl,
0xcfa788b3_643b_5c5e_ad4e_321d48a82acd
);
impl windows_core::RuntimeType for IAppWindow {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IAppWindow {
pub fn SetTitle(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetTitle)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn Destroy(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).Destroy)(windows_core::Interface::as_raw(self))
.ok()
}
}
pub fn Hide(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).Hide)(windows_core::Interface::as_raw(self)).ok()
}
}
pub fn SetIcon(&self, iconpath: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIcon)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(iconpath),
)
.ok()
}
}
pub fn SetPresenterByKind(
&self,
appwindowpresenterkind: AppWindowPresenterKind,
) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPresenterByKind)(
windows_core::Interface::as_raw(self),
appwindowpresenterkind,
)
.ok()
}
}
pub fn Show(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).Show)(windows_core::Interface::as_raw(self)).ok()
}
}
pub fn Destroying<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<TypedEventHandler<AppWindow, windows_core::IInspectable>>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Destroying)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppWindow_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Id: usize,
IsShownInSwitchers: usize,
SetIsShownInSwitchers: usize,
IsVisible: usize,
OwnerWindowId: usize,
Position: usize,
Presenter: usize,
Size: usize,
Title: usize,
pub SetTitle: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
TitleBar: usize,
pub Destroy: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
pub Hide: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
Move: usize,
MoveAndResize: usize,
MoveAndResizeRelativeToDisplayArea: usize,
Resize: usize,
pub SetIcon: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
SetIconWithIconId: usize,
SetPresenter: usize,
pub SetPresenterByKind: unsafe extern "system" fn(
*mut core::ffi::c_void,
AppWindowPresenterKind,
) -> windows_core::HRESULT,
pub Show: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
ShowWithActivation: usize,
Changed: usize,
RemoveChanged: usize,
Closing: usize,
RemoveClosing: usize,
pub Destroying: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
RemoveDestroying: usize,
}
windows_core::imp::define_interface!(
IAppWindow2,
IAppWindow2_Vtbl,
0x6cd41292_794c_5cac_8961_210d012c6ebc
);
impl windows_core::RuntimeType for IAppWindow2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppWindow2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ClientSize: usize,
pub MoveInZOrderAtBottom:
unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
pub MoveInZOrderAtTop:
unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
MoveInZOrderBelow: usize,
ResizeClient: usize,
pub ShowOnceWithRequestedStartupState:
unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IAppWindow3,
IAppWindow3_Vtbl,
0x2f260cea_193d_5dd6_a904_d7649a608d2f
);
impl windows_core::RuntimeType for IAppWindow3 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IAppWindow3 {
pub fn DispatcherQueue(&self) -> windows_core::Result<DispatcherQueue> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).DispatcherQueue)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppWindow3_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
AssociateWithDispatcherQueue: usize,
pub DispatcherQueue: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IAppWindow4,
IAppWindow4_Vtbl,
0x383bfb91_ea29_5414_80cd_6c76d981eb31
);
impl windows_core::RuntimeType for IAppWindow4 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppWindow4_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub SetTaskbarIcon: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
SetTaskbarIconWithIconId: usize,
pub SetTitleBarIcon: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
SetTitleBarIconWithIconId: usize,
}
windows_core::imp::define_interface!(
IAppWindowStatics,
IAppWindowStatics_Vtbl,
0x3c315c24_d540_5d72_b518_b226b83627cb
);
impl windows_core::RuntimeType for IAppWindowStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppWindowStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Create: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
CreateWithPresenter: usize,
CreateWithPresenterAndOwner: usize,
GetFromWindowId: usize,
}
windows_core::imp::define_interface!(
IAppWindowStatics2,
IAppWindowStatics2_Vtbl,
0xcabc23db_4606_5d6e_89a5_06de1d8bd3e2
);
impl windows_core::RuntimeType for IAppWindowStatics2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IAppWindowStatics2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateWithDispatcherQueue: usize,
}
windows_core::imp::define_interface!(
IApplication,
IApplication_Vtbl,
0x06a8f4e7_1146_55af_820d_ebd55643b021
);
impl windows_core::RuntimeType for IApplication {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IApplication {
pub fn Resources(&self) -> windows_core::Result<ResourceDictionary> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Resources)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IApplication_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Resources: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
SetResources: usize,
DebugSettings: usize,
RequestedTheme: usize,
SetRequestedTheme: usize,
FocusVisualKind: usize,
SetFocusVisualKind: usize,
HighContrastAdjustment: usize,
SetHighContrastAdjustment: usize,
UnhandledException: usize,
RemoveUnhandledException: usize,
Exit: usize,
}
windows_core::imp::define_interface!(
IApplication2,
IApplication2_Vtbl,
0x469e6d36_2e11_5b06_9e0a_c5eef0cf8f12
);
impl windows_core::RuntimeType for IApplication2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IApplication2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ResourceManagerRequested: usize,
RemoveResourceManagerRequested: usize,
}
windows_core::imp::define_interface!(
IApplication3,
IApplication3_Vtbl,
0xbe941595_61fe_5b36_a3d3_962a647d7c6f
);
impl windows_core::RuntimeType for IApplication3 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IApplication3_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
DispatcherShutdownMode: usize,
SetDispatcherShutdownMode: usize,
}
windows_core::imp::define_interface!(
IApplicationFactory,
IApplicationFactory_Vtbl,
0x9fd96657_5294_5a65_a1db_4fea143597da
);
impl windows_core::RuntimeType for IApplicationFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IApplicationFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IApplicationInitializationCallbackParams,
IApplicationInitializationCallbackParams_Vtbl,
0x1b1906ea_5b7b_5876_81ab_7c2281ac3d20
);
impl windows_core::RuntimeType for IApplicationInitializationCallbackParams {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IApplicationInitializationCallbackParams_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IApplicationOverrides,
IApplicationOverrides_Vtbl,
0xa33e81ef_c665_503b_8827_d27ef1720a06
);
impl windows_core::RuntimeType for IApplicationOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IApplicationOverrides {
pub fn OnLaunched<P0>(&self, args: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<LaunchActivatedEventArgs>,
{
unsafe {
(windows_core::Interface::vtable(self).OnLaunched)(
windows_core::Interface::as_raw(self),
args.param().abi(),
)
.ok()
}
}
}
impl windows_core::RuntimeName for IApplicationOverrides {
const NAME: &'static str = "Microsoft.UI.Xaml.IApplicationOverrides";
}
pub trait IApplicationOverrides_Impl: windows_core::IUnknownImpl {
fn OnLaunched(
&self,
args: windows_core::Ref<LaunchActivatedEventArgs>,
) -> windows_core::Result<()>;
}
impl IApplicationOverrides_Vtbl {
pub const fn new<Identity: IApplicationOverrides_Impl, const OFFSET: isize>() -> Self {
unsafe extern "system" fn OnLaunched<
Identity: IApplicationOverrides_Impl,
const OFFSET: isize,
>(
this: *mut core::ffi::c_void,
args: *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationOverrides_Impl::OnLaunched(this, core::mem::transmute_copy(&args))
.into()
}
}
Self {
base__: windows_core::IInspectable_Vtbl::new::<Identity, IApplicationOverrides, OFFSET>(
),
OnLaunched: OnLaunched::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IApplicationOverrides as windows_core::Interface>::IID
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IApplicationOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub OnLaunched: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IApplicationStatics,
IApplicationStatics_Vtbl,
0x4e0d09f5_4358_512c_a987_503b52848e95
);
impl windows_core::RuntimeType for IApplicationStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IApplicationStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Current: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub Start: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
LoadComponent: usize,
LoadComponentWithResourceLocation: usize,
}
windows_core::imp::define_interface!(
IAutomationPeer,
IAutomationPeer_Vtbl,
0xe51d3e4e_34f0_568c_999f_6277e2afe6d7
);
impl windows_core::RuntimeType for IAutomationPeer {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IAutomationPeer {
pub fn GetPattern(
&self,
patterninterface: PatternInterface,
) -> windows_core::Result<windows_core::IInspectable> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).GetPattern)(
windows_core::Interface::as_raw(self),
patterninterface,
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn IsEnabled(&self) -> windows_core::Result<bool> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).IsEnabled)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IAutomationPeer_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
EventsSource: usize,
SetEventsSource: usize,
pub GetPattern: unsafe extern "system" fn(
*mut core::ffi::c_void,
PatternInterface,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
RaiseAutomationEvent: usize,
RaisePropertyChangedEvent: usize,
GetAcceleratorKey: usize,
GetAccessKey: usize,
GetAutomationControlType: usize,
GetAutomationId: usize,
GetBoundingRectangle: usize,
GetChildren: usize,
Navigate: usize,
GetClassName: usize,
GetClickablePoint: usize,
GetHelpText: usize,
GetItemStatus: usize,
GetItemType: usize,
GetLabeledBy: usize,
GetLocalizedControlType: usize,
GetName: usize,
GetOrientation: usize,
HasKeyboardFocus: usize,
IsContentElement: usize,
IsControlElement: usize,
pub IsEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut bool) -> windows_core::HRESULT,
IsKeyboardFocusable: usize,
IsOffscreen: usize,
IsPassword: usize,
IsRequiredForForm: usize,
SetFocus: usize,
GetParent: usize,
InvalidatePeer: usize,
GetPeerFromPoint: usize,
GetElementFromPoint: usize,
GetFocusedElement: usize,
GetLiveSetting: usize,
ShowContextMenu: usize,
GetControlledPeers: usize,
GetAnnotations: usize,
SetParent: usize,
RaiseTextEditTextChangedEvent: usize,
GetPositionInSet: usize,
GetSizeOfSet: usize,
GetLevel: usize,
RaiseStructureChangedEvent: usize,
GetLandmarkType: usize,
GetLocalizedLandmarkType: usize,
IsPeripheral: usize,
IsDataValidForForm: usize,
GetFullDescription: usize,
GetCulture: usize,
RaiseNotificationEvent: usize,
GetHeadingLevel: usize,
IsDialog: usize,
}
windows_core::imp::define_interface!(
IAutomationPeerFactory,
IAutomationPeerFactory_Vtbl,
0xa1af86a0_6ec6_5be2_858f_72808be6fddd
);
impl windows_core::RuntimeType for IAutomationPeerFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IAutomationPeerFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IAutomationPeerOverrides,
IAutomationPeerOverrides_Vtbl,
0x44f8f6df_1b60_512d_a295_dd8c276c4618
);
impl windows_core::RuntimeType for IAutomationPeerOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IAutomationPeerOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
GetPatternCore: usize,
GetAcceleratorKeyCore: usize,
GetAccessKeyCore: usize,
GetAutomationControlTypeCore: usize,
GetAutomationIdCore: usize,
GetBoundingRectangleCore: usize,
GetChildrenCore: usize,
NavigateCore: usize,
GetClassNameCore: usize,
GetClickablePointCore: usize,
GetHelpTextCore: usize,
GetItemStatusCore: usize,
GetItemTypeCore: usize,
GetLabeledByCore: usize,
GetLocalizedControlTypeCore: usize,
GetNameCore: usize,
GetOrientationCore: usize,
HasKeyboardFocusCore: usize,
IsContentElementCore: usize,
IsControlElementCore: usize,
IsEnabledCore: usize,
IsKeyboardFocusableCore: usize,
IsOffscreenCore: usize,
IsPasswordCore: usize,
IsRequiredForFormCore: usize,
SetFocusCore: usize,
GetPeerFromPointCore: usize,
GetElementFromPointCore: usize,
GetFocusedElementCore: usize,
GetLiveSettingCore: usize,
ShowContextMenuCore: usize,
GetControlledPeersCore: usize,
GetAnnotationsCore: usize,
GetPositionInSetCore: usize,
GetSizeOfSetCore: usize,
GetLevelCore: usize,
GetLandmarkTypeCore: usize,
GetLocalizedLandmarkTypeCore: usize,
IsPeripheralCore: usize,
IsDataValidForFormCore: usize,
GetFullDescriptionCore: usize,
GetDescribedByCore: usize,
GetFlowsToCore: usize,
GetFlowsFromCore: usize,
GetCultureCore: usize,
GetHeadingLevelCore: usize,
IsDialogCore: usize,
}
windows_core::imp::define_interface!(
IAutomationPeerProtected,
IAutomationPeerProtected_Vtbl,
0x9663b2c3_8c1f_56d4_abd9_268082a9e8bc
);
impl windows_core::RuntimeType for IAutomationPeerProtected {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IAutomationPeerProtected_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
PeerFromProvider: usize,
ProviderFromPeer: usize,
}
windows_core::imp::define_interface!(
IAutomationPeerStatics,
IAutomationPeerStatics_Vtbl,
0x90b157ff_18d5_5623_850c_612ceae576bd
);
impl windows_core::RuntimeType for IAutomationPeerStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IAutomationPeerStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ListenerExists: usize,
GenerateRawElementProviderRuntimeId: usize,
}
windows_core::imp::define_interface!(
IAutomationProperties,
IAutomationProperties_Vtbl,
0x525c6a71_dd8a_52a0_977b_db1b02f8e896
);
impl windows_core::RuntimeType for IAutomationProperties {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IAutomationProperties_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IAutomationPropertiesStatics,
IAutomationPropertiesStatics_Vtbl,
0xb1e3e0f3_112f_5966_87dc_7862d4ad50e5
);
impl windows_core::RuntimeType for IAutomationPropertiesStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IAutomationPropertiesStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
AcceleratorKeyProperty: usize,
GetAcceleratorKey: usize,
SetAcceleratorKey: usize,
AccessKeyProperty: usize,
GetAccessKey: usize,
SetAccessKey: usize,
AutomationIdProperty: usize,
GetAutomationId: usize,
pub SetAutomationId: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
HelpTextProperty: usize,
GetHelpText: usize,
pub SetHelpText: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
IsRequiredForFormProperty: usize,
GetIsRequiredForForm: usize,
SetIsRequiredForForm: usize,
ItemStatusProperty: usize,
GetItemStatus: usize,
SetItemStatus: usize,
ItemTypeProperty: usize,
GetItemType: usize,
SetItemType: usize,
LabeledByProperty: usize,
GetLabeledBy: usize,
SetLabeledBy: usize,
NameProperty: usize,
GetName: usize,
pub SetName: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
LiveSettingProperty: usize,
GetLiveSetting: usize,
pub SetLiveSetting: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
AutomationLiveSetting,
) -> windows_core::HRESULT,
AccessibilityViewProperty: usize,
GetAccessibilityView: usize,
SetAccessibilityView: usize,
ControlledPeersProperty: usize,
GetControlledPeers: usize,
PositionInSetProperty: usize,
GetPositionInSet: usize,
SetPositionInSet: usize,
SizeOfSetProperty: usize,
GetSizeOfSet: usize,
SetSizeOfSet: usize,
LevelProperty: usize,
GetLevel: usize,
SetLevel: usize,
AnnotationsProperty: usize,
GetAnnotations: usize,
LandmarkTypeProperty: usize,
GetLandmarkType: usize,
SetLandmarkType: usize,
LocalizedLandmarkTypeProperty: usize,
GetLocalizedLandmarkType: usize,
SetLocalizedLandmarkType: usize,
IsPeripheralProperty: usize,
GetIsPeripheral: usize,
SetIsPeripheral: usize,
IsDataValidForFormProperty: usize,
GetIsDataValidForForm: usize,
SetIsDataValidForForm: usize,
FullDescriptionProperty: usize,
GetFullDescription: usize,
SetFullDescription: usize,
LocalizedControlTypeProperty: usize,
GetLocalizedControlType: usize,
SetLocalizedControlType: usize,
DescribedByProperty: usize,
GetDescribedBy: usize,
FlowsToProperty: usize,
GetFlowsTo: usize,
FlowsFromProperty: usize,
GetFlowsFrom: usize,
CultureProperty: usize,
GetCulture: usize,
SetCulture: usize,
HeadingLevelProperty: usize,
GetHeadingLevel: usize,
pub SetHeadingLevel: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
AutomationHeadingLevel,
) -> windows_core::HRESULT,
IsDialogProperty: usize,
GetIsDialog: usize,
SetIsDialog: usize,
}
windows_core::imp::define_interface!(
IAutomationPropertiesStatics2,
IAutomationPropertiesStatics2_Vtbl,
0xd933a3ed_e90a_5df0_853d_cad17a0b9ec8
);
impl windows_core::RuntimeType for IAutomationPropertiesStatics2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IAutomationPropertiesStatics2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
AutomationControlTypeProperty: usize,
GetAutomationControlType: usize,
SetAutomationControlType: usize,
}
windows_core::imp::define_interface!(
IBitmapImage,
IBitmapImage_Vtbl,
0x5cc29916_a411_5bc2_a3c5_a00d99a59da8
);
impl windows_core::RuntimeType for IBitmapImage {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IBitmapImage {
pub fn SetUriSource<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<Uri>,
{
unsafe {
(windows_core::Interface::vtable(self).SetUriSource)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn Stop(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).Stop)(windows_core::Interface::as_raw(self)).ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IBitmapImage_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateOptions: usize,
SetCreateOptions: usize,
UriSource: usize,
pub SetUriSource: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
DecodePixelWidth: usize,
SetDecodePixelWidth: usize,
DecodePixelHeight: usize,
SetDecodePixelHeight: usize,
DecodePixelType: usize,
SetDecodePixelType: usize,
IsAnimatedBitmap: usize,
IsPlaying: usize,
AutoPlay: usize,
SetAutoPlay: usize,
DownloadProgress: usize,
RemoveDownloadProgress: usize,
ImageOpened: usize,
RemoveImageOpened: usize,
ImageFailed: usize,
RemoveImageFailed: usize,
Play: usize,
pub Stop: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IBitmapImageFactory,
IBitmapImageFactory_Vtbl,
0xf037e0e9_f229_522e_95c9_da2211a14b05
);
impl windows_core::RuntimeType for IBitmapImageFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IBitmapImageFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateInstanceWithUriSource: usize,
}
windows_core::imp::define_interface!(
IBitmapImageStatics,
IBitmapImageStatics_Vtbl,
0x4bcf71a9_1897_51dc_8e3f_2c5c796d1cd9
);
impl windows_core::RuntimeType for IBitmapImageStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IBitmapImageStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateOptionsProperty: usize,
UriSourceProperty: usize,
DecodePixelWidthProperty: usize,
DecodePixelHeightProperty: usize,
DecodePixelTypeProperty: usize,
IsAnimatedBitmapProperty: usize,
IsPlayingProperty: usize,
AutoPlayProperty: usize,
}
windows_core::imp::define_interface!(
IBitmapSource,
IBitmapSource_Vtbl,
0x8424269d_9b82_534f_8fea_af5b5ef96bf2
);
impl windows_core::RuntimeType for IBitmapSource {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IBitmapSource_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
PixelWidth: usize,
PixelHeight: usize,
SetSource: usize,
SetSourceAsync: usize,
}
windows_core::imp::define_interface!(
IBitmapSourceFactory,
IBitmapSourceFactory_Vtbl,
0x0392f025_1868_5876_ad67_12e94a8da5bf
);
impl windows_core::RuntimeType for IBitmapSourceFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IBitmapSourceFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IBitmapSourceStatics,
IBitmapSourceStatics_Vtbl,
0xefa3745e_4400_5f0b_bdc7_3f2911a3d719
);
impl windows_core::RuntimeType for IBitmapSourceStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IBitmapSourceStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
PixelWidthProperty: usize,
PixelHeightProperty: usize,
}
windows_core::imp::define_interface!(
IBorder,
IBorder_Vtbl,
0x1ca13b47_ff5c_5abc_a411_a177df9482a9
);
impl windows_core::RuntimeType for IBorder {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IBorder {
pub fn SetBorderBrush<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<Brush>,
{
unsafe {
(windows_core::Interface::vtable(self).SetBorderBrush)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetBorderThickness(&self, value: Thickness) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetBorderThickness)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetBackground<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<Brush>,
{
unsafe {
(windows_core::Interface::vtable(self).SetBackground)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetCornerRadius(&self, value: CornerRadius) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetCornerRadius)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetPadding(&self, value: Thickness) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPadding)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Child(&self) -> windows_core::Result<UIElement> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Child)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetChild<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
{
unsafe {
(windows_core::Interface::vtable(self).SetChild)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IBorder_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
BorderBrush: usize,
pub SetBorderBrush: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
BorderThickness: usize,
pub SetBorderThickness:
unsafe extern "system" fn(*mut core::ffi::c_void, Thickness) -> windows_core::HRESULT,
Background: usize,
pub SetBackground: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
BackgroundSizing: usize,
SetBackgroundSizing: usize,
CornerRadius: usize,
pub SetCornerRadius:
unsafe extern "system" fn(*mut core::ffi::c_void, CornerRadius) -> windows_core::HRESULT,
Padding: usize,
pub SetPadding:
unsafe extern "system" fn(*mut core::ffi::c_void, Thickness) -> windows_core::HRESULT,
pub Child: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetChild: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
ChildTransitions: usize,
SetChildTransitions: usize,
BackgroundTransition: usize,
SetBackgroundTransition: usize,
}
windows_core::imp::define_interface!(
IBorderStatics,
IBorderStatics_Vtbl,
0x9385cd66_c178_5176_b4a5_160e00e93935
);
impl windows_core::RuntimeType for IBorderStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IBorderStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
BorderBrushProperty: usize,
BorderThicknessProperty: usize,
BackgroundProperty: usize,
BackgroundSizingProperty: usize,
CornerRadiusProperty: usize,
PaddingProperty: usize,
ChildTransitionsProperty: usize,
}
windows_core::imp::define_interface!(
IBreadcrumbBar,
IBreadcrumbBar_Vtbl,
0x2e47b7d6_5fbd_54c7_b0b1_ceff4a19c744
);
impl windows_core::RuntimeType for IBreadcrumbBar {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IBreadcrumbBar_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ItemsSource: usize,
SetItemsSource: usize,
ItemTemplate: usize,
SetItemTemplate: usize,
ItemClicked: usize,
RemoveItemClicked: usize,
}
windows_core::imp::define_interface!(
IBreadcrumbBarFactory,
IBreadcrumbBarFactory_Vtbl,
0xd5b6a6d9_3148_5cbc_a6ae_0f44cde41952
);
impl windows_core::RuntimeType for IBreadcrumbBarFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IBreadcrumbBarFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IBreadcrumbBarStatics,
IBreadcrumbBarStatics_Vtbl,
0x4abf3fb5_6f69_54e2_a68f_e5f904f79f38
);
impl windows_core::RuntimeType for IBreadcrumbBarStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IBreadcrumbBarStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ItemsSourceProperty: usize,
ItemTemplateProperty: usize,
}
windows_core::imp::define_interface!(IBrush, IBrush_Vtbl, 0x2de3cb83_1329_5679_88f8_c822bc5442cb);
impl windows_core::RuntimeType for IBrush {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IBrush {
pub fn Opacity(&self) -> windows_core::Result<f64> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Opacity)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetOpacity(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetOpacity)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IBrush_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Opacity:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
pub SetOpacity: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
Transform: usize,
SetTransform: usize,
RelativeTransform: usize,
SetRelativeTransform: usize,
}
windows_core::imp::define_interface!(
IBrushFactory,
IBrushFactory_Vtbl,
0xb5258717_6c49_5ba5_87fd_35df382647a5
);
impl windows_core::RuntimeType for IBrushFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IBrushFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IBrushOverrides,
IBrushOverrides_Vtbl,
0xb6b08394_bacf_53db_9ac7_be1c693e3513
);
impl windows_core::RuntimeType for IBrushOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IBrushOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
PopulatePropertyInfoOverride: usize,
}
windows_core::imp::define_interface!(
IBrushStatics,
IBrushStatics_Vtbl,
0x5b854f50_f818_5f01_91b0_28132d3f5957
);
impl windows_core::RuntimeType for IBrushStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IBrushStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
OpacityProperty: usize,
TransformProperty: usize,
RelativeTransformProperty: usize,
}
windows_core::imp::define_interface!(
IButton,
IButton_Vtbl,
0x216c183d_d07a_5aa5_b8a4_0300a2683e87
);
impl windows_core::RuntimeType for IButton {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IButton_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Flyout: usize,
SetFlyout: usize,
}
windows_core::imp::define_interface!(
IButtonAutomationPeer,
IButtonAutomationPeer_Vtbl,
0xa3a2e96b_8a2d_50bf_9b3d_dfbc4653f5a6
);
impl windows_core::RuntimeType for IButtonAutomationPeer {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IButtonAutomationPeer_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IButtonAutomationPeerFactory,
IButtonAutomationPeerFactory_Vtbl,
0x1c2f87b7_fbc1_56b0_a654_550d61c423d1
);
impl windows_core::RuntimeType for IButtonAutomationPeerFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IButtonAutomationPeerFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstanceWithOwner: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IButtonBase,
IButtonBase_Vtbl,
0x65714269_2473_5327_a652_0ea6bce7f403
);
impl windows_core::RuntimeType for IButtonBase {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IButtonBase {
pub fn Click<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<RoutedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Click)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveClick(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveClick)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IButtonBase_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ClickMode: usize,
SetClickMode: usize,
IsPointerOver: usize,
IsPressed: usize,
Command: usize,
SetCommand: usize,
CommandParameter: usize,
SetCommandParameter: usize,
pub Click: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveClick:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IButtonBaseAutomationPeer,
IButtonBaseAutomationPeer_Vtbl,
0x7a88a2d8_f8dd_5526_8a40_e2e3888193bf
);
impl windows_core::RuntimeType for IButtonBaseAutomationPeer {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IButtonBaseAutomationPeer_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IButtonBaseAutomationPeerFactory,
IButtonBaseAutomationPeerFactory_Vtbl,
0xd6e707bb_7299_5f7a_9c03_7fa10f939771
);
impl windows_core::RuntimeType for IButtonBaseAutomationPeerFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IButtonBaseAutomationPeerFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstanceWithOwner: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IButtonBaseFactory,
IButtonBaseFactory_Vtbl,
0x21251aa9_6fd1_5e51_ab3b_e6fcaf3395ed
);
impl windows_core::RuntimeType for IButtonBaseFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IButtonBaseFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IButtonBaseStatics,
IButtonBaseStatics_Vtbl,
0xdbe812f6_adf8_51d3_8137_a8fbf6445b3c
);
impl windows_core::RuntimeType for IButtonBaseStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IButtonBaseStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ClickModeProperty: usize,
IsPointerOverProperty: usize,
IsPressedProperty: usize,
CommandProperty: usize,
CommandParameterProperty: usize,
}
windows_core::imp::define_interface!(
IButtonFactory,
IButtonFactory_Vtbl,
0xfe393422_d91c_57b1_9a9c_2c7e3f41f77c
);
impl windows_core::RuntimeType for IButtonFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IButtonFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IButtonStatics,
IButtonStatics_Vtbl,
0x57823d25_b26a_5e0f_94f6_bbae70683dc5
);
impl windows_core::RuntimeType for IButtonStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IButtonStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
FlyoutProperty: usize,
}
windows_core::imp::define_interface!(
ICanvas,
ICanvas_Vtbl,
0x457ba139_1146_51d2_807e_d9d65c927060
);
impl windows_core::RuntimeType for ICanvas {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICanvas_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
ICanvasFactory,
ICanvasFactory_Vtbl,
0x374c5050_3481_5557_9948_804c0b8eea89
);
impl windows_core::RuntimeType for ICanvasFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICanvasFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ICanvasStatics,
ICanvasStatics_Vtbl,
0xc00d5e0f_77e3_5c59_8fcd_86761f0c6607
);
impl windows_core::RuntimeType for ICanvasStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICanvasStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
LeftProperty: usize,
pub GetLeft: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut f64,
) -> windows_core::HRESULT,
pub SetLeft: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
f64,
) -> windows_core::HRESULT,
TopProperty: usize,
pub GetTop: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut f64,
) -> windows_core::HRESULT,
pub SetTop: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
f64,
) -> windows_core::HRESULT,
ZIndexProperty: usize,
pub GetZIndex: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i32,
) -> windows_core::HRESULT,
pub SetZIndex: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
i32,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ICheckBox,
ICheckBox_Vtbl,
0xc5830000_4c9d_5fdd_9346_674c71cd80c5
);
impl windows_core::RuntimeType for ICheckBox {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICheckBox_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
ICheckBoxFactory,
ICheckBoxFactory_Vtbl,
0xf43ff58d_31d5_5835_af7b_375bc6a9bcf3
);
impl windows_core::RuntimeType for ICheckBoxFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICheckBoxFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IClosable,
IClosable_Vtbl,
0x30d5a829_7fa4_4026_83bb_d75bae4ea99e
);
impl windows_core::RuntimeType for IClosable {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IClosable,
windows_core::IUnknown,
windows_core::IInspectable
);
impl IClosable {
pub fn Close(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).Close)(windows_core::Interface::as_raw(self))
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IClosable_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Close: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IColumnDefinition,
IColumnDefinition_Vtbl,
0x454cea14_87ec_5890_bb62_f1d82a94758e
);
impl windows_core::RuntimeType for IColumnDefinition {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IColumnDefinition {
pub fn SetWidth(&self, value: GridLength) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetWidth)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMaxWidth(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMaxWidth)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMinWidth(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMinWidth)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IColumnDefinition_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Width: usize,
pub SetWidth:
unsafe extern "system" fn(*mut core::ffi::c_void, GridLength) -> windows_core::HRESULT,
MaxWidth: usize,
pub SetMaxWidth:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
MinWidth: usize,
pub SetMinWidth:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
ActualWidth: usize,
}
windows_core::imp::define_interface!(
IColumnDefinitionStatics,
IColumnDefinitionStatics_Vtbl,
0xaba4b755_ca63_5ed7_ae31_45f9f91920b0
);
impl windows_core::RuntimeType for IColumnDefinitionStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IColumnDefinitionStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
WidthProperty: usize,
MaxWidthProperty: usize,
MinWidthProperty: usize,
}
windows_core::imp::define_interface!(
IComboBox,
IComboBox_Vtbl,
0xc77da58b_4fd7_51e0_a431_f84658a83e9e
);
impl windows_core::RuntimeType for IComboBox {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IComboBox {
pub fn SetHeader<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetHeader)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetPlaceholderText(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPlaceholderText)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn Text(&self) -> windows_core::Result<windows_core::HSTRING> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Text)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| core::mem::transmute(result__))
}
}
pub fn SetText(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetText)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IComboBox_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsDropDownOpen: usize,
SetIsDropDownOpen: usize,
IsEditable: usize,
SetIsEditable: usize,
IsSelectionBoxHighlighted: usize,
MaxDropDownHeight: usize,
SetMaxDropDownHeight: usize,
SelectionBoxItem: usize,
SelectionBoxItemTemplate: usize,
TemplateSettings: usize,
Header: usize,
pub SetHeader: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
HeaderTemplate: usize,
SetHeaderTemplate: usize,
PlaceholderText: usize,
pub SetPlaceholderText: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
LightDismissOverlayMode: usize,
SetLightDismissOverlayMode: usize,
IsTextSearchEnabled: usize,
SetIsTextSearchEnabled: usize,
SelectionChangedTrigger: usize,
SetSelectionChangedTrigger: usize,
PlaceholderForeground: usize,
SetPlaceholderForeground: usize,
pub Text: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetText: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
TextBoxStyle: usize,
SetTextBoxStyle: usize,
Description: usize,
SetDescription: usize,
DropDownClosed: usize,
RemoveDropDownClosed: usize,
DropDownOpened: usize,
RemoveDropDownOpened: usize,
TextSubmitted: usize,
RemoveTextSubmitted: usize,
}
windows_core::imp::define_interface!(
IComboBoxFactory,
IComboBoxFactory_Vtbl,
0x71c1014b_acdf_5c03_b5ed_02871caaeb6b
);
impl windows_core::RuntimeType for IComboBoxFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IComboBoxFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IComboBoxOverrides,
IComboBoxOverrides_Vtbl,
0xa6afbc7a_284f_5b9a_89fe_a334b613f895
);
impl windows_core::RuntimeType for IComboBoxOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IComboBoxOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
OnDropDownClosed: usize,
OnDropDownOpened: usize,
}
windows_core::imp::define_interface!(
IComboBoxStatics,
IComboBoxStatics_Vtbl,
0x7da7cd09_e256_5238_9fed_02b2f3afba25
);
impl windows_core::RuntimeType for IComboBoxStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IComboBoxStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsEditableProperty: usize,
IsDropDownOpenProperty: usize,
MaxDropDownHeightProperty: usize,
HeaderProperty: usize,
HeaderTemplateProperty: usize,
PlaceholderTextProperty: usize,
LightDismissOverlayModeProperty: usize,
IsTextSearchEnabledProperty: usize,
SelectionChangedTriggerProperty: usize,
PlaceholderForegroundProperty: usize,
TextProperty: usize,
TextBoxStyleProperty: usize,
DescriptionProperty: usize,
}
windows_core::imp::define_interface!(
ICompositionAnimation,
ICompositionAnimation_Vtbl,
0xa829ccc8_6fde_5b90_ad37_efd307e1b631
);
impl windows_core::RuntimeType for ICompositionAnimation {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimation_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub ClearAllParameters:
unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
pub ClearParameter: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetColorParameter: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
Color,
) -> windows_core::HRESULT,
pub SetMatrix3x2Parameter: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
windows_numerics::Matrix3x2,
) -> windows_core::HRESULT,
pub SetMatrix4x4Parameter: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
windows_numerics::Matrix4x4,
) -> windows_core::HRESULT,
SetQuaternionParameter: usize,
pub SetReferenceParameter: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetScalarParameter: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
f32,
) -> windows_core::HRESULT,
pub SetVector2Parameter: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
windows_numerics::Vector2,
) -> windows_core::HRESULT,
pub SetVector3Parameter: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
windows_numerics::Vector3,
) -> windows_core::HRESULT,
pub SetVector4Parameter: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
windows_numerics::Vector4,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ICompositionAnimation2,
ICompositionAnimation2_Vtbl,
0x0926eb58_8965_5c74_bdac_852ebb5e8542
);
impl windows_core::RuntimeType for ICompositionAnimation2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ICompositionAnimation2 {
pub fn SetTarget(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetTarget)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimation2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
SetBooleanParameter: usize,
Target: usize,
pub SetTarget: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ICompositionAnimation3,
ICompositionAnimation3_Vtbl,
0x60063f53_4167_5914_a2f1_9efcc2f86c76
);
impl windows_core::RuntimeType for ICompositionAnimation3 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimation3_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
InitialValueExpressions: usize,
}
windows_core::imp::define_interface!(
ICompositionAnimation4,
ICompositionAnimation4_Vtbl,
0xc4101447_dfe4_597f_b5bc_96443f5d18a1
);
impl windows_core::RuntimeType for ICompositionAnimation4 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimation4_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub SetExpressionReferenceParameter: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ICompositionAnimationBase,
ICompositionAnimationBase_Vtbl,
0xa77c0e5a_f059_4e85_bcef_c068694cec78
);
impl windows_core::RuntimeType for ICompositionAnimationBase {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
ICompositionAnimationBase,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimationBase_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
ICompositionAnimationFactory,
ICompositionAnimationFactory_Vtbl,
0x2ed278ca_4cca_5f7f_8d47_f930552a7769
);
impl windows_core::RuntimeType for ICompositionAnimationFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionAnimationFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
ICompositionEasingFunction,
ICompositionEasingFunction_Vtbl,
0x8e1ecd0d_57d8_5bc9_9bcd_e43d0dd733c4
);
impl windows_core::RuntimeType for ICompositionEasingFunction {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionEasingFunction_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
ICompositionEasingFunctionFactory,
ICompositionEasingFunctionFactory_Vtbl,
0x7d7d32c3_574b_5620_9902_db426851802f
);
impl windows_core::RuntimeType for ICompositionEasingFunctionFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionEasingFunctionFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
ICompositionEasingFunctionStatics,
ICompositionEasingFunctionStatics_Vtbl,
0x9d4b87ff_6dca_5ce2_b69c_e52705b0fef4
);
impl windows_core::RuntimeType for ICompositionEasingFunctionStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionEasingFunctionStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateCubicBezierEasingFunction: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
windows_numerics::Vector2,
windows_numerics::Vector2,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub CreateLinearEasingFunction: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
CreateStepEasingFunction: usize,
CreateStepEasingFunctionWithStepCount: usize,
CreateBackEasingFunction: usize,
CreateBounceEasingFunction: usize,
CreateCircleEasingFunction: usize,
CreateElasticEasingFunction: usize,
CreateExponentialEasingFunction: usize,
CreatePowerEasingFunction: usize,
CreateSineEasingFunction: usize,
}
windows_core::imp::define_interface!(
ICompositionObject,
ICompositionObject_Vtbl,
0x0e583d49_fb5e_5481_a426_d3c41e059a5a
);
impl windows_core::RuntimeType for ICompositionObject {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ICompositionObject {
pub fn Compositor(&self) -> windows_core::Result<Compositor> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Compositor)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn StartAnimation<P1>(
&self,
propertyname: &windows_core::HSTRING,
animation: P1,
) -> windows_core::Result<()>
where
P1: windows_core::Param<CompositionAnimation>,
{
unsafe {
(windows_core::Interface::vtable(self).StartAnimation)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(propertyname),
animation.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObject_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Compositor: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
Properties: usize,
pub StartAnimation: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
StopAnimation: usize,
}
windows_core::imp::define_interface!(
ICompositionObject2,
ICompositionObject2_Vtbl,
0xbcbbfebf_799c_51ce_9c82_b6e49e7e62e1
);
impl windows_core::RuntimeType for ICompositionObject2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ICompositionObject2 {
pub fn SetImplicitAnimations<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<ImplicitAnimationCollection>,
{
unsafe {
(windows_core::Interface::vtable(self).SetImplicitAnimations)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObject2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Comment: usize,
SetComment: usize,
ImplicitAnimations: usize,
pub SetImplicitAnimations: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
StartAnimationGroup: usize,
StopAnimationGroup: usize,
}
windows_core::imp::define_interface!(
ICompositionObject3,
ICompositionObject3_Vtbl,
0xd43c5cf1_47df_52b8_b409_d5831503905e
);
impl windows_core::RuntimeType for ICompositionObject3 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ICompositionObject3 {
pub fn DispatcherQueue(&self) -> windows_core::Result<DispatcherQueue> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).DispatcherQueue)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObject3_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub DispatcherQueue: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ICompositionObject4,
ICompositionObject4_Vtbl,
0x029ad57c_5497_51f3_8b40_e4e235992c6f
);
impl windows_core::RuntimeType for ICompositionObject4 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObject4_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
TryGetAnimationController: usize,
}
windows_core::imp::define_interface!(
ICompositionObject5,
ICompositionObject5_Vtbl,
0x85fd26d1_bb99_5392_9dce_a05cb81458a5
);
impl windows_core::RuntimeType for ICompositionObject5 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObject5_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
StartAnimationWithController: usize,
}
windows_core::imp::define_interface!(
ICompositionObjectFactory,
ICompositionObjectFactory_Vtbl,
0x6133c5f9_cd3b_56b2_876f_eb849db14911
);
impl windows_core::RuntimeType for ICompositionObjectFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObjectFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
ICompositionObjectStatics,
ICompositionObjectStatics_Vtbl,
0xa091356c_38ae_514c_9b58_ad5c8c7936ad
);
impl windows_core::RuntimeType for ICompositionObjectStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionObjectStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
StartAnimationWithIAnimationObject: usize,
StartAnimationGroupWithIAnimationObject: usize,
}
windows_core::imp::define_interface!(
ICompositionTarget,
ICompositionTarget_Vtbl,
0x7d938324_e3ad_597c_93f6_520725410e68
);
impl windows_core::RuntimeType for ICompositionTarget {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionTarget_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
ICompositionTargetStatics,
ICompositionTargetStatics_Vtbl,
0x12a4be6f_6db1_5165_b622_d57ab782745b
);
impl windows_core::RuntimeType for ICompositionTargetStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositionTargetStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Rendering: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveRendering:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
Rendered: usize,
RemoveRendered: usize,
SurfaceContentsLost: usize,
RemoveSurfaceContentsLost: usize,
pub GetCompositorForCurrentThread: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ICompositor,
ICompositor_Vtbl,
0x95213c13_c4cb_57de_b267_d21ab901ae38
);
impl windows_core::RuntimeType for ICompositor {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ICompositor {
pub fn CreateCubicBezierEasingFunction(
&self,
controlpoint1: windows_numerics::Vector2,
controlpoint2: windows_numerics::Vector2,
) -> windows_core::Result<CubicBezierEasingFunction> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).CreateCubicBezierEasingFunction)(
windows_core::Interface::as_raw(self),
controlpoint1,
controlpoint2,
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn CreateLinearEasingFunction(&self) -> windows_core::Result<LinearEasingFunction> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).CreateLinearEasingFunction)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn CreateScalarKeyFrameAnimation(&self) -> windows_core::Result<ScalarKeyFrameAnimation> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).CreateScalarKeyFrameAnimation)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn CreateVector3KeyFrameAnimation(&self) -> windows_core::Result<Vector3KeyFrameAnimation> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).CreateVector3KeyFrameAnimation)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateColorKeyFrameAnimation: usize,
CreateColorBrush: usize,
CreateColorBrushWithColor: usize,
CreateContainerVisual: usize,
pub CreateCubicBezierEasingFunction: unsafe extern "system" fn(
*mut core::ffi::c_void,
windows_numerics::Vector2,
windows_numerics::Vector2,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
CreateEffectFactory: usize,
CreateEffectFactoryWithProperties: usize,
CreateExpressionAnimation: usize,
CreateExpressionAnimationWithExpression: usize,
CreateInsetClip: usize,
CreateInsetClipWithInsets: usize,
pub CreateLinearEasingFunction: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
CreatePropertySet: usize,
CreateQuaternionKeyFrameAnimation: usize,
pub CreateScalarKeyFrameAnimation: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
CreateScopedBatch: usize,
CreateSpriteVisual: usize,
CreateSurfaceBrush: usize,
CreateSurfaceBrushWithSurface: usize,
CreateVector2KeyFrameAnimation: usize,
pub CreateVector3KeyFrameAnimation: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
CreateVector4KeyFrameAnimation: usize,
GetCommitBatch: usize,
}
windows_core::imp::define_interface!(
ICompositor2,
ICompositor2_Vtbl,
0xa9ffedad_3982_576d_a38a_c888ff605819
);
impl windows_core::RuntimeType for ICompositor2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ICompositor2 {
pub fn CreateImplicitAnimationCollection(
&self,
) -> windows_core::Result<ImplicitAnimationCollection> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).CreateImplicitAnimationCollection)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateAmbientLight: usize,
CreateAnimationGroup: usize,
CreateBackdropBrush: usize,
CreateDistantLight: usize,
CreateDropShadow: usize,
pub CreateImplicitAnimationCollection: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
CreateLayerVisual: usize,
CreateMaskBrush: usize,
CreateNineGridBrush: usize,
CreatePointLight: usize,
CreateSpotLight: usize,
CreateStepEasingFunction: usize,
CreateStepEasingFunctionWithStepCount: usize,
}
windows_core::imp::define_interface!(
ICompositor4,
ICompositor4_Vtbl,
0xee444bca_735c_5cf2_b79d_a6dd46c16160
);
impl windows_core::RuntimeType for ICompositor4 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor4_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateColorGradientStop: usize,
CreateColorGradientStopWithOffsetAndColor: usize,
CreateLinearGradientBrush: usize,
CreateSpringScalarAnimation: usize,
CreateSpringVector2Animation: usize,
CreateSpringVector3Animation: usize,
}
windows_core::imp::define_interface!(
ICompositor5,
ICompositor5_Vtbl,
0xbb52d644_a030_5c19_b883_577ded739ae7
);
impl windows_core::RuntimeType for ICompositor5 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor5_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Comment: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetComment: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub GlobalPlaybackRate:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut f32) -> windows_core::HRESULT,
pub SetGlobalPlaybackRate:
unsafe extern "system" fn(*mut core::ffi::c_void, f32) -> windows_core::HRESULT,
CreateBounceScalarAnimation: usize,
CreateBounceVector2Animation: usize,
CreateBounceVector3Animation: usize,
CreateContainerShape: usize,
CreateEllipseGeometry: usize,
CreateLineGeometry: usize,
CreatePathGeometry: usize,
CreatePathGeometryWithPath: usize,
CreatePathKeyFrameAnimation: usize,
CreateRectangleGeometry: usize,
CreateRoundedRectangleGeometry: usize,
CreateShapeVisual: usize,
CreateSpriteShape: usize,
CreateSpriteShapeWithGeometry: usize,
CreateViewBox: usize,
pub RequestCommitAsync: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ICompositor6,
ICompositor6_Vtbl,
0x5fd20200_c188_5737_b567_5e61741af19c
);
impl windows_core::RuntimeType for ICompositor6 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor6_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateGeometricClip: usize,
CreateGeometricClipWithGeometry: usize,
CreateRedirectVisual: usize,
CreateRedirectVisualWithSourceVisual: usize,
CreateBooleanKeyFrameAnimation: usize,
}
windows_core::imp::define_interface!(
ICompositor7,
ICompositor7_Vtbl,
0x5358b81b_4799_5e7c_906c_e3df3b2e95eb
);
impl windows_core::RuntimeType for ICompositor7 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ICompositor7 {
pub fn DispatcherQueue(&self) -> windows_core::Result<DispatcherQueue> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).DispatcherQueue)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor7_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub DispatcherQueue: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
CreateAnimationPropertyInfo: usize,
CreateRectangleClip: usize,
CreateRectangleClipWithSides: usize,
CreateRectangleClipWithSidesAndRadius: usize,
}
windows_core::imp::define_interface!(
ICompositor8,
ICompositor8_Vtbl,
0x02f5c9ee_a3c0_577a_9d23_44024c8eacda
);
impl windows_core::RuntimeType for ICompositor8 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositor8_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateAnimationController: usize,
}
windows_core::imp::define_interface!(
ICompositorStatics,
ICompositorStatics_Vtbl,
0x6baa947a_f103_55c6_91ad_3d275bea65c4
);
impl windows_core::RuntimeType for ICompositorStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositorStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub MaxGlobalPlaybackRate:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut f32) -> windows_core::HRESULT,
pub MinGlobalPlaybackRate:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut f32) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ICompositorWithProjectedShadow,
ICompositorWithProjectedShadow_Vtbl,
0x60ab2bf2_b95c_5944_8b36_c9773b9f5256
);
impl windows_core::RuntimeType for ICompositorWithProjectedShadow {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositorWithProjectedShadow_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateProjectedShadowCaster: usize,
CreateProjectedShadow: usize,
CreateProjectedShadowReceiver: usize,
}
windows_core::imp::define_interface!(
ICompositorWithRadialGradient,
ICompositorWithRadialGradient_Vtbl,
0xfa4f8f7d_5cc7_5c9c_883b_fe878a2f3e30
);
impl windows_core::RuntimeType for ICompositorWithRadialGradient {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositorWithRadialGradient_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateRadialGradientBrush: usize,
}
windows_core::imp::define_interface!(
ICompositorWithVisualSurface,
ICompositorWithVisualSurface_Vtbl,
0x5fcfe24a_690a_5378_acee_561e84bfb982
);
impl windows_core::RuntimeType for ICompositorWithVisualSurface {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICompositorWithVisualSurface_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateVisualSurface: usize,
}
windows_core::imp::define_interface!(
IContentControl,
IContentControl_Vtbl,
0x07e81761_11b2_52ae_8f8b_4d53d2b5900a
);
impl windows_core::RuntimeType for IContentControl {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IContentControl {
pub fn Content(&self) -> windows_core::Result<windows_core::IInspectable> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Content)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetContent<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetContent)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IContentControl_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Content: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetContent: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
ContentTemplate: usize,
SetContentTemplate: usize,
ContentTemplateSelector: usize,
SetContentTemplateSelector: usize,
ContentTransitions: usize,
SetContentTransitions: usize,
ContentTemplateRoot: usize,
}
windows_core::imp::define_interface!(
IContentControlFactory,
IContentControlFactory_Vtbl,
0x3dea958e_5acd_5f80_8938_38634f51493a
);
impl windows_core::RuntimeType for IContentControlFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IContentControlFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IContentControlOverrides,
IContentControlOverrides_Vtbl,
0x2504174a_017e_5a2d_9c28_d97c66ae9937
);
impl windows_core::RuntimeType for IContentControlOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IContentControlOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
OnContentChanged: usize,
OnContentTemplateChanged: usize,
OnContentTemplateSelectorChanged: usize,
}
windows_core::imp::define_interface!(
IContentControlStatics,
IContentControlStatics_Vtbl,
0xf25484f4_2fed_5a0a_8864_7d6d4ac43ef8
);
impl windows_core::RuntimeType for IContentControlStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IContentControlStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ContentProperty: usize,
ContentTemplateProperty: usize,
ContentTemplateSelectorProperty: usize,
ContentTransitionsProperty: usize,
}
windows_core::imp::define_interface!(
IContentDialog,
IContentDialog_Vtbl,
0xac2145a3_4a32_5305_a81d_47509515bfce
);
impl windows_core::RuntimeType for IContentDialog {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IContentDialog {
pub fn SetTitle<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetTitle)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetPrimaryButtonText(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPrimaryButtonText)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn SetSecondaryButtonText(
&self,
value: &windows_core::HSTRING,
) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetSecondaryButtonText)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn SetCloseButtonText(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetCloseButtonText)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn SetIsPrimaryButtonEnabled(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsPrimaryButtonEnabled)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetIsSecondaryButtonEnabled(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsSecondaryButtonEnabled)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Closed<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<TypedEventHandler<ContentDialog, ContentDialogClosedEventArgs>>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Closed)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveClosed(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveClosed)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
pub fn Hide(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).Hide)(windows_core::Interface::as_raw(self)).ok()
}
}
pub fn ShowAsync(
&self,
) -> windows_core::Result<windows_future::IAsyncOperation<ContentDialogResult>> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).ShowAsync)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IContentDialog_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Title: usize,
pub SetTitle: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
TitleTemplate: usize,
SetTitleTemplate: usize,
FullSizeDesired: usize,
SetFullSizeDesired: usize,
PrimaryButtonText: usize,
pub SetPrimaryButtonText: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
SecondaryButtonText: usize,
pub SetSecondaryButtonText: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
CloseButtonText: usize,
pub SetCloseButtonText: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
PrimaryButtonCommand: usize,
SetPrimaryButtonCommand: usize,
SecondaryButtonCommand: usize,
SetSecondaryButtonCommand: usize,
CloseButtonCommand: usize,
SetCloseButtonCommand: usize,
PrimaryButtonCommandParameter: usize,
SetPrimaryButtonCommandParameter: usize,
SecondaryButtonCommandParameter: usize,
SetSecondaryButtonCommandParameter: usize,
CloseButtonCommandParameter: usize,
SetCloseButtonCommandParameter: usize,
IsPrimaryButtonEnabled: usize,
pub SetIsPrimaryButtonEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
IsSecondaryButtonEnabled: usize,
pub SetIsSecondaryButtonEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
PrimaryButtonStyle: usize,
SetPrimaryButtonStyle: usize,
SecondaryButtonStyle: usize,
SetSecondaryButtonStyle: usize,
CloseButtonStyle: usize,
SetCloseButtonStyle: usize,
DefaultButton: usize,
SetDefaultButton: usize,
Closing: usize,
RemoveClosing: usize,
pub Closed: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveClosed:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
Opened: usize,
RemoveOpened: usize,
PrimaryButtonClick: usize,
RemovePrimaryButtonClick: usize,
SecondaryButtonClick: usize,
RemoveSecondaryButtonClick: usize,
CloseButtonClick: usize,
RemoveCloseButtonClick: usize,
pub Hide: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
pub ShowAsync: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
ShowAsyncWithPlacement: usize,
}
windows_core::imp::define_interface!(
IContentDialogClosedEventArgs,
IContentDialogClosedEventArgs_Vtbl,
0x9b84e681_1ab6_5485_88b2_d0d3c05b29f3
);
impl windows_core::RuntimeType for IContentDialogClosedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IContentDialogClosedEventArgs {
pub fn Result(&self) -> windows_core::Result<ContentDialogResult> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Result)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IContentDialogClosedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Result: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut ContentDialogResult,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IContentDialogFactory,
IContentDialogFactory_Vtbl,
0xa05b3ad7_c60e_545a_9ee4_f098220ed816
);
impl windows_core::RuntimeType for IContentDialogFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IContentDialogFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IContentDialogStatics,
IContentDialogStatics_Vtbl,
0x397b18dd_6964_5056_97c3_d69cd7716a4b
);
impl windows_core::RuntimeType for IContentDialogStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IContentDialogStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
TitleProperty: usize,
TitleTemplateProperty: usize,
FullSizeDesiredProperty: usize,
PrimaryButtonTextProperty: usize,
SecondaryButtonTextProperty: usize,
CloseButtonTextProperty: usize,
PrimaryButtonCommandProperty: usize,
SecondaryButtonCommandProperty: usize,
CloseButtonCommandProperty: usize,
PrimaryButtonCommandParameterProperty: usize,
SecondaryButtonCommandParameterProperty: usize,
CloseButtonCommandParameterProperty: usize,
IsPrimaryButtonEnabledProperty: usize,
IsSecondaryButtonEnabledProperty: usize,
PrimaryButtonStyleProperty: usize,
SecondaryButtonStyleProperty: usize,
CloseButtonStyleProperty: usize,
DefaultButtonProperty: usize,
}
windows_core::imp::define_interface!(
IControl,
IControl_Vtbl,
0x857d6e8a_d45a_5c69_a99c_bf6a5c54fb38
);
impl windows_core::RuntimeType for IControl {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IControl {
pub fn SetFontSize(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetFontSize)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetFontWeight(&self, value: FontWeight) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetFontWeight)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetForeground<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<Brush>,
{
unsafe {
(windows_core::Interface::vtable(self).SetForeground)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn IsEnabled(&self) -> windows_core::Result<bool> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).IsEnabled)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetIsEnabled(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsEnabled)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetPadding(&self, value: Thickness) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPadding)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetBackground<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<Brush>,
{
unsafe {
(windows_core::Interface::vtable(self).SetBackground)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetCornerRadius(&self, value: CornerRadius) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetCornerRadius)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IControl_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsFocusEngagementEnabled: usize,
SetIsFocusEngagementEnabled: usize,
IsFocusEngaged: usize,
SetIsFocusEngaged: usize,
RequiresPointer: usize,
SetRequiresPointer: usize,
FontSize: usize,
pub SetFontSize:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
FontFamily: usize,
SetFontFamily: usize,
FontWeight: usize,
pub SetFontWeight:
unsafe extern "system" fn(*mut core::ffi::c_void, FontWeight) -> windows_core::HRESULT,
FontStyle: usize,
SetFontStyle: usize,
FontStretch: usize,
SetFontStretch: usize,
CharacterSpacing: usize,
SetCharacterSpacing: usize,
Foreground: usize,
pub SetForeground: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
IsTextScaleFactorEnabled: usize,
SetIsTextScaleFactorEnabled: usize,
pub IsEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut bool) -> windows_core::HRESULT,
pub SetIsEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
TabNavigation: usize,
SetTabNavigation: usize,
Template: usize,
SetTemplate: usize,
Padding: usize,
pub SetPadding:
unsafe extern "system" fn(*mut core::ffi::c_void, Thickness) -> windows_core::HRESULT,
HorizontalContentAlignment: usize,
SetHorizontalContentAlignment: usize,
VerticalContentAlignment: usize,
SetVerticalContentAlignment: usize,
Background: usize,
pub SetBackground: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
BackgroundSizing: usize,
SetBackgroundSizing: usize,
BorderThickness: usize,
SetBorderThickness: usize,
BorderBrush: usize,
SetBorderBrush: usize,
DefaultStyleResourceUri: usize,
SetDefaultStyleResourceUri: usize,
ElementSoundMode: usize,
SetElementSoundMode: usize,
CornerRadius: usize,
pub SetCornerRadius:
unsafe extern "system" fn(*mut core::ffi::c_void, CornerRadius) -> windows_core::HRESULT,
FocusEngaged: usize,
RemoveFocusEngaged: usize,
FocusDisengaged: usize,
RemoveFocusDisengaged: usize,
IsEnabledChanged: usize,
RemoveIsEnabledChanged: usize,
RemoveFocusEngagement: usize,
ApplyTemplate: usize,
}
windows_core::imp::define_interface!(
IControlFactory,
IControlFactory_Vtbl,
0x25159233_9438_5534_aeb9_00eb059cf73f
);
impl windows_core::RuntimeType for IControlFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IControlFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IControlOverrides,
IControlOverrides_Vtbl,
0x5f644395_2177_5161_9f87_c6c749c73a03
);
impl windows_core::RuntimeType for IControlOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IControlOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub OnPointerEntered: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub OnPointerPressed: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub OnPointerMoved: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub OnPointerReleased: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub OnPointerExited: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub OnPointerCaptureLost: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub OnPointerCanceled: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub OnPointerWheelChanged: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub OnTapped: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
OnDoubleTapped: usize,
OnHolding: usize,
pub OnRightTapped: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
OnManipulationStarting: usize,
OnManipulationInertiaStarting: usize,
OnManipulationStarted: usize,
OnManipulationDelta: usize,
OnManipulationCompleted: usize,
OnKeyUp: usize,
OnKeyDown: usize,
OnPreviewKeyDown: usize,
OnPreviewKeyUp: usize,
pub OnGotFocus: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub OnLostFocus: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
OnCharacterReceived: usize,
OnDragEnter: usize,
OnDragLeave: usize,
OnDragOver: usize,
OnDrop: usize,
}
windows_core::imp::define_interface!(
IControlProtected,
IControlProtected_Vtbl,
0x5c750339_1789_5095_a214_dd9d0564e579
);
impl windows_core::RuntimeType for IControlProtected {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IControlProtected_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
DefaultStyleKey: usize,
SetDefaultStyleKey: usize,
GetTemplateChild: usize,
}
windows_core::imp::define_interface!(
IControlStatics,
IControlStatics_Vtbl,
0xc3ae388d_aa36_5e10_acac_98415f47bcc7
);
impl windows_core::RuntimeType for IControlStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IControlStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsFocusEngagementEnabledProperty: usize,
IsFocusEngagedProperty: usize,
RequiresPointerProperty: usize,
FontSizeProperty: usize,
FontFamilyProperty: usize,
FontWeightProperty: usize,
FontStyleProperty: usize,
FontStretchProperty: usize,
CharacterSpacingProperty: usize,
ForegroundProperty: usize,
IsTextScaleFactorEnabledProperty: usize,
IsEnabledProperty: usize,
TabNavigationProperty: usize,
TemplateProperty: usize,
PaddingProperty: usize,
HorizontalContentAlignmentProperty: usize,
VerticalContentAlignmentProperty: usize,
BackgroundProperty: usize,
BackgroundSizingProperty: usize,
BorderThicknessProperty: usize,
BorderBrushProperty: usize,
DefaultStyleKeyProperty: usize,
DefaultStyleResourceUriProperty: usize,
ElementSoundModeProperty: usize,
CornerRadiusProperty: usize,
IsTemplateFocusTargetProperty: usize,
GetIsTemplateFocusTarget: usize,
SetIsTemplateFocusTarget: usize,
IsTemplateKeyTipTargetProperty: usize,
GetIsTemplateKeyTipTarget: usize,
SetIsTemplateKeyTipTarget: usize,
}
windows_core::imp::define_interface!(
ICubicBezierEasingFunction,
ICubicBezierEasingFunction_Vtbl,
0x35e7fcde_f9ce_590a_8b88_64a82a6b4b48
);
impl windows_core::RuntimeType for ICubicBezierEasingFunction {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ICubicBezierEasingFunction_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub ControlPoint1: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut windows_numerics::Vector2,
) -> windows_core::HRESULT,
pub ControlPoint2: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut windows_numerics::Vector2,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IDataTemplate,
IDataTemplate_Vtbl,
0x08fa70fa_ee75_5e92_a101_f52d0e1e9fab
);
impl windows_core::RuntimeType for IDataTemplate {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IDataTemplate_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
LoadContent: usize,
}
windows_core::imp::define_interface!(
IDataTemplateFactory,
IDataTemplateFactory_Vtbl,
0xd8e8249d_305b_5ca5_acf8_3e1beffd0219
);
impl windows_core::RuntimeType for IDataTemplateFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IDataTemplateFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IDataTemplateStatics,
IDataTemplateStatics_Vtbl,
0xcf6ada69_4bf1_5f2d_8bdb_09ea1a26f975
);
impl windows_core::RuntimeType for IDataTemplateStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IDataTemplateStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ExtensionInstanceProperty: usize,
GetExtensionInstance: usize,
SetExtensionInstance: usize,
}
windows_core::imp::define_interface!(
IDependencyObject,
IDependencyObject_Vtbl,
0xe7beaee7_160e_50f7_8789_d63463f979fa
);
impl windows_core::RuntimeType for IDependencyObject {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IDependencyObject {
pub fn DispatcherQueue(&self) -> windows_core::Result<DispatcherQueue> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).DispatcherQueue)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IDependencyObject_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
GetValue: usize,
SetValue: usize,
ClearValue: usize,
ReadLocalValue: usize,
GetAnimationBaseValue: usize,
RegisterPropertyChangedCallback: usize,
UnregisterPropertyChangedCallback: usize,
Dispatcher: usize,
pub DispatcherQueue: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IDependencyObjectFactory,
IDependencyObjectFactory_Vtbl,
0x936b614c_475f_5d7d_b3f7_bf1fbea28126
);
impl windows_core::RuntimeType for IDependencyObjectFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IDependencyObjectFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IDispatcherQueue,
IDispatcherQueue_Vtbl,
0xf6ebf8fa_be1c_5bf6_a467_73da28738ae8
);
impl windows_core::RuntimeType for IDispatcherQueue {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IDispatcherQueue {
pub fn CreateTimer(&self) -> windows_core::Result<DispatcherQueueTimer> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).CreateTimer)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn TryEnqueue<P0>(&self, callback: P0) -> windows_core::Result<bool>
where
P0: windows_core::Param<DispatcherQueueHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).TryEnqueue)(
windows_core::Interface::as_raw(self),
callback.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn TryEnqueueWithPriority<P1>(
&self,
priority: DispatcherQueuePriority,
callback: P1,
) -> windows_core::Result<bool>
where
P1: windows_core::Param<DispatcherQueueHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).TryEnqueueWithPriority)(
windows_core::Interface::as_raw(self),
priority,
callback.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IDispatcherQueue_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateTimer: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub TryEnqueue: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut bool,
) -> windows_core::HRESULT,
pub TryEnqueueWithPriority: unsafe extern "system" fn(
*mut core::ffi::c_void,
DispatcherQueuePriority,
*mut core::ffi::c_void,
*mut bool,
) -> windows_core::HRESULT,
ShutdownStarting: usize,
RemoveShutdownStarting: usize,
ShutdownCompleted: usize,
RemoveShutdownCompleted: usize,
}
windows_core::imp::define_interface!(
IDispatcherQueue2,
IDispatcherQueue2_Vtbl,
0x0cf48751_f1ac_59b8_ba52_6ce7a1444d6f
);
impl windows_core::RuntimeType for IDispatcherQueue2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IDispatcherQueue2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
HasThreadAccess: usize,
}
windows_core::imp::define_interface!(
IDispatcherQueue3,
IDispatcherQueue3_Vtbl,
0x14a7a175_5c27_5a35_b079_21960cf764a8
);
impl windows_core::RuntimeType for IDispatcherQueue3 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IDispatcherQueue3 {
pub fn EnsureSystemDispatcherQueue(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).EnsureSystemDispatcherQueue)(
windows_core::Interface::as_raw(self),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IDispatcherQueue3_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
EnqueueEventLoopExit: usize,
pub EnsureSystemDispatcherQueue:
unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
RunEventLoop: usize,
RunEventLoopWithOptions: usize,
FrameworkShutdownStarting: usize,
RemoveFrameworkShutdownStarting: usize,
FrameworkShutdownCompleted: usize,
RemoveFrameworkShutdownCompleted: usize,
}
windows_core::imp::define_interface!(
IDispatcherQueueStatics,
IDispatcherQueueStatics_Vtbl,
0xcd3382ea_a455_5124_b63a_ca40d34ca23c
);
impl windows_core::RuntimeType for IDispatcherQueueStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IDispatcherQueueStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub GetForCurrentThread: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IDispatcherQueueTimer,
IDispatcherQueueTimer_Vtbl,
0xad4d63fd_88fe_541f_ac11_bf2dc1ed2ce5
);
impl windows_core::RuntimeType for IDispatcherQueueTimer {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IDispatcherQueueTimer {
pub fn SetInterval(&self, value: TimeSpan) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetInterval)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetIsRepeating(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsRepeating)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Start(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).Start)(windows_core::Interface::as_raw(self))
.ok()
}
}
pub fn Stop(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).Stop)(windows_core::Interface::as_raw(self)).ok()
}
}
pub fn Tick<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<
TypedEventHandler<DispatcherQueueTimer, windows_core::IInspectable>,
>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Tick)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveTick(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveTick)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IDispatcherQueueTimer_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Interval: usize,
pub SetInterval:
unsafe extern "system" fn(*mut core::ffi::c_void, TimeSpan) -> windows_core::HRESULT,
IsRunning: usize,
IsRepeating: usize,
pub SetIsRepeating:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
pub Start: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
pub Stop: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
pub Tick: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveTick: unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IElementCompositionPreview,
IElementCompositionPreview_Vtbl,
0xc8ad1ef4_a93f_5a25_85bd_7c498d9856d3
);
impl windows_core::RuntimeType for IElementCompositionPreview {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IElementCompositionPreview_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IElementCompositionPreviewStatics,
IElementCompositionPreviewStatics_Vtbl,
0x84da5a6c_0cfa_532b_9b15_ccd986374342
);
impl windows_core::RuntimeType for IElementCompositionPreviewStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IElementCompositionPreviewStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub GetElementVisual: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub GetElementChildVisual: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetElementChildVisual: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
GetScrollViewerManipulationPropertySet: usize,
pub SetImplicitShowAnimation: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetImplicitHideAnimation: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetIsTranslationEnabled: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
bool,
) -> windows_core::HRESULT,
GetPointerPositionPropertySet: usize,
}
windows_core::imp::define_interface!(
IElementFactory,
IElementFactory_Vtbl,
0x75faba47_2cf2_54ae_91e6_0581556fddaa
);
impl windows_core::RuntimeType for IElementFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IElementFactory,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct IElementFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
GetElement: usize,
RecycleElement: usize,
}
windows_core::imp::define_interface!(
IEllipse,
IEllipse_Vtbl,
0x805c39aa_fa8a_5e0b_9847_4ab81b42a3df
);
impl windows_core::RuntimeType for IEllipse {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IEllipse_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IExpander,
IExpander_Vtbl,
0xca633942_e584_55c2_b7ee_cffc73c8127a
);
impl windows_core::RuntimeType for IExpander {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IExpander {
pub fn SetHeader<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetHeader)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetIsExpanded(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsExpanded)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Expanding<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<TypedEventHandler<Expander, ExpanderExpandingEventArgs>>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Expanding)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveExpanding(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveExpanding)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
pub fn Collapsed<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<TypedEventHandler<Expander, ExpanderCollapsedEventArgs>>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Collapsed)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveCollapsed(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveCollapsed)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IExpander_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Header: usize,
pub SetHeader: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
HeaderTemplate: usize,
SetHeaderTemplate: usize,
HeaderTemplateSelector: usize,
SetHeaderTemplateSelector: usize,
IsExpanded: usize,
pub SetIsExpanded:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
ExpandDirection: usize,
SetExpandDirection: usize,
pub Expanding: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveExpanding:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
pub Collapsed: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveCollapsed:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
TemplateSettings: usize,
}
windows_core::imp::define_interface!(
IExpanderCollapsedEventArgs,
IExpanderCollapsedEventArgs_Vtbl,
0x968a6870_7426_535e_a526_279e6eedecd0
);
impl windows_core::RuntimeType for IExpanderCollapsedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IExpanderCollapsedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IExpanderExpandingEventArgs,
IExpanderExpandingEventArgs_Vtbl,
0x433f2e36_19e7_579c_b4ce_9ce5d510d001
);
impl windows_core::RuntimeType for IExpanderExpandingEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IExpanderExpandingEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IExpanderFactory,
IExpanderFactory_Vtbl,
0x51a5afc2_b16d_516e_83ae_5a10476b13af
);
impl windows_core::RuntimeType for IExpanderFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IExpanderFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IExpanderStatics,
IExpanderStatics_Vtbl,
0xb742c27b_c023_5096_8c2a_717d324afb7e
);
impl windows_core::RuntimeType for IExpanderStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IExpanderStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
HeaderProperty: usize,
HeaderTemplateProperty: usize,
HeaderTemplateSelectorProperty: usize,
IsExpandedProperty: usize,
ExpandDirectionProperty: usize,
}
windows_core::imp::define_interface!(
IFlipView,
IFlipView_Vtbl,
0x96c35e7f_cc48_5acc_b3b4_8ab4bdf1fe17
);
impl windows_core::RuntimeType for IFlipView {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IFlipView_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
UseTouchAnimationsForAllNavigation: usize,
SetUseTouchAnimationsForAllNavigation: usize,
}
windows_core::imp::define_interface!(
IFlipViewFactory,
IFlipViewFactory_Vtbl,
0xf3a89be6_81e3_53c4_9dc9_98a5a4e79b13
);
impl windows_core::RuntimeType for IFlipViewFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IFlipViewFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IFlipViewStatics,
IFlipViewStatics_Vtbl,
0x1e98fc86_2bc1_5c89_8305_251ad56a9cdb
);
impl windows_core::RuntimeType for IFlipViewStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IFlipViewStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
UseTouchAnimationsForAllNavigationProperty: usize,
}
windows_core::imp::define_interface!(
IFrameworkElement,
IFrameworkElement_Vtbl,
0xfe08f13d_dc6a_5495_ad44_c2d8d21863b0
);
impl windows_core::RuntimeType for IFrameworkElement {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IFrameworkElement {
pub fn Resources(&self) -> windows_core::Result<ResourceDictionary> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Resources)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn Tag(&self) -> windows_core::Result<windows_core::IInspectable> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Tag)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetTag<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetTag)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn ActualWidth(&self) -> windows_core::Result<f64> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).ActualWidth)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn ActualHeight(&self) -> windows_core::Result<f64> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).ActualHeight)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetWidth(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetWidth)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetHeight(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetHeight)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMinWidth(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMinWidth)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMaxWidth(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMaxWidth)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMinHeight(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMinHeight)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMaxHeight(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMaxHeight)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetHorizontalAlignment(&self, value: HorizontalAlignment) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetHorizontalAlignment)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetVerticalAlignment(&self, value: VerticalAlignment) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetVerticalAlignment)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMargin(&self, value: Thickness) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMargin)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetName(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetName)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn ActualTheme(&self) -> windows_core::Result<ElementTheme> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).ActualTheme)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn ActualThemeChanged<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<TypedEventHandler<FrameworkElement, windows_core::IInspectable>>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).ActualThemeChanged)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IFrameworkElement_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Triggers: usize,
pub Resources: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
SetResources: usize,
pub Tag: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetTag: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
Language: usize,
SetLanguage: usize,
pub ActualWidth:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
pub ActualHeight:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
Width: usize,
pub SetWidth: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
Height: usize,
pub SetHeight: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
MinWidth: usize,
pub SetMinWidth:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
MaxWidth: usize,
pub SetMaxWidth:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
MinHeight: usize,
pub SetMinHeight:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
MaxHeight: usize,
pub SetMaxHeight:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
HorizontalAlignment: usize,
pub SetHorizontalAlignment: unsafe extern "system" fn(
*mut core::ffi::c_void,
HorizontalAlignment,
) -> windows_core::HRESULT,
VerticalAlignment: usize,
pub SetVerticalAlignment: unsafe extern "system" fn(
*mut core::ffi::c_void,
VerticalAlignment,
) -> windows_core::HRESULT,
Margin: usize,
pub SetMargin:
unsafe extern "system" fn(*mut core::ffi::c_void, Thickness) -> windows_core::HRESULT,
Name: usize,
pub SetName: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
BaseUri: usize,
DataContext: usize,
SetDataContext: usize,
AllowFocusOnInteraction: usize,
SetAllowFocusOnInteraction: usize,
FocusVisualMargin: usize,
SetFocusVisualMargin: usize,
FocusVisualSecondaryThickness: usize,
SetFocusVisualSecondaryThickness: usize,
FocusVisualPrimaryThickness: usize,
SetFocusVisualPrimaryThickness: usize,
FocusVisualSecondaryBrush: usize,
SetFocusVisualSecondaryBrush: usize,
FocusVisualPrimaryBrush: usize,
SetFocusVisualPrimaryBrush: usize,
AllowFocusWhenDisabled: usize,
SetAllowFocusWhenDisabled: usize,
Style: usize,
SetStyle: usize,
Parent: usize,
FlowDirection: usize,
SetFlowDirection: usize,
RequestedTheme: usize,
SetRequestedTheme: usize,
IsLoaded: usize,
pub ActualTheme: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut ElementTheme,
) -> windows_core::HRESULT,
Loaded: usize,
RemoveLoaded: usize,
Unloaded: usize,
RemoveUnloaded: usize,
DataContextChanged: usize,
RemoveDataContextChanged: usize,
SizeChanged: usize,
RemoveSizeChanged: usize,
LayoutUpdated: usize,
RemoveLayoutUpdated: usize,
Loading: usize,
RemoveLoading: usize,
pub ActualThemeChanged: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
RemoveActualThemeChanged: usize,
EffectiveViewportChanged: usize,
RemoveEffectiveViewportChanged: usize,
FindName: usize,
SetBinding: usize,
GetBindingExpression: usize,
}
windows_core::imp::define_interface!(
IFrameworkElementAutomationPeer,
IFrameworkElementAutomationPeer_Vtbl,
0x7dab4f24_605c_51cb_87db_3eed1b9fb37b
);
impl windows_core::RuntimeType for IFrameworkElementAutomationPeer {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IFrameworkElementAutomationPeer_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Owner: usize,
}
windows_core::imp::define_interface!(
IFrameworkElementAutomationPeerFactory,
IFrameworkElementAutomationPeerFactory_Vtbl,
0x1682c3f8_238d_5c7e_a5a5_08cc3c10ac7c
);
impl windows_core::RuntimeType for IFrameworkElementAutomationPeerFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IFrameworkElementAutomationPeerFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstanceWithOwner: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IFrameworkElementAutomationPeerStatics,
IFrameworkElementAutomationPeerStatics_Vtbl,
0x081f6fbe_6500_528a_a506_f5a4d41ddf6c
);
impl windows_core::RuntimeType for IFrameworkElementAutomationPeerStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IFrameworkElementAutomationPeerStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub FromElement: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub CreatePeerForElement: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IFrameworkElementFactory,
IFrameworkElementFactory_Vtbl,
0xbd3f2272_3efa_5f92_b759_90b1cc3e784c
);
impl windows_core::RuntimeType for IFrameworkElementFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IFrameworkElementFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IFrameworkElementOverrides,
IFrameworkElementOverrides_Vtbl,
0xffc6fd98_f38c_5904_9ce4_97a3427cf4ba
);
impl windows_core::RuntimeType for IFrameworkElementOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IFrameworkElementOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
MeasureOverride: usize,
ArrangeOverride: usize,
OnApplyTemplate: usize,
GoToElementStateCore: usize,
}
windows_core::imp::define_interface!(
IFrameworkElementProtected,
IFrameworkElementProtected_Vtbl,
0xe59a3db0_91e5_5903_9caf_d1bb9f458bf2
);
impl windows_core::RuntimeType for IFrameworkElementProtected {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IFrameworkElementProtected_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
InvalidateViewport: usize,
}
windows_core::imp::define_interface!(
IFrameworkElementStatics,
IFrameworkElementStatics_Vtbl,
0x894e2704_14e7_569a_b21e_afc7df7145a1
);
impl windows_core::RuntimeType for IFrameworkElementStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IFrameworkElementStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
TagProperty: usize,
LanguageProperty: usize,
ActualWidthProperty: usize,
ActualHeightProperty: usize,
WidthProperty: usize,
HeightProperty: usize,
MinWidthProperty: usize,
MaxWidthProperty: usize,
MinHeightProperty: usize,
MaxHeightProperty: usize,
HorizontalAlignmentProperty: usize,
VerticalAlignmentProperty: usize,
MarginProperty: usize,
NameProperty: usize,
DataContextProperty: usize,
AllowFocusOnInteractionProperty: usize,
FocusVisualMarginProperty: usize,
FocusVisualSecondaryThicknessProperty: usize,
FocusVisualPrimaryThicknessProperty: usize,
FocusVisualSecondaryBrushProperty: usize,
FocusVisualPrimaryBrushProperty: usize,
AllowFocusWhenDisabledProperty: usize,
StyleProperty: usize,
FlowDirectionProperty: usize,
RequestedThemeProperty: usize,
ActualThemeProperty: usize,
pub DeferTree: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IFrameworkTemplate,
IFrameworkTemplate_Vtbl,
0x0084c7c2_de48_5b0b_8a5a_e4fb76b7f7d1
);
impl windows_core::RuntimeType for IFrameworkTemplate {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IFrameworkTemplate_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IFrameworkTemplateFactory,
IFrameworkTemplateFactory_Vtbl,
0x616dd6db_b064_561d_b162_46ceb45dc562
);
impl windows_core::RuntimeType for IFrameworkTemplateFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IFrameworkTemplateFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(IGrid, IGrid_Vtbl, 0xc4496219_9014_58a1_b4ad_c5044913a5bb);
impl windows_core::RuntimeType for IGrid {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IGrid {
pub fn RowDefinitions(&self) -> windows_core::Result<RowDefinitionCollection> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).RowDefinitions)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn ColumnDefinitions(&self) -> windows_core::Result<ColumnDefinitionCollection> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).ColumnDefinitions)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetCornerRadius(&self, value: CornerRadius) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetCornerRadius)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetPadding(&self, value: Thickness) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPadding)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetRowSpacing(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetRowSpacing)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetColumnSpacing(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetColumnSpacing)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IGrid_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub RowDefinitions: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub ColumnDefinitions: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
BackgroundSizing: usize,
SetBackgroundSizing: usize,
BorderBrush: usize,
SetBorderBrush: usize,
BorderThickness: usize,
SetBorderThickness: usize,
CornerRadius: usize,
pub SetCornerRadius:
unsafe extern "system" fn(*mut core::ffi::c_void, CornerRadius) -> windows_core::HRESULT,
Padding: usize,
pub SetPadding:
unsafe extern "system" fn(*mut core::ffi::c_void, Thickness) -> windows_core::HRESULT,
RowSpacing: usize,
pub SetRowSpacing:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
ColumnSpacing: usize,
pub SetColumnSpacing:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IGridFactory,
IGridFactory_Vtbl,
0xb16bf561_fc6c_57c6_8ebc_0b06ce4513aa
);
impl windows_core::RuntimeType for IGridFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IGridFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IGridStatics,
IGridStatics_Vtbl,
0xef9cf81d_a431_50f4_abf5_3023fe447704
);
impl windows_core::RuntimeType for IGridStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IGridStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
BackgroundSizingProperty: usize,
BorderBrushProperty: usize,
BorderThicknessProperty: usize,
CornerRadiusProperty: usize,
PaddingProperty: usize,
RowSpacingProperty: usize,
ColumnSpacingProperty: usize,
RowProperty: usize,
pub GetRow: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i32,
) -> windows_core::HRESULT,
pub SetRow: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
i32,
) -> windows_core::HRESULT,
ColumnProperty: usize,
pub GetColumn: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i32,
) -> windows_core::HRESULT,
pub SetColumn: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
i32,
) -> windows_core::HRESULT,
RowSpanProperty: usize,
pub GetRowSpan: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i32,
) -> windows_core::HRESULT,
pub SetRowSpan: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
i32,
) -> windows_core::HRESULT,
ColumnSpanProperty: usize,
pub GetColumnSpan: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i32,
) -> windows_core::HRESULT,
pub SetColumnSpan: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
i32,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IGridView,
IGridView_Vtbl,
0xd495f2fa_594d_5170_b1e8_8629a179f9fb
);
impl windows_core::RuntimeType for IGridView {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IGridView_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IGridViewFactory,
IGridViewFactory_Vtbl,
0x892947ea_6b86_5f17_a9b8_2121b2251271
);
impl windows_core::RuntimeType for IGridViewFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IGridViewFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IHyperlinkButton,
IHyperlinkButton_Vtbl,
0x6dbee605_8df0_50cc_9a42_250eb138f0c6
);
impl windows_core::RuntimeType for IHyperlinkButton {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IHyperlinkButton {
pub fn NavigateUri(&self) -> windows_core::Result<Uri> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).NavigateUri)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetNavigateUri<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<Uri>,
{
unsafe {
(windows_core::Interface::vtable(self).SetNavigateUri)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IHyperlinkButton_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub NavigateUri: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetNavigateUri: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IHyperlinkButtonFactory,
IHyperlinkButtonFactory_Vtbl,
0x01f775ea_c5ed_514a_a23d_89c494a8f09d
);
impl windows_core::RuntimeType for IHyperlinkButtonFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IHyperlinkButtonFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IHyperlinkButtonStatics,
IHyperlinkButtonStatics_Vtbl,
0xab5c7b77_7c4c_5b26_9c7c_763f8d95258e
);
impl windows_core::RuntimeType for IHyperlinkButtonStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IHyperlinkButtonStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
NavigateUriProperty: usize,
}
windows_core::imp::define_interface!(IImage, IImage_Vtbl, 0x220d3d8d_66de_53a1_a215_ba9c165565ab);
impl windows_core::RuntimeType for IImage {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IImage {
pub fn SetSource<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<ImageSource>,
{
unsafe {
(windows_core::Interface::vtable(self).SetSource)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetStretch(&self, value: Stretch) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetStretch)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IImage_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Source: usize,
pub SetSource: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
Stretch: usize,
pub SetStretch:
unsafe extern "system" fn(*mut core::ffi::c_void, Stretch) -> windows_core::HRESULT,
NineGrid: usize,
SetNineGrid: usize,
ImageFailed: usize,
RemoveImageFailed: usize,
ImageOpened: usize,
RemoveImageOpened: usize,
GetAsCastingSource: usize,
GetAlphaMask: usize,
}
windows_core::imp::define_interface!(
IImageSource,
IImageSource_Vtbl,
0x6c2038f6_d6d5_55e9_9b9e_082f12dbff60
);
impl windows_core::RuntimeType for IImageSource {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IImageSource_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IImageSourceFactory,
IImageSourceFactory_Vtbl,
0x0b1e64a3_e353_5901_b84b_ae9842aea5cd
);
impl windows_core::RuntimeType for IImageSourceFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IImageSourceFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IImageStatics,
IImageStatics_Vtbl,
0xcb5378a8_996b_547e_9c4c_7bbfd9dbe7dc
);
impl windows_core::RuntimeType for IImageStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IImageStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
SourceProperty: usize,
StretchProperty: usize,
NineGridProperty: usize,
}
windows_core::imp::define_interface!(
IImplicitAnimationCollection,
IImplicitAnimationCollection_Vtbl,
0xc5c0689e_f5ae_5bed_829b_c522cda39717
);
impl windows_core::RuntimeType for IImplicitAnimationCollection {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IImplicitAnimationCollection_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IInfoBadge,
IInfoBadge_Vtbl,
0x82104d7f_03d4_5ea4_872e_f9ecab758601
);
impl windows_core::RuntimeType for IInfoBadge {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IInfoBadge {
pub fn Value(&self) -> windows_core::Result<i32> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Value)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetValue(&self, value: i32) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetValue)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IInfoBadge_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Value: unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
pub SetValue: unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
IconSource: usize,
SetIconSource: usize,
TemplateSettings: usize,
}
windows_core::imp::define_interface!(
IInfoBadgeFactory,
IInfoBadgeFactory_Vtbl,
0xfb498205_2de0_5986_8aec_2c46ac235087
);
impl windows_core::RuntimeType for IInfoBadgeFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IInfoBadgeFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IInfoBadgeStatics,
IInfoBadgeStatics_Vtbl,
0xb0160061_b463_54de_81ac_64f390d4f25d
);
impl windows_core::RuntimeType for IInfoBadgeStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IInfoBadgeStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ValueProperty: usize,
IconSourceProperty: usize,
TemplateSettingsProperty: usize,
}
windows_core::imp::define_interface!(
IInfoBar,
IInfoBar_Vtbl,
0xc1c3a438_dd79_5d22_9e42_5a3cdf8113a9
);
impl windows_core::RuntimeType for IInfoBar {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IInfoBar {
pub fn SetIsOpen(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsOpen)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetTitle(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetTitle)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn SetMessage(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMessage)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn SetSeverity(&self, value: InfoBarSeverity) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetSeverity)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Content(&self) -> windows_core::Result<windows_core::IInspectable> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Content)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetContent<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetContent)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn Closed<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<TypedEventHandler<InfoBar, InfoBarClosedEventArgs>>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Closed)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveClosed(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveClosed)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IInfoBar_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsOpen: usize,
pub SetIsOpen: unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
Title: usize,
pub SetTitle: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
Message: usize,
pub SetMessage: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
Severity: usize,
pub SetSeverity:
unsafe extern "system" fn(*mut core::ffi::c_void, InfoBarSeverity) -> windows_core::HRESULT,
IconSource: usize,
SetIconSource: usize,
IsIconVisible: usize,
SetIsIconVisible: usize,
IsClosable: usize,
SetIsClosable: usize,
CloseButtonStyle: usize,
SetCloseButtonStyle: usize,
CloseButtonCommand: usize,
SetCloseButtonCommand: usize,
CloseButtonCommandParameter: usize,
SetCloseButtonCommandParameter: usize,
ActionButton: usize,
SetActionButton: usize,
pub Content: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetContent: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
ContentTemplate: usize,
SetContentTemplate: usize,
TemplateSettings: usize,
CloseButtonClick: usize,
RemoveCloseButtonClick: usize,
Closing: usize,
RemoveClosing: usize,
pub Closed: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveClosed:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IInfoBarClosedEventArgs,
IInfoBarClosedEventArgs_Vtbl,
0x593af0b3_bded_53da_8f56_80ed3c64322c
);
impl windows_core::RuntimeType for IInfoBarClosedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IInfoBarClosedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Reason: usize,
}
windows_core::imp::define_interface!(
IInfoBarClosedEventArgsFactory,
IInfoBarClosedEventArgsFactory_Vtbl,
0x42fe1f7e_6d68_5a85_8a5c_abb7effcdf26
);
impl windows_core::RuntimeType for IInfoBarClosedEventArgsFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IInfoBarClosedEventArgsFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IInfoBarFactory,
IInfoBarFactory_Vtbl,
0x60618a60_9be7_5df5_be0d_933d34ddb44c
);
impl windows_core::RuntimeType for IInfoBarFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IInfoBarFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IInfoBarStatics,
IInfoBarStatics_Vtbl,
0x5fb1e80d_ea5d_57ba_9915_b6782b982aca
);
impl windows_core::RuntimeType for IInfoBarStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IInfoBarStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsOpenProperty: usize,
TitleProperty: usize,
MessageProperty: usize,
SeverityProperty: usize,
IconSourceProperty: usize,
IsIconVisibleProperty: usize,
IsClosableProperty: usize,
CloseButtonStyleProperty: usize,
CloseButtonCommandProperty: usize,
CloseButtonCommandParameterProperty: usize,
ActionButtonProperty: usize,
ContentProperty: usize,
ContentTemplateProperty: usize,
TemplateSettingsProperty: usize,
}
windows_core::imp::define_interface!(
IInsertionPanel,
IInsertionPanel_Vtbl,
0x84e13e27_2d24_59c4_a00e_16c7255901e2
);
impl windows_core::RuntimeType for IInsertionPanel {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IInsertionPanel,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct IInsertionPanel_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
GetInsertionIndexes: usize,
}
windows_core::imp::define_interface!(
IInvokeProvider,
IInvokeProvider_Vtbl,
0x02481105_3378_544d_b4e1_a1b368afbc02
);
impl windows_core::RuntimeType for IInvokeProvider {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IInvokeProvider,
windows_core::IUnknown,
windows_core::IInspectable
);
impl IInvokeProvider {
pub fn Invoke(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).Invoke)(windows_core::Interface::as_raw(self))
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IInvokeProvider_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Invoke: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IItemContainerMapping,
IItemContainerMapping_Vtbl,
0xb3e03a32_ea83_5626_bfda_d327a1c7550c
);
impl windows_core::RuntimeType for IItemContainerMapping {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IItemContainerMapping,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct IItemContainerMapping_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ItemFromContainer: usize,
ContainerFromItem: usize,
IndexFromContainer: usize,
ContainerFromIndex: usize,
}
windows_core::imp::define_interface!(
IItemsControl,
IItemsControl_Vtbl,
0xbf1ccb54_83e2_5b98_acbc_736f876c3d35
);
impl windows_core::RuntimeType for IItemsControl {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IItemsControl {
pub fn Items(&self) -> windows_core::Result<ItemCollection> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Items)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn ItemTemplate(&self) -> windows_core::Result<DataTemplate> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).ItemTemplate)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IItemsControl_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ItemsSource: usize,
SetItemsSource: usize,
pub Items: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub ItemTemplate: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
SetItemTemplate: usize,
ItemTemplateSelector: usize,
SetItemTemplateSelector: usize,
ItemsPanel: usize,
SetItemsPanel: usize,
DisplayMemberPath: usize,
SetDisplayMemberPath: usize,
ItemsPanelRoot: usize,
ItemContainerStyle: usize,
SetItemContainerStyle: usize,
ItemContainerStyleSelector: usize,
SetItemContainerStyleSelector: usize,
ItemContainerGenerator: usize,
ItemContainerTransitions: usize,
SetItemContainerTransitions: usize,
GroupStyle: usize,
GroupStyleSelector: usize,
SetGroupStyleSelector: usize,
IsGrouping: usize,
GroupHeaderContainerFromItemContainer: usize,
}
windows_core::imp::define_interface!(
IItemsControlFactory,
IItemsControlFactory_Vtbl,
0xb2686273_2dd3_5454_9f25_247e66270336
);
impl windows_core::RuntimeType for IItemsControlFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IItemsControlFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IItemsControlOverrides,
IItemsControlOverrides_Vtbl,
0x285c215f_64b2_5f7d_88d2_56c6658f73ee
);
impl windows_core::RuntimeType for IItemsControlOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IItemsControlOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsItemItsOwnContainerOverride: usize,
GetContainerForItemOverride: usize,
ClearContainerForItemOverride: usize,
PrepareContainerForItemOverride: usize,
OnItemsChanged: usize,
OnItemContainerStyleChanged: usize,
OnItemContainerStyleSelectorChanged: usize,
OnItemTemplateChanged: usize,
OnItemTemplateSelectorChanged: usize,
OnGroupStyleSelectorChanged: usize,
}
windows_core::imp::define_interface!(
IItemsControlStatics,
IItemsControlStatics_Vtbl,
0x4fb961e1_5f91_5585_a692_6825cde3ed1e
);
impl windows_core::RuntimeType for IItemsControlStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IItemsControlStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ItemsSourceProperty: usize,
ItemTemplateProperty: usize,
ItemTemplateSelectorProperty: usize,
ItemsPanelProperty: usize,
DisplayMemberPathProperty: usize,
ItemContainerStyleProperty: usize,
ItemContainerStyleSelectorProperty: usize,
ItemContainerTransitionsProperty: usize,
GroupStyleSelectorProperty: usize,
IsGroupingProperty: usize,
pub GetItemsOwner: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub ItemsControlFromItemContainer: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IKeyFrameAnimation,
IKeyFrameAnimation_Vtbl,
0x5a8f57f0_f059_5b47_b308_c4c80fc71248
);
impl windows_core::RuntimeType for IKeyFrameAnimation {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IKeyFrameAnimation {
pub fn Duration(&self) -> windows_core::Result<TimeSpan> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Duration)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetDuration(&self, value: TimeSpan) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetDuration)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn InsertExpressionKeyFrame(
&self,
normalizedprogresskey: f32,
value: &windows_core::HSTRING,
) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).InsertExpressionKeyFrame)(
windows_core::Interface::as_raw(self),
normalizedprogresskey,
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn InsertExpressionKeyFrameWithEasingFunction<P2>(
&self,
normalizedprogresskey: f32,
value: &windows_core::HSTRING,
easingfunction: P2,
) -> windows_core::Result<()>
where
P2: windows_core::Param<CompositionEasingFunction>,
{
unsafe {
(windows_core::Interface::vtable(self).InsertExpressionKeyFrameWithEasingFunction)(
windows_core::Interface::as_raw(self),
normalizedprogresskey,
core::mem::transmute_copy(value),
easingfunction.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IKeyFrameAnimation_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
DelayTime: usize,
SetDelayTime: usize,
pub Duration:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut TimeSpan) -> windows_core::HRESULT,
pub SetDuration:
unsafe extern "system" fn(*mut core::ffi::c_void, TimeSpan) -> windows_core::HRESULT,
IterationBehavior: usize,
SetIterationBehavior: usize,
IterationCount: usize,
SetIterationCount: usize,
KeyFrameCount: usize,
StopBehavior: usize,
SetStopBehavior: usize,
pub InsertExpressionKeyFrame: unsafe extern "system" fn(
*mut core::ffi::c_void,
f32,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub InsertExpressionKeyFrameWithEasingFunction:
unsafe extern "system" fn(
*mut core::ffi::c_void,
f32,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IKeyFrameAnimation2,
IKeyFrameAnimation2_Vtbl,
0x414692e5_8a7e_58ea_83e1_25ce475d9300
);
impl windows_core::RuntimeType for IKeyFrameAnimation2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IKeyFrameAnimation2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Direction: usize,
SetDirection: usize,
}
windows_core::imp::define_interface!(
IKeyFrameAnimation3,
IKeyFrameAnimation3_Vtbl,
0x4f97e180_9bcb_5fc4_abbe_43aa3be327e7
);
impl windows_core::RuntimeType for IKeyFrameAnimation3 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IKeyFrameAnimation3_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
DelayBehavior: usize,
SetDelayBehavior: usize,
}
windows_core::imp::define_interface!(
IKeyFrameAnimationFactory,
IKeyFrameAnimationFactory_Vtbl,
0x7cccfc87_3baf_5100_b5f8_2f779f954f19
);
impl windows_core::RuntimeType for IKeyFrameAnimationFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IKeyFrameAnimationFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IKeyboardAccelerator,
IKeyboardAccelerator_Vtbl,
0x6f8bf1e2_4e91_5cf9_a6be_4770caf3d770
);
impl windows_core::RuntimeType for IKeyboardAccelerator {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IKeyboardAccelerator {
pub fn SetKey(&self, value: VirtualKey) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetKey)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetModifiers(&self, value: VirtualKeyModifiers) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetModifiers)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn IsEnabled(&self) -> windows_core::Result<bool> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).IsEnabled)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetIsEnabled(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsEnabled)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Invoked<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<
TypedEventHandler<KeyboardAccelerator, KeyboardAcceleratorInvokedEventArgs>,
>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Invoked)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IKeyboardAccelerator_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Key: usize,
pub SetKey:
unsafe extern "system" fn(*mut core::ffi::c_void, VirtualKey) -> windows_core::HRESULT,
Modifiers: usize,
pub SetModifiers: unsafe extern "system" fn(
*mut core::ffi::c_void,
VirtualKeyModifiers,
) -> windows_core::HRESULT,
pub IsEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut bool) -> windows_core::HRESULT,
pub SetIsEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
ScopeOwner: usize,
SetScopeOwner: usize,
pub Invoked: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
RemoveInvoked: usize,
}
windows_core::imp::define_interface!(
IKeyboardAcceleratorFactory,
IKeyboardAcceleratorFactory_Vtbl,
0xca1d410a_af2a_51b9_a1de_6c0af9f3b598
);
impl windows_core::RuntimeType for IKeyboardAcceleratorFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IKeyboardAcceleratorFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IKeyboardAcceleratorInvokedEventArgs,
IKeyboardAcceleratorInvokedEventArgs_Vtbl,
0x62c9fdb0_b574_527d_97eb_5c7f674441e0
);
impl windows_core::RuntimeType for IKeyboardAcceleratorInvokedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IKeyboardAcceleratorInvokedEventArgs {
pub fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetHandled)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Element(&self) -> windows_core::Result<DependencyObject> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Element)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn KeyboardAccelerator(&self) -> windows_core::Result<KeyboardAccelerator> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).KeyboardAccelerator)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IKeyboardAcceleratorInvokedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Handled: usize,
pub SetHandled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
pub Element: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub KeyboardAccelerator: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IKeyboardAcceleratorStatics,
IKeyboardAcceleratorStatics_Vtbl,
0x73e674ca_73f4_5e77_b8d6_ff7852a63b0b
);
impl windows_core::RuntimeType for IKeyboardAcceleratorStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IKeyboardAcceleratorStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
KeyProperty: usize,
ModifiersProperty: usize,
IsEnabledProperty: usize,
ScopeOwnerProperty: usize,
}
windows_core::imp::define_interface!(
ILaunchActivatedEventArgs,
ILaunchActivatedEventArgs_Vtbl,
0xd505cea9_1bcb_5b29_a8be_944e00f06f78
);
impl windows_core::RuntimeType for ILaunchActivatedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ILaunchActivatedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Arguments: usize,
UWPLaunchActivatedEventArgs: usize,
}
windows_core::imp::define_interface!(ILine, ILine_Vtbl, 0x507b3858_af7e_559b_a87e_4cc6a5d8ba96);
impl windows_core::RuntimeType for ILine {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ILine {
pub fn SetX1(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetX1)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetY1(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetY1)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetX2(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetX2)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetY2(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetY2)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ILine_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
X1: usize,
pub SetX1: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
Y1: usize,
pub SetY1: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
X2: usize,
pub SetX2: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
Y2: usize,
pub SetY2: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ILineStatics,
ILineStatics_Vtbl,
0xa425bf93_f1f3_5dcb_997e_b6a26f7ae8c0
);
impl windows_core::RuntimeType for ILineStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ILineStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
X1Property: usize,
Y1Property: usize,
X2Property: usize,
Y2Property: usize,
}
windows_core::imp::define_interface!(
ILinearEasingFunction,
ILinearEasingFunction_Vtbl,
0x79bfeef6_70c7_50a6_bb3a_0e9636148695
);
impl windows_core::RuntimeType for ILinearEasingFunction {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ILinearEasingFunction_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IListView,
IListView_Vtbl,
0xf6015db1_df63_52fd_a164_0df44715ee0a
);
impl windows_core::RuntimeType for IListView {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IListView_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IListViewBase,
IListViewBase_Vtbl,
0x775c57ac_abce_5beb_8e34_3b8158aedd80
);
impl windows_core::RuntimeType for IListViewBase {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IListViewBase {
pub fn ScrollIntoView<P0>(&self, item: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).ScrollIntoView)(
windows_core::Interface::as_raw(self),
item.param().abi(),
)
.ok()
}
}
pub fn SetHeader<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetHeader)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IListViewBase_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
SelectedItems: usize,
SelectionMode: usize,
SetSelectionMode: usize,
IsSwipeEnabled: usize,
SetIsSwipeEnabled: usize,
CanDragItems: usize,
SetCanDragItems: usize,
CanReorderItems: usize,
SetCanReorderItems: usize,
IsItemClickEnabled: usize,
SetIsItemClickEnabled: usize,
DataFetchSize: usize,
SetDataFetchSize: usize,
IncrementalLoadingThreshold: usize,
SetIncrementalLoadingThreshold: usize,
IncrementalLoadingTrigger: usize,
SetIncrementalLoadingTrigger: usize,
ShowsScrollingPlaceholders: usize,
SetShowsScrollingPlaceholders: usize,
ReorderMode: usize,
SetReorderMode: usize,
SelectedRanges: usize,
IsMultiSelectCheckBoxEnabled: usize,
SetIsMultiSelectCheckBoxEnabled: usize,
SingleSelectionFollowsFocus: usize,
SetSingleSelectionFollowsFocus: usize,
ItemClick: usize,
RemoveItemClick: usize,
DragItemsStarting: usize,
RemoveDragItemsStarting: usize,
DragItemsCompleted: usize,
RemoveDragItemsCompleted: usize,
ContainerContentChanging: usize,
RemoveContainerContentChanging: usize,
ChoosingItemContainer: usize,
RemoveChoosingItemContainer: usize,
ChoosingGroupHeaderContainer: usize,
RemoveChoosingGroupHeaderContainer: usize,
pub ScrollIntoView: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
SelectAll: usize,
LoadMoreItemsAsync: usize,
ScrollIntoViewWithAlignment: usize,
SetDesiredContainerUpdateDuration: usize,
SelectRange: usize,
DeselectRange: usize,
IsDragSource: usize,
TryStartConnectedAnimationAsync: usize,
PrepareConnectedAnimation: usize,
Header: usize,
pub SetHeader: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
HeaderTemplate: usize,
SetHeaderTemplate: usize,
HeaderTransitions: usize,
SetHeaderTransitions: usize,
Footer: usize,
SetFooter: usize,
FooterTemplate: usize,
SetFooterTemplate: usize,
FooterTransitions: usize,
SetFooterTransitions: usize,
}
windows_core::imp::define_interface!(
IListViewBaseFactory,
IListViewBaseFactory_Vtbl,
0x44092863_c09e_551e_85bf_951b552950c8
);
impl windows_core::RuntimeType for IListViewBaseFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IListViewBaseFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IListViewBaseStatics,
IListViewBaseStatics_Vtbl,
0xb8487e94_010f_56d4_9f76_94bf8c462745
);
impl windows_core::RuntimeType for IListViewBaseStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IListViewBaseStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
SelectionModeProperty: usize,
IsSwipeEnabledProperty: usize,
CanDragItemsProperty: usize,
CanReorderItemsProperty: usize,
IsItemClickEnabledProperty: usize,
DataFetchSizeProperty: usize,
IncrementalLoadingThresholdProperty: usize,
IncrementalLoadingTriggerProperty: usize,
ShowsScrollingPlaceholdersProperty: usize,
ReorderModeProperty: usize,
IsMultiSelectCheckBoxEnabledProperty: usize,
SingleSelectionFollowsFocusProperty: usize,
SemanticZoomOwnerProperty: usize,
IsActiveViewProperty: usize,
IsZoomedInViewProperty: usize,
HeaderProperty: usize,
HeaderTemplateProperty: usize,
HeaderTransitionsProperty: usize,
FooterProperty: usize,
FooterTemplateProperty: usize,
FooterTransitionsProperty: usize,
}
windows_core::imp::define_interface!(
IListViewFactory,
IListViewFactory_Vtbl,
0x03ebefb8_f64a_5bf9_9570_cb09eeea2335
);
impl windows_core::RuntimeType for IListViewFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IListViewFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IListViewItem,
IListViewItem_Vtbl,
0x05fe41c2_0451_5d38_9c55_5d10cfd08889
);
impl windows_core::RuntimeType for IListViewItem {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IListViewItem_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
TemplateSettings: usize,
}
windows_core::imp::define_interface!(
IListViewItemFactory,
IListViewItemFactory_Vtbl,
0xd9f4d0b8_ee59_5036_bd7a_7c89cf0bc2ac
);
impl windows_core::RuntimeType for IListViewItemFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IListViewItemFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
INavigationView,
INavigationView_Vtbl,
0xe77a4b36_3dd1_53d9_9f97_65dccaa74a5c
);
impl windows_core::RuntimeType for INavigationView {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl INavigationView {
pub fn SetIsPaneOpen(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsPaneOpen)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetHeader<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetHeader)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetIsSettingsVisible(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsSettingsVisible)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetIsPaneToggleButtonVisible(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsPaneToggleButtonVisible)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SelectedItem(&self) -> windows_core::Result<windows_core::IInspectable> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectedItem)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetSelectedItem<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetSelectedItem)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn MenuItems(
&self,
) -> windows_core::Result<windows_collections::IVector<windows_core::IInspectable>> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).MenuItems)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SelectionChanged<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<
TypedEventHandler<NavigationView, NavigationViewSelectionChangedEventArgs>,
>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectionChanged)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveSelectionChanged(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveSelectionChanged)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationView_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsPaneOpen: usize,
pub SetIsPaneOpen:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
CompactModeThresholdWidth: usize,
SetCompactModeThresholdWidth: usize,
ExpandedModeThresholdWidth: usize,
SetExpandedModeThresholdWidth: usize,
FooterMenuItems: usize,
FooterMenuItemsSource: usize,
SetFooterMenuItemsSource: usize,
PaneFooter: usize,
SetPaneFooter: usize,
Header: usize,
pub SetHeader: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
HeaderTemplate: usize,
SetHeaderTemplate: usize,
DisplayMode: usize,
IsSettingsVisible: usize,
pub SetIsSettingsVisible:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
IsPaneToggleButtonVisible: usize,
pub SetIsPaneToggleButtonVisible:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
AlwaysShowHeader: usize,
SetAlwaysShowHeader: usize,
CompactPaneLength: usize,
SetCompactPaneLength: usize,
OpenPaneLength: usize,
SetOpenPaneLength: usize,
PaneToggleButtonStyle: usize,
SetPaneToggleButtonStyle: usize,
pub SelectedItem: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetSelectedItem: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub MenuItems: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
MenuItemsSource: usize,
SetMenuItemsSource: usize,
SettingsItem: usize,
AutoSuggestBox: usize,
SetAutoSuggestBox: usize,
MenuItemTemplate: usize,
SetMenuItemTemplate: usize,
MenuItemTemplateSelector: usize,
SetMenuItemTemplateSelector: usize,
MenuItemContainerStyle: usize,
SetMenuItemContainerStyle: usize,
MenuItemContainerStyleSelector: usize,
SetMenuItemContainerStyleSelector: usize,
MenuItemFromContainer: usize,
ContainerFromMenuItem: usize,
pub SelectionChanged: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveSelectionChanged:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
ItemInvoked: usize,
RemoveItemInvoked: usize,
DisplayModeChanged: usize,
RemoveDisplayModeChanged: usize,
IsTitleBarAutoPaddingEnabled: usize,
SetIsTitleBarAutoPaddingEnabled: usize,
}
windows_core::imp::define_interface!(
INavigationView2,
INavigationView2_Vtbl,
0x05b428cf_014c_56dd_896a_a3e7089d73b5
);
impl windows_core::RuntimeType for INavigationView2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl INavigationView2 {
pub fn SetIsBackEnabled(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsBackEnabled)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetPaneTitle(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPaneTitle)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn BackRequested<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<
TypedEventHandler<NavigationView, NavigationViewBackRequestedEventArgs>,
>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).BackRequested)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveBackRequested(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveBackRequested)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
pub fn SetPaneDisplayMode(
&self,
value: NavigationViewPaneDisplayMode,
) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPaneDisplayMode)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationView2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsBackButtonVisible: usize,
SetIsBackButtonVisible: usize,
IsBackEnabled: usize,
pub SetIsBackEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
PaneTitle: usize,
pub SetPaneTitle: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub BackRequested: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveBackRequested:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
PaneClosed: usize,
RemovePaneClosed: usize,
PaneClosing: usize,
RemovePaneClosing: usize,
PaneOpened: usize,
RemovePaneOpened: usize,
PaneOpening: usize,
RemovePaneOpening: usize,
PaneDisplayMode: usize,
pub SetPaneDisplayMode: unsafe extern "system" fn(
*mut core::ffi::c_void,
NavigationViewPaneDisplayMode,
) -> windows_core::HRESULT,
PaneHeader: usize,
SetPaneHeader: usize,
PaneCustomContent: usize,
SetPaneCustomContent: usize,
ContentOverlay: usize,
SetContentOverlay: usize,
IsPaneVisible: usize,
SetIsPaneVisible: usize,
SelectionFollowsFocus: usize,
SetSelectionFollowsFocus: usize,
TemplateSettings: usize,
ShoulderNavigationEnabled: usize,
SetShoulderNavigationEnabled: usize,
OverflowLabelMode: usize,
SetOverflowLabelMode: usize,
Expanding: usize,
RemoveExpanding: usize,
Collapsed: usize,
RemoveCollapsed: usize,
Expand: usize,
Collapse: usize,
}
windows_core::imp::define_interface!(
INavigationViewBackRequestedEventArgs,
INavigationViewBackRequestedEventArgs_Vtbl,
0xae752207_bd1b_5afa_a872_e9bbaeea0ede
);
impl windows_core::RuntimeType for INavigationViewBackRequestedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewBackRequestedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
INavigationViewFactory,
INavigationViewFactory_Vtbl,
0xffea1ada_9232_5507_a320_ed2fadbe6127
);
impl windows_core::RuntimeType for INavigationViewFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
INavigationViewItem,
INavigationViewItem_Vtbl,
0x3ab3d503_a37c_5836_8adb_2882062e73a1
);
impl windows_core::RuntimeType for INavigationViewItem {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItem_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Icon: usize,
SetIcon: usize,
CompactPaneLength: usize,
}
windows_core::imp::define_interface!(
INavigationViewItem2,
INavigationViewItem2_Vtbl,
0x2d5bd889_9dac_5675_b254_68226f077a61
);
impl windows_core::RuntimeType for INavigationViewItem2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl INavigationViewItem2 {
pub fn IsExpanded(&self) -> windows_core::Result<bool> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).IsExpanded)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetIsExpanded(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsExpanded)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn MenuItems(
&self,
) -> windows_core::Result<windows_collections::IVector<windows_core::IInspectable>> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).MenuItems)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItem2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
SelectsOnInvoked: usize,
SetSelectsOnInvoked: usize,
pub IsExpanded:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut bool) -> windows_core::HRESULT,
pub SetIsExpanded:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
HasUnrealizedChildren: usize,
SetHasUnrealizedChildren: usize,
IsChildSelected: usize,
SetIsChildSelected: usize,
pub MenuItems: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
MenuItemsSource: usize,
SetMenuItemsSource: usize,
}
windows_core::imp::define_interface!(
INavigationViewItem3,
INavigationViewItem3_Vtbl,
0xc6aa3120_d888_5c32_8bb7_490ec91b1aec
);
impl windows_core::RuntimeType for INavigationViewItem3 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl INavigationViewItem3 {
pub fn InfoBadge(&self) -> windows_core::Result<InfoBadge> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).InfoBadge)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItem3_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub InfoBadge: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
SetInfoBadge: usize,
}
windows_core::imp::define_interface!(
INavigationViewItemBase,
INavigationViewItemBase_Vtbl,
0x33586494_af48_513f_be4d_f645e8c89005
);
impl windows_core::RuntimeType for INavigationViewItemBase {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItemBase_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
INavigationViewItemBase2,
INavigationViewItemBase2_Vtbl,
0xd94ee683_d437_5523_9c5c_11d4804e471e
);
impl windows_core::RuntimeType for INavigationViewItemBase2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItemBase2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsSelected: usize,
SetIsSelected: usize,
}
windows_core::imp::define_interface!(
INavigationViewItemBaseFactory,
INavigationViewItemBaseFactory_Vtbl,
0x31b9d7b1_7c38_5916_99c6_c71f6b012b1b
);
impl windows_core::RuntimeType for INavigationViewItemBaseFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItemBaseFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
INavigationViewItemBaseStatics,
INavigationViewItemBaseStatics_Vtbl,
0x71a0c438_f0c2_5093_8906_c1c3c02de791
);
impl windows_core::RuntimeType for INavigationViewItemBaseStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItemBaseStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsSelectedProperty: usize,
}
windows_core::imp::define_interface!(
INavigationViewItemFactory,
INavigationViewItemFactory_Vtbl,
0xde60a001_9385_5535_80e1_2b68f4bfde26
);
impl windows_core::RuntimeType for INavigationViewItemFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItemFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
INavigationViewItemHeader,
INavigationViewItemHeader_Vtbl,
0x432bc062_45bc_57ef_a2d3_11851a56a882
);
impl windows_core::RuntimeType for INavigationViewItemHeader {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItemHeader_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
INavigationViewItemHeaderFactory,
INavigationViewItemHeaderFactory_Vtbl,
0x6a5447cd_2918_5fe3_899b_93d6961285e6
);
impl windows_core::RuntimeType for INavigationViewItemHeaderFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItemHeaderFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
INavigationViewItemStatics,
INavigationViewItemStatics_Vtbl,
0x7b6198e5_0714_531c_a056_21b3ca40ec1a
);
impl windows_core::RuntimeType for INavigationViewItemStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItemStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IconProperty: usize,
CompactPaneLengthProperty: usize,
}
windows_core::imp::define_interface!(
INavigationViewItemStatics2,
INavigationViewItemStatics2_Vtbl,
0xd49d016f_abd0_51f3_acf0_118ecceea760
);
impl windows_core::RuntimeType for INavigationViewItemStatics2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItemStatics2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
SelectsOnInvokedProperty: usize,
IsExpandedProperty: usize,
HasUnrealizedChildrenProperty: usize,
IsChildSelectedProperty: usize,
MenuItemsProperty: usize,
MenuItemsSourceProperty: usize,
}
windows_core::imp::define_interface!(
INavigationViewItemStatics3,
INavigationViewItemStatics3_Vtbl,
0x957beb66_d33a_53aa_a518_7d426bb9b177
);
impl windows_core::RuntimeType for INavigationViewItemStatics3 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewItemStatics3_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
InfoBadgeProperty: usize,
}
windows_core::imp::define_interface!(
INavigationViewSelectionChangedEventArgs,
INavigationViewSelectionChangedEventArgs_Vtbl,
0x14a064a5_c79d_5f63_ac6e_1c313fe63566
);
impl windows_core::RuntimeType for INavigationViewSelectionChangedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl INavigationViewSelectionChangedEventArgs {
pub fn SelectedItem(&self) -> windows_core::Result<windows_core::IInspectable> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectedItem)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewSelectionChangedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub SelectedItem: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
IsSettingsSelected: usize,
}
windows_core::imp::define_interface!(
INavigationViewSelectionChangedEventArgs2,
INavigationViewSelectionChangedEventArgs2_Vtbl,
0xe9b5191f_1ad1_5366_bc1a_90b96076d49e
);
impl windows_core::RuntimeType for INavigationViewSelectionChangedEventArgs2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewSelectionChangedEventArgs2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
SelectedItemContainer: usize,
RecommendedNavigationTransitionInfo: usize,
}
windows_core::imp::define_interface!(
INavigationViewStatics,
INavigationViewStatics_Vtbl,
0xdcd04caf_1904_564b_b0de_babaff9962f5
);
impl windows_core::RuntimeType for INavigationViewStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsPaneOpenProperty: usize,
CompactModeThresholdWidthProperty: usize,
ExpandedModeThresholdWidthProperty: usize,
FooterMenuItemsProperty: usize,
FooterMenuItemsSourceProperty: usize,
PaneFooterProperty: usize,
HeaderProperty: usize,
HeaderTemplateProperty: usize,
DisplayModeProperty: usize,
IsSettingsVisibleProperty: usize,
IsPaneToggleButtonVisibleProperty: usize,
AlwaysShowHeaderProperty: usize,
CompactPaneLengthProperty: usize,
OpenPaneLengthProperty: usize,
PaneToggleButtonStyleProperty: usize,
MenuItemsProperty: usize,
MenuItemsSourceProperty: usize,
SelectedItemProperty: usize,
SettingsItemProperty: usize,
AutoSuggestBoxProperty: usize,
MenuItemTemplateProperty: usize,
MenuItemTemplateSelectorProperty: usize,
MenuItemContainerStyleProperty: usize,
MenuItemContainerStyleSelectorProperty: usize,
IsTitleBarAutoPaddingEnabledProperty: usize,
}
windows_core::imp::define_interface!(
INavigationViewStatics2,
INavigationViewStatics2_Vtbl,
0x79588150_4a1b_5e7c_9f8a_ebc814ce773d
);
impl windows_core::RuntimeType for INavigationViewStatics2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INavigationViewStatics2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsBackButtonVisibleProperty: usize,
IsBackEnabledProperty: usize,
PaneTitleProperty: usize,
PaneDisplayModeProperty: usize,
PaneHeaderProperty: usize,
PaneCustomContentProperty: usize,
ContentOverlayProperty: usize,
IsPaneVisibleProperty: usize,
SelectionFollowsFocusProperty: usize,
TemplateSettingsProperty: usize,
ShoulderNavigationEnabledProperty: usize,
OverflowLabelModeProperty: usize,
}
windows_core::imp::define_interface!(
INumberBox,
INumberBox_Vtbl,
0xc18eb0e9_29fb_525d_abbc_d6b2110f542e
);
impl windows_core::RuntimeType for INumberBox {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl INumberBox {
pub fn SetMinimum(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMinimum)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMaximum(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMaximum)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Value(&self) -> windows_core::Result<f64> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Value)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetValue(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetValue)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetSmallChange(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetSmallChange)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Text(&self) -> windows_core::Result<windows_core::HSTRING> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Text)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| core::mem::transmute(result__))
}
}
pub fn SetText(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetText)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn SetHeader<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetHeader)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetPlaceholderText(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPlaceholderText)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn RemoveValueChanged(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveValueChanged)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct INumberBox_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Minimum: usize,
pub SetMinimum: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
Maximum: usize,
pub SetMaximum: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
pub Value: unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
pub SetValue: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
SmallChange: usize,
pub SetSmallChange:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
LargeChange: usize,
SetLargeChange: usize,
pub Text: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetText: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
Header: usize,
pub SetHeader: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
HeaderTemplate: usize,
SetHeaderTemplate: usize,
PlaceholderText: usize,
pub SetPlaceholderText: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
SelectionFlyout: usize,
SetSelectionFlyout: usize,
SelectionHighlightColor: usize,
SetSelectionHighlightColor: usize,
TextReadingOrder: usize,
SetTextReadingOrder: usize,
PreventKeyboardDisplayOnProgrammaticFocus: usize,
SetPreventKeyboardDisplayOnProgrammaticFocus: usize,
Description: usize,
SetDescription: usize,
ValidationMode: usize,
SetValidationMode: usize,
SpinButtonPlacementMode: usize,
SetSpinButtonPlacementMode: usize,
IsWrapEnabled: usize,
SetIsWrapEnabled: usize,
AcceptsExpression: usize,
SetAcceptsExpression: usize,
NumberFormatter: usize,
SetNumberFormatter: usize,
ValueChanged: usize,
pub RemoveValueChanged:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
INumberBoxFactory,
INumberBoxFactory_Vtbl,
0x6b81f3cb_45a4_5d19_9bbb_a9fe4656ac4d
);
impl windows_core::RuntimeType for INumberBoxFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INumberBoxFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
INumberBoxStatics,
INumberBoxStatics_Vtbl,
0x251ec05c_a77c_5540_be39_6053f797cde7
);
impl windows_core::RuntimeType for INumberBoxStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct INumberBoxStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
MinimumProperty: usize,
MaximumProperty: usize,
ValueProperty: usize,
SmallChangeProperty: usize,
LargeChangeProperty: usize,
TextProperty: usize,
HeaderProperty: usize,
HeaderTemplateProperty: usize,
PlaceholderTextProperty: usize,
SelectionFlyoutProperty: usize,
SelectionHighlightColorProperty: usize,
TextReadingOrderProperty: usize,
PreventKeyboardDisplayOnProgrammaticFocusProperty: usize,
DescriptionProperty: usize,
ValidationModeProperty: usize,
SpinButtonPlacementModeProperty: usize,
IsWrapEnabledProperty: usize,
AcceptsExpressionProperty: usize,
NumberFormatterProperty: usize,
}
windows_core::imp::define_interface!(IPanel, IPanel_Vtbl, 0x27a1b418_56f3_525e_b883_cefed905eed3);
impl windows_core::RuntimeType for IPanel {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IPanel {
pub fn Children(&self) -> windows_core::Result<UIElementCollection> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Children)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn Background(&self) -> windows_core::Result<Brush> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Background)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetBackground<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<Brush>,
{
unsafe {
(windows_core::Interface::vtable(self).SetBackground)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IPanel_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Children: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub Background: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetBackground: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
IsItemsHost: usize,
ChildrenTransitions: usize,
SetChildrenTransitions: usize,
BackgroundTransition: usize,
SetBackgroundTransition: usize,
}
windows_core::imp::define_interface!(
IPanelFactory,
IPanelFactory_Vtbl,
0xf5e7e21c_4c97_5d20_bee6_3e4fc6ab14e9
);
impl windows_core::RuntimeType for IPanelFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IPanelFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IPanelStatics,
IPanelStatics_Vtbl,
0x76a9caa7_a5d4_5061_a325_17c76f66de51
);
impl windows_core::RuntimeType for IPanelStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IPanelStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
BackgroundProperty: usize,
IsItemsHostProperty: usize,
ChildrenTransitionsProperty: usize,
}
windows_core::imp::define_interface!(
IPasswordBox,
IPasswordBox_Vtbl,
0x6d3ccff7_aaee_5adc_8298_33300fa119da
);
impl windows_core::RuntimeType for IPasswordBox {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IPasswordBox {
pub fn Password(&self) -> windows_core::Result<windows_core::HSTRING> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Password)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| core::mem::transmute(result__))
}
}
pub fn SetPassword(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPassword)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn SetIsPasswordRevealButtonEnabled(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsPasswordRevealButtonEnabled)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetHeader<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetHeader)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetPlaceholderText(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPlaceholderText)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn PasswordRevealMode(&self) -> windows_core::Result<PasswordRevealMode> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).PasswordRevealMode)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetPasswordRevealMode(&self, value: PasswordRevealMode) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPasswordRevealMode)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn PasswordChanged<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<RoutedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).PasswordChanged)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemovePasswordChanged(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemovePasswordChanged)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IPasswordBox_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Password: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetPassword: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
PasswordChar: usize,
SetPasswordChar: usize,
IsPasswordRevealButtonEnabled: usize,
pub SetIsPasswordRevealButtonEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
MaxLength: usize,
SetMaxLength: usize,
Header: usize,
pub SetHeader: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
HeaderTemplate: usize,
SetHeaderTemplate: usize,
PlaceholderText: usize,
pub SetPlaceholderText: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
SelectionHighlightColor: usize,
SetSelectionHighlightColor: usize,
PreventKeyboardDisplayOnProgrammaticFocus: usize,
SetPreventKeyboardDisplayOnProgrammaticFocus: usize,
pub PasswordRevealMode: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut PasswordRevealMode,
) -> windows_core::HRESULT,
pub SetPasswordRevealMode: unsafe extern "system" fn(
*mut core::ffi::c_void,
PasswordRevealMode,
) -> windows_core::HRESULT,
TextReadingOrder: usize,
SetTextReadingOrder: usize,
InputScope: usize,
SetInputScope: usize,
CanPasteClipboardContent: usize,
SelectionFlyout: usize,
SetSelectionFlyout: usize,
Description: usize,
SetDescription: usize,
pub PasswordChanged: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemovePasswordChanged:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
ContextMenuOpening: usize,
RemoveContextMenuOpening: usize,
Paste: usize,
RemovePaste: usize,
PasswordChanging: usize,
RemovePasswordChanging: usize,
SelectAll: usize,
PasteFromClipboard: usize,
}
windows_core::imp::define_interface!(
IPasswordBoxStatics,
IPasswordBoxStatics_Vtbl,
0x90e6559c_5f74_5cd1_87b6_c0514085ab42
);
impl windows_core::RuntimeType for IPasswordBoxStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IPasswordBoxStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
PasswordProperty: usize,
PasswordCharProperty: usize,
IsPasswordRevealButtonEnabledProperty: usize,
MaxLengthProperty: usize,
HeaderProperty: usize,
HeaderTemplateProperty: usize,
PlaceholderTextProperty: usize,
SelectionHighlightColorProperty: usize,
PreventKeyboardDisplayOnProgrammaticFocusProperty: usize,
PasswordRevealModeProperty: usize,
TextReadingOrderProperty: usize,
InputScopeProperty: usize,
CanPasteClipboardContentProperty: usize,
SelectionFlyoutProperty: usize,
DescriptionProperty: usize,
}
windows_core::imp::define_interface!(
IPersonPicture,
IPersonPicture_Vtbl,
0x30ec982c_0efa_5538_a356_e9ebd5aa363c
);
impl windows_core::RuntimeType for IPersonPicture {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IPersonPicture {
pub fn SetDisplayName(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetDisplayName)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn SetInitials(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetInitials)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IPersonPicture_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
BadgeNumber: usize,
SetBadgeNumber: usize,
BadgeGlyph: usize,
SetBadgeGlyph: usize,
BadgeImageSource: usize,
SetBadgeImageSource: usize,
BadgeText: usize,
SetBadgeText: usize,
IsGroup: usize,
SetIsGroup: usize,
Contact: usize,
SetContact: usize,
DisplayName: usize,
pub SetDisplayName: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
Initials: usize,
pub SetInitials: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
PreferSmallImage: usize,
SetPreferSmallImage: usize,
ProfilePicture: usize,
SetProfilePicture: usize,
TemplateSettings: usize,
}
windows_core::imp::define_interface!(
IPersonPictureFactory,
IPersonPictureFactory_Vtbl,
0x7ec0794c_f2cc_5282_a89d_cd3bb765b71a
);
impl windows_core::RuntimeType for IPersonPictureFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IPersonPictureFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IPersonPictureStatics,
IPersonPictureStatics_Vtbl,
0x3c769423_9b05_56c1_a169_098493c21f91
);
impl windows_core::RuntimeType for IPersonPictureStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IPersonPictureStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
BadgeNumberProperty: usize,
BadgeGlyphProperty: usize,
BadgeImageSourceProperty: usize,
BadgeTextProperty: usize,
IsGroupProperty: usize,
ContactProperty: usize,
DisplayNameProperty: usize,
InitialsProperty: usize,
PreferSmallImageProperty: usize,
ProfilePictureProperty: usize,
}
windows_core::imp::define_interface!(IPivot, IPivot_Vtbl, 0x1c6438e5_ecac_5fb6_8e8e_00de7e922303);
impl windows_core::RuntimeType for IPivot {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IPivot {
pub fn SetTitle<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetTitle)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SelectedIndex(&self) -> windows_core::Result<i32> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectedIndex)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetSelectedIndex(&self, value: i32) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetSelectedIndex)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SelectedItem(&self) -> windows_core::Result<windows_core::IInspectable> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectedItem)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetSelectedItem<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetSelectedItem)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SelectionChanged<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<SelectionChangedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectionChanged)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveSelectionChanged(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveSelectionChanged)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IPivot_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Title: usize,
pub SetTitle: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
TitleTemplate: usize,
SetTitleTemplate: usize,
LeftHeader: usize,
SetLeftHeader: usize,
LeftHeaderTemplate: usize,
SetLeftHeaderTemplate: usize,
RightHeader: usize,
SetRightHeader: usize,
RightHeaderTemplate: usize,
SetRightHeaderTemplate: usize,
HeaderTemplate: usize,
SetHeaderTemplate: usize,
pub SelectedIndex:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
pub SetSelectedIndex:
unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
pub SelectedItem: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetSelectedItem: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
IsLocked: usize,
SetIsLocked: usize,
HeaderFocusVisualPlacement: usize,
SetHeaderFocusVisualPlacement: usize,
IsHeaderItemsCarouselEnabled: usize,
SetIsHeaderItemsCarouselEnabled: usize,
pub SelectionChanged: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveSelectionChanged:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
PivotItemLoading: usize,
RemovePivotItemLoading: usize,
PivotItemLoaded: usize,
RemovePivotItemLoaded: usize,
PivotItemUnloading: usize,
RemovePivotItemUnloading: usize,
PivotItemUnloaded: usize,
RemovePivotItemUnloaded: usize,
}
windows_core::imp::define_interface!(
IPivotFactory,
IPivotFactory_Vtbl,
0xda9d033c_4782_5a69_90af_076ccdf071ae
);
impl windows_core::RuntimeType for IPivotFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IPivotFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IPivotItem,
IPivotItem_Vtbl,
0x8108c195_63f5_5df9_abcf_418fa2dbfbec
);
impl windows_core::RuntimeType for IPivotItem {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IPivotItem {
pub fn Header(&self) -> windows_core::Result<windows_core::IInspectable> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Header)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetHeader<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetHeader)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IPivotItem_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Header: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetHeader: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IPivotItemFactory,
IPivotItemFactory_Vtbl,
0x9149a2ab_606c_55a9_8786_801d55ca8ed6
);
impl windows_core::RuntimeType for IPivotItemFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IPivotItemFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IPivotItemStatics,
IPivotItemStatics_Vtbl,
0xe2ebe630_6629_5b7b_8666_fdeb9b98db2c
);
impl windows_core::RuntimeType for IPivotItemStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IPivotItemStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
HeaderProperty: usize,
}
windows_core::imp::define_interface!(
IPivotStatics,
IPivotStatics_Vtbl,
0x619cc35f_b97b_5e32_885e_70949ed97eeb
);
impl windows_core::RuntimeType for IPivotStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IPivotStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
TitleProperty: usize,
TitleTemplateProperty: usize,
LeftHeaderProperty: usize,
LeftHeaderTemplateProperty: usize,
RightHeaderProperty: usize,
RightHeaderTemplateProperty: usize,
HeaderTemplateProperty: usize,
SelectedIndexProperty: usize,
SelectedItemProperty: usize,
IsLockedProperty: usize,
HeaderFocusVisualPlacementProperty: usize,
IsHeaderItemsCarouselEnabledProperty: usize,
SlideInAnimationGroupProperty: usize,
GetSlideInAnimationGroup: usize,
SetSlideInAnimationGroup: usize,
}
windows_core::imp::define_interface!(
IPointerPoint,
IPointerPoint_Vtbl,
0x0d430ee6_252c_59a4_b2a2_d44264dc6a40
);
impl windows_core::RuntimeType for IPointerPoint {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IPointerPoint {
pub fn Properties(&self) -> windows_core::Result<PointerPointProperties> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Properties)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IPointerPoint_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
FrameId: usize,
IsInContact: usize,
PointerDeviceType: usize,
PointerId: usize,
Position: usize,
pub Properties: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
Timestamp: usize,
GetTransformedPoint: usize,
}
windows_core::imp::define_interface!(
IPointerPointProperties,
IPointerPointProperties_Vtbl,
0xd760ed77_4b10_57a5_b3cc_d9bf3413e996
);
impl windows_core::RuntimeType for IPointerPointProperties {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IPointerPointProperties {
pub fn IsLeftButtonPressed(&self) -> windows_core::Result<bool> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).IsLeftButtonPressed)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn IsMiddleButtonPressed(&self) -> windows_core::Result<bool> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).IsMiddleButtonPressed)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn IsRightButtonPressed(&self) -> windows_core::Result<bool> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).IsRightButtonPressed)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IPointerPointProperties_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ContactRect: usize,
IsBarrelButtonPressed: usize,
IsCanceled: usize,
IsEraser: usize,
IsHorizontalMouseWheel: usize,
IsInRange: usize,
IsInverted: usize,
pub IsLeftButtonPressed:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut bool) -> windows_core::HRESULT,
pub IsMiddleButtonPressed:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut bool) -> windows_core::HRESULT,
IsPrimary: usize,
pub IsRightButtonPressed:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut bool) -> windows_core::HRESULT,
IsXButton1Pressed: usize,
IsXButton2Pressed: usize,
MouseWheelDelta: usize,
Orientation: usize,
PointerUpdateKind: usize,
Pressure: usize,
TouchConfidence: usize,
Twist: usize,
XTilt: usize,
YTilt: usize,
}
windows_core::imp::define_interface!(
IPointerRoutedEventArgs,
IPointerRoutedEventArgs_Vtbl,
0x66e78a9a_1bec_5f92_b1a1_ea6334ee511c
);
impl windows_core::RuntimeType for IPointerRoutedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IPointerRoutedEventArgs {
pub fn GetCurrentPoint<P0>(&self, relativeto: P0) -> windows_core::Result<PointerPoint>
where
P0: windows_core::Param<UIElement>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).GetCurrentPoint)(
windows_core::Interface::as_raw(self),
relativeto.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IPointerRoutedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Pointer: usize,
KeyModifiers: usize,
Handled: usize,
SetHandled: usize,
IsGenerated: usize,
pub GetCurrentPoint: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
GetIntermediatePoints: usize,
}
windows_core::imp::define_interface!(
IProgressBar,
IProgressBar_Vtbl,
0x87555c8c_0aaf_52c1_8390_0db17f40438e
);
impl windows_core::RuntimeType for IProgressBar {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IProgressBar {
pub fn SetIsIndeterminate(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsIndeterminate)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IProgressBar_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsIndeterminate: usize,
pub SetIsIndeterminate:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
ShowError: usize,
SetShowError: usize,
ShowPaused: usize,
SetShowPaused: usize,
TemplateSettings: usize,
}
windows_core::imp::define_interface!(
IProgressBarFactory,
IProgressBarFactory_Vtbl,
0x189826ad_f6f2_533e_9ddb_b6600e88675b
);
impl windows_core::RuntimeType for IProgressBarFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IProgressBarFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IProgressBarStatics,
IProgressBarStatics_Vtbl,
0x61bbb127_e4c4_5e22_a8dc_cfcf957236d0
);
impl windows_core::RuntimeType for IProgressBarStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IProgressBarStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsIndeterminateProperty: usize,
ShowErrorProperty: usize,
ShowPausedProperty: usize,
}
windows_core::imp::define_interface!(
IProgressRing,
IProgressRing_Vtbl,
0x2670d03f_e28c_5652_bee2_b5212ebdf7ff
);
impl windows_core::RuntimeType for IProgressRing {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IProgressRing {
pub fn SetIsActive(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsActive)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetIsIndeterminate(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsIndeterminate)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Value(&self) -> windows_core::Result<f64> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Value)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetValue(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetValue)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMinimum(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMinimum)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMaximum(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMaximum)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IProgressRing_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsActive: usize,
pub SetIsActive:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
IsIndeterminate: usize,
pub SetIsIndeterminate:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
TemplateSettings: usize,
pub Value: unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
pub SetValue: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
Minimum: usize,
pub SetMinimum: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
Maximum: usize,
pub SetMaximum: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IProgressRingFactory,
IProgressRingFactory_Vtbl,
0x092fa98c_62a7_5dbc_9a85_3e556ba81f79
);
impl windows_core::RuntimeType for IProgressRingFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IProgressRingFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IProgressRingStatics,
IProgressRingStatics_Vtbl,
0x4ba1166a_cec2_50e2_b26b_66b69dc2e371
);
impl windows_core::RuntimeType for IProgressRingStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IProgressRingStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsActiveProperty: usize,
IsIndeterminateProperty: usize,
ValueProperty: usize,
MinimumProperty: usize,
MaximumProperty: usize,
}
windows_core::imp::define_interface!(
IPropertyValue,
IPropertyValue_Vtbl,
0x4bd682dd_7554_40e9_9a9b_82654ede7e62
);
impl windows_core::RuntimeType for IPropertyValue {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IPropertyValue,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct IPropertyValue_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Type: usize,
IsNumericScalar: usize,
GetUInt8: usize,
GetInt16: usize,
GetUInt16: usize,
GetInt32: usize,
GetUInt32: usize,
GetInt64: usize,
GetUInt64: usize,
GetSingle: usize,
GetDouble: usize,
GetChar16: usize,
GetBoolean: usize,
pub GetString: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
GetGuid: usize,
GetDateTime: usize,
GetTimeSpan: usize,
GetPoint: usize,
GetSize: usize,
GetRect: usize,
GetUInt8Array: usize,
GetInt16Array: usize,
GetUInt16Array: usize,
GetInt32Array: usize,
GetUInt32Array: usize,
GetInt64Array: usize,
GetUInt64Array: usize,
GetSingleArray: usize,
GetDoubleArray: usize,
GetChar16Array: usize,
GetBooleanArray: usize,
GetStringArray: usize,
GetInspectableArray: usize,
GetGuidArray: usize,
GetDateTimeArray: usize,
GetTimeSpanArray: usize,
GetPointArray: usize,
GetSizeArray: usize,
GetRectArray: usize,
}
windows_core::imp::define_interface!(
IRadioButton,
IRadioButton_Vtbl,
0x38f30cee_e75a_5ba1_ae64_4474a3abeac7
);
impl windows_core::RuntimeType for IRadioButton {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IRadioButton {
pub fn GroupName(&self) -> windows_core::Result<windows_core::HSTRING> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).GroupName)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| core::mem::transmute(result__))
}
}
pub fn SetGroupName(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetGroupName)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IRadioButton_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub GroupName: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetGroupName: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IRadioButtonFactory,
IRadioButtonFactory_Vtbl,
0x5772c79a_b3eb_5719_8005_2a513429495a
);
impl windows_core::RuntimeType for IRadioButtonFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IRadioButtonFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IRadioButtonStatics,
IRadioButtonStatics_Vtbl,
0xa8bce4d4_68fe_53d9_a317_74ab409cd4ee
);
impl windows_core::RuntimeType for IRadioButtonStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IRadioButtonStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
GroupNameProperty: usize,
}
windows_core::imp::define_interface!(
IRadioButtons,
IRadioButtons_Vtbl,
0x966daf80_ee85_5d90_b6b3_80bec9134673
);
impl windows_core::RuntimeType for IRadioButtons {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IRadioButtons {
pub fn Items(
&self,
) -> windows_core::Result<windows_collections::IVector<windows_core::IInspectable>> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Items)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SelectedIndex(&self) -> windows_core::Result<i32> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectedIndex)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetSelectedIndex(&self, value: i32) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetSelectedIndex)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SelectedItem(&self) -> windows_core::Result<windows_core::IInspectable> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectedItem)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetSelectedItem<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetSelectedItem)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SelectionChanged<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<SelectionChangedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectionChanged)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveSelectionChanged(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveSelectionChanged)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
pub fn SetMaxColumns(&self, value: i32) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMaxColumns)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetHeader<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetHeader)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IRadioButtons_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ItemsSource: usize,
SetItemsSource: usize,
pub Items: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
ItemTemplate: usize,
SetItemTemplate: usize,
ContainerFromIndex: usize,
pub SelectedIndex:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
pub SetSelectedIndex:
unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
pub SelectedItem: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetSelectedItem: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SelectionChanged: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveSelectionChanged:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
MaxColumns: usize,
pub SetMaxColumns:
unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
Header: usize,
pub SetHeader: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
HeaderTemplate: usize,
SetHeaderTemplate: usize,
}
windows_core::imp::define_interface!(
IRadioButtonsFactory,
IRadioButtonsFactory_Vtbl,
0x2cf95efb_a7a2_5d85_8ead_ea222baa3c55
);
impl windows_core::RuntimeType for IRadioButtonsFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IRadioButtonsFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IRadioButtonsStatics,
IRadioButtonsStatics_Vtbl,
0xde0bf0ca_9ae8_5b8a_9738_7d98b344c039
);
impl windows_core::RuntimeType for IRadioButtonsStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IRadioButtonsStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ItemsSourceProperty: usize,
ItemsProperty: usize,
ItemTemplateProperty: usize,
SelectedIndexProperty: usize,
SelectedItemProperty: usize,
MaxColumnsProperty: usize,
HeaderProperty: usize,
HeaderTemplateProperty: usize,
}
windows_core::imp::define_interface!(
IRangeBase,
IRangeBase_Vtbl,
0x540d6d61_8fac_5d5c_b5b0_e172a7dde103
);
impl windows_core::RuntimeType for IRangeBase {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IRangeBase {
pub fn SetMinimum(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMinimum)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMaximum(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMaximum)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetSmallChange(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetSmallChange)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Value(&self) -> windows_core::Result<f64> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Value)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetValue(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetValue)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn ValueChanged<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<RangeBaseValueChangedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).ValueChanged)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveValueChanged(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveValueChanged)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IRangeBase_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Minimum: usize,
pub SetMinimum: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
Maximum: usize,
pub SetMaximum: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
SmallChange: usize,
pub SetSmallChange:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
LargeChange: usize,
SetLargeChange: usize,
pub Value: unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
pub SetValue: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
pub ValueChanged: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveValueChanged:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IRangeBaseFactory,
IRangeBaseFactory_Vtbl,
0x41c205e2_4422_5dca_9b49_e31210ea396c
);
impl windows_core::RuntimeType for IRangeBaseFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IRangeBaseFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IRangeBaseOverrides,
IRangeBaseOverrides_Vtbl,
0xb3deb76f_68a6_5c14_a824_ab58e8774745
);
impl windows_core::RuntimeType for IRangeBaseOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IRangeBaseOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
OnMinimumChanged: usize,
OnMaximumChanged: usize,
OnValueChanged: usize,
}
windows_core::imp::define_interface!(
IRangeBaseStatics,
IRangeBaseStatics_Vtbl,
0x4aed5e49_64ec_56f1_874d_b8c0f83f9ac8
);
impl windows_core::RuntimeType for IRangeBaseStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IRangeBaseStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
MinimumProperty: usize,
MaximumProperty: usize,
SmallChangeProperty: usize,
LargeChangeProperty: usize,
ValueProperty: usize,
}
windows_core::imp::define_interface!(
IRangeBaseValueChangedEventArgs,
IRangeBaseValueChangedEventArgs_Vtbl,
0xb0181692_9578_51c7_9d1c_adfcf8945aa9
);
impl windows_core::RuntimeType for IRangeBaseValueChangedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IRangeBaseValueChangedEventArgs {
pub fn NewValue(&self) -> windows_core::Result<f64> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).NewValue)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IRangeBaseValueChangedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
OldValue: usize,
pub NewValue:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut f64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IRectangle,
IRectangle_Vtbl,
0xbf7d30b9_152c_556e_9f10_d0b7eba4e52f
);
impl windows_core::RuntimeType for IRectangle {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IRectangle {
pub fn SetRadiusX(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetRadiusX)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetRadiusY(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetRadiusY)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IRectangle_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
RadiusX: usize,
pub SetRadiusX: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
RadiusY: usize,
pub SetRadiusY: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IRectangleStatics,
IRectangleStatics_Vtbl,
0x3cc3cc79_c332_5ad0_8743_1f1b1e670a86
);
impl windows_core::RuntimeType for IRectangleStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IRectangleStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
RadiusXProperty: usize,
RadiusYProperty: usize,
}
windows_core::imp::define_interface!(
IResourceDictionary,
IResourceDictionary_Vtbl,
0x1b690975_a710_5783_a6e1_15836f6186c2
);
impl windows_core::RuntimeType for IResourceDictionary {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IResourceDictionary {
pub fn SetSource<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<Uri>,
{
unsafe {
(windows_core::Interface::vtable(self).SetSource)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn MergedDictionaries(
&self,
) -> windows_core::Result<windows_collections::IVector<ResourceDictionary>> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).MergedDictionaries)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IResourceDictionary_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Source: usize,
pub SetSource: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub MergedDictionaries: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
ThemeDictionaries: usize,
}
windows_core::imp::define_interface!(
IResourceDictionaryFactory,
IResourceDictionaryFactory_Vtbl,
0xea22a48f_ab71_56f6_a392_d82310c8aa7b
);
impl windows_core::RuntimeType for IResourceDictionaryFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IResourceDictionaryFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IRightTappedRoutedEventArgs,
IRightTappedRoutedEventArgs_Vtbl,
0x3972fafb_2915_5c62_bb6b_54ad84ff400d
);
impl windows_core::RuntimeType for IRightTappedRoutedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IRightTappedRoutedEventArgs {
pub fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetHandled)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IRightTappedRoutedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
PointerDeviceType: usize,
Handled: usize,
pub SetHandled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
GetPosition: usize,
}
windows_core::imp::define_interface!(
IRoutedEventArgs,
IRoutedEventArgs_Vtbl,
0x0908c407_1c7d_5de3_9c50_d971c62ec8ec
);
impl windows_core::RuntimeType for IRoutedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IRoutedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
OriginalSource: usize,
}
windows_core::imp::define_interface!(
IRoutedEventArgsFactory,
IRoutedEventArgsFactory_Vtbl,
0x914b02c7_076b_5b89_98e7_6c373379e9af
);
impl windows_core::RuntimeType for IRoutedEventArgsFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IRoutedEventArgsFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IRowDefinition,
IRowDefinition_Vtbl,
0xfe870f2f_89ef_5dac_9f33_968d0dc577c3
);
impl windows_core::RuntimeType for IRowDefinition {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IRowDefinition {
pub fn SetHeight(&self, value: GridLength) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetHeight)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMaxHeight(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMaxHeight)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetMinHeight(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetMinHeight)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IRowDefinition_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Height: usize,
pub SetHeight:
unsafe extern "system" fn(*mut core::ffi::c_void, GridLength) -> windows_core::HRESULT,
MaxHeight: usize,
pub SetMaxHeight:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
MinHeight: usize,
pub SetMinHeight:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
ActualHeight: usize,
}
windows_core::imp::define_interface!(
IRowDefinitionStatics,
IRowDefinitionStatics_Vtbl,
0x7317c7c5_fd6f_58d9_9b53_4978dbacde23
);
impl windows_core::RuntimeType for IRowDefinitionStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IRowDefinitionStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
HeightProperty: usize,
MaxHeightProperty: usize,
MinHeightProperty: usize,
}
windows_core::imp::define_interface!(
IScalarKeyFrameAnimation,
IScalarKeyFrameAnimation_Vtbl,
0x5a5f8abe_d129_5b25_8aff_8180fd9bfb22
);
impl windows_core::RuntimeType for IScalarKeyFrameAnimation {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IScalarKeyFrameAnimation {
pub fn InsertKeyFrame(
&self,
normalizedprogresskey: f32,
value: f32,
) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).InsertKeyFrame)(
windows_core::Interface::as_raw(self),
normalizedprogresskey,
value,
)
.ok()
}
}
pub fn InsertKeyFrameWithEasingFunction<P2>(
&self,
normalizedprogresskey: f32,
value: f32,
easingfunction: P2,
) -> windows_core::Result<()>
where
P2: windows_core::Param<CompositionEasingFunction>,
{
unsafe {
(windows_core::Interface::vtable(self).InsertKeyFrameWithEasingFunction)(
windows_core::Interface::as_raw(self),
normalizedprogresskey,
value,
easingfunction.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IScalarKeyFrameAnimation_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub InsertKeyFrame:
unsafe extern "system" fn(*mut core::ffi::c_void, f32, f32) -> windows_core::HRESULT,
pub InsertKeyFrameWithEasingFunction: unsafe extern "system" fn(
*mut core::ffi::c_void,
f32,
f32,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IScrollAnchorProvider,
IScrollAnchorProvider_Vtbl,
0x885df41f_f240_5b7b_a703_bfaf39c6a2cd
);
impl windows_core::RuntimeType for IScrollAnchorProvider {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IScrollAnchorProvider,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct IScrollAnchorProvider_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CurrentAnchor: usize,
RegisterAnchorCandidate: usize,
UnregisterAnchorCandidate: usize,
}
windows_core::imp::define_interface!(
IScrollSnapPointsInfo,
IScrollSnapPointsInfo_Vtbl,
0xd3ea6e09_ecf7_51a8_bd54_fc84b9653766
);
impl windows_core::RuntimeType for IScrollSnapPointsInfo {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IScrollSnapPointsInfo,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct IScrollSnapPointsInfo_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
AreHorizontalSnapPointsRegular: usize,
AreVerticalSnapPointsRegular: usize,
HorizontalSnapPointsChanged: usize,
RemoveHorizontalSnapPointsChanged: usize,
VerticalSnapPointsChanged: usize,
RemoveVerticalSnapPointsChanged: usize,
GetIrregularSnapPoints: usize,
GetRegularSnapPoints: usize,
}
windows_core::imp::define_interface!(
IScrollViewer,
IScrollViewer_Vtbl,
0x1dc28c2e_996c_5394_89c3_4dc656b4ad46
);
impl windows_core::RuntimeType for IScrollViewer {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IScrollViewer {
pub fn SetHorizontalScrollBarVisibility(
&self,
value: ScrollBarVisibility,
) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetHorizontalScrollBarVisibility)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetVerticalScrollBarVisibility(
&self,
value: ScrollBarVisibility,
) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetVerticalScrollBarVisibility)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IScrollViewer_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
HorizontalScrollBarVisibility: usize,
pub SetHorizontalScrollBarVisibility: unsafe extern "system" fn(
*mut core::ffi::c_void,
ScrollBarVisibility,
) -> windows_core::HRESULT,
VerticalScrollBarVisibility: usize,
pub SetVerticalScrollBarVisibility: unsafe extern "system" fn(
*mut core::ffi::c_void,
ScrollBarVisibility,
) -> windows_core::HRESULT,
IsHorizontalRailEnabled: usize,
SetIsHorizontalRailEnabled: usize,
IsVerticalRailEnabled: usize,
SetIsVerticalRailEnabled: usize,
IsHorizontalScrollChainingEnabled: usize,
SetIsHorizontalScrollChainingEnabled: usize,
IsVerticalScrollChainingEnabled: usize,
SetIsVerticalScrollChainingEnabled: usize,
IsZoomChainingEnabled: usize,
SetIsZoomChainingEnabled: usize,
IsScrollInertiaEnabled: usize,
SetIsScrollInertiaEnabled: usize,
IsZoomInertiaEnabled: usize,
SetIsZoomInertiaEnabled: usize,
HorizontalScrollMode: usize,
SetHorizontalScrollMode: usize,
VerticalScrollMode: usize,
SetVerticalScrollMode: usize,
ZoomMode: usize,
SetZoomMode: usize,
HorizontalSnapPointsAlignment: usize,
SetHorizontalSnapPointsAlignment: usize,
VerticalSnapPointsAlignment: usize,
SetVerticalSnapPointsAlignment: usize,
HorizontalSnapPointsType: usize,
SetHorizontalSnapPointsType: usize,
VerticalSnapPointsType: usize,
SetVerticalSnapPointsType: usize,
ZoomSnapPointsType: usize,
SetZoomSnapPointsType: usize,
HorizontalOffset: usize,
ViewportWidth: usize,
ScrollableWidth: usize,
ComputedHorizontalScrollBarVisibility: usize,
ExtentWidth: usize,
VerticalOffset: usize,
ViewportHeight: usize,
ScrollableHeight: usize,
ComputedVerticalScrollBarVisibility: usize,
ExtentHeight: usize,
MinZoomFactor: usize,
SetMinZoomFactor: usize,
MaxZoomFactor: usize,
SetMaxZoomFactor: usize,
ZoomFactor: usize,
ZoomSnapPoints: usize,
TopLeftHeader: usize,
SetTopLeftHeader: usize,
LeftHeader: usize,
SetLeftHeader: usize,
TopHeader: usize,
SetTopHeader: usize,
ReduceViewportForCoreInputViewOcclusions: usize,
SetReduceViewportForCoreInputViewOcclusions: usize,
HorizontalAnchorRatio: usize,
SetHorizontalAnchorRatio: usize,
VerticalAnchorRatio: usize,
SetVerticalAnchorRatio: usize,
CanContentRenderOutsideBounds: usize,
SetCanContentRenderOutsideBounds: usize,
AnchorRequested: usize,
RemoveAnchorRequested: usize,
ViewChanging: usize,
RemoveViewChanging: usize,
ViewChanged: usize,
RemoveViewChanged: usize,
DirectManipulationStarted: usize,
RemoveDirectManipulationStarted: usize,
DirectManipulationCompleted: usize,
RemoveDirectManipulationCompleted: usize,
ScrollToHorizontalOffset: usize,
ScrollToVerticalOffset: usize,
ZoomToFactor: usize,
ChangeView: usize,
ChangeViewWithOptionalAnimation: usize,
InvalidateScrollInfo: usize,
IsDeferredScrollingEnabled: usize,
SetIsDeferredScrollingEnabled: usize,
BringIntoViewOnFocusChange: usize,
SetBringIntoViewOnFocusChange: usize,
}
windows_core::imp::define_interface!(
IScrollViewerStatics,
IScrollViewerStatics_Vtbl,
0xd971fd86_0a96_50c4_a6e1_9975faa2a142
);
impl windows_core::RuntimeType for IScrollViewerStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IScrollViewerStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
HorizontalSnapPointsAlignmentProperty: usize,
VerticalSnapPointsAlignmentProperty: usize,
HorizontalSnapPointsTypeProperty: usize,
VerticalSnapPointsTypeProperty: usize,
ZoomSnapPointsTypeProperty: usize,
HorizontalOffsetProperty: usize,
ViewportWidthProperty: usize,
ScrollableWidthProperty: usize,
ComputedHorizontalScrollBarVisibilityProperty: usize,
ExtentWidthProperty: usize,
VerticalOffsetProperty: usize,
ViewportHeightProperty: usize,
ScrollableHeightProperty: usize,
ComputedVerticalScrollBarVisibilityProperty: usize,
ExtentHeightProperty: usize,
MinZoomFactorProperty: usize,
MaxZoomFactorProperty: usize,
ZoomFactorProperty: usize,
ZoomSnapPointsProperty: usize,
TopLeftHeaderProperty: usize,
LeftHeaderProperty: usize,
TopHeaderProperty: usize,
ReduceViewportForCoreInputViewOcclusionsProperty: usize,
HorizontalAnchorRatioProperty: usize,
VerticalAnchorRatioProperty: usize,
HorizontalScrollBarVisibilityProperty: usize,
GetHorizontalScrollBarVisibility: usize,
SetHorizontalScrollBarVisibility: usize,
VerticalScrollBarVisibilityProperty: usize,
GetVerticalScrollBarVisibility: usize,
SetVerticalScrollBarVisibility: usize,
IsHorizontalRailEnabledProperty: usize,
GetIsHorizontalRailEnabled: usize,
SetIsHorizontalRailEnabled: usize,
IsVerticalRailEnabledProperty: usize,
GetIsVerticalRailEnabled: usize,
SetIsVerticalRailEnabled: usize,
IsHorizontalScrollChainingEnabledProperty: usize,
GetIsHorizontalScrollChainingEnabled: usize,
SetIsHorizontalScrollChainingEnabled: usize,
IsVerticalScrollChainingEnabledProperty: usize,
GetIsVerticalScrollChainingEnabled: usize,
SetIsVerticalScrollChainingEnabled: usize,
IsZoomChainingEnabledProperty: usize,
GetIsZoomChainingEnabled: usize,
SetIsZoomChainingEnabled: usize,
IsScrollInertiaEnabledProperty: usize,
GetIsScrollInertiaEnabled: usize,
SetIsScrollInertiaEnabled: usize,
IsZoomInertiaEnabledProperty: usize,
GetIsZoomInertiaEnabled: usize,
SetIsZoomInertiaEnabled: usize,
HorizontalScrollModeProperty: usize,
GetHorizontalScrollMode: usize,
SetHorizontalScrollMode: usize,
VerticalScrollModeProperty: usize,
GetVerticalScrollMode: usize,
SetVerticalScrollMode: usize,
ZoomModeProperty: usize,
GetZoomMode: usize,
SetZoomMode: usize,
CanContentRenderOutsideBoundsProperty: usize,
GetCanContentRenderOutsideBounds: usize,
SetCanContentRenderOutsideBounds: usize,
IsDeferredScrollingEnabledProperty: usize,
GetIsDeferredScrollingEnabled: usize,
SetIsDeferredScrollingEnabled: usize,
BringIntoViewOnFocusChangeProperty: usize,
GetBringIntoViewOnFocusChange: usize,
SetBringIntoViewOnFocusChange: usize,
}
windows_core::imp::define_interface!(
ISelectionChangedEventArgs,
ISelectionChangedEventArgs_Vtbl,
0xb6c18076_4b76_5416_ad29_e2dc20c46246
);
impl windows_core::RuntimeType for ISelectionChangedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ISelectionChangedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
AddedItems: usize,
RemovedItems: usize,
}
windows_core::imp::define_interface!(
ISelectionChangedEventArgsFactory,
ISelectionChangedEventArgsFactory_Vtbl,
0x0fcd041d_465f_5745_9882_0c8348e4135d
);
impl windows_core::RuntimeType for ISelectionChangedEventArgsFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ISelectionChangedEventArgsFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateInstanceWithRemovedItemsAndAddedItems: usize,
}
windows_core::imp::define_interface!(
ISelector,
ISelector_Vtbl,
0x8f7e2159_e61d_576f_8476_f83fde3d689e
);
impl windows_core::RuntimeType for ISelector {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ISelector {
pub fn SelectedIndex(&self) -> windows_core::Result<i32> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectedIndex)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetSelectedIndex(&self, value: i32) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetSelectedIndex)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SelectedItem(&self) -> windows_core::Result<windows_core::IInspectable> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectedItem)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetSelectedItem<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetSelectedItem)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SelectionChanged<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<SelectionChangedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectionChanged)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveSelectionChanged(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveSelectionChanged)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ISelector_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub SelectedIndex:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
pub SetSelectedIndex:
unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
pub SelectedItem: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetSelectedItem: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
SelectedValue: usize,
SetSelectedValue: usize,
SelectedValuePath: usize,
SetSelectedValuePath: usize,
IsSynchronizedWithCurrentItem: usize,
SetIsSynchronizedWithCurrentItem: usize,
pub SelectionChanged: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveSelectionChanged:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ISelectorFactory,
ISelectorFactory_Vtbl,
0x21a42024_af07_58f9_8789_848d3324d901
);
impl windows_core::RuntimeType for ISelectorFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ISelectorFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
ISelectorItem,
ISelectorItem_Vtbl,
0x5772c4de_60ea_5492_8c5e_b3323d5a3ca6
);
impl windows_core::RuntimeType for ISelectorItem {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ISelectorItem_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsSelected: usize,
SetIsSelected: usize,
}
windows_core::imp::define_interface!(
ISelectorItemFactory,
ISelectorItemFactory_Vtbl,
0x078039f5_76ed_5299_9715_fc8c58173560
);
impl windows_core::RuntimeType for ISelectorItemFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ISelectorItemFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ISelectorItemStatics,
ISelectorItemStatics_Vtbl,
0x4b201a54_a414_5e79_9b6b_3da9de442a35
);
impl windows_core::RuntimeType for ISelectorItemStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ISelectorItemStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsSelectedProperty: usize,
}
windows_core::imp::define_interface!(
ISelectorStatics,
ISelectorStatics_Vtbl,
0x569b2234_1ceb_516e_b64e_0d479452e279
);
impl windows_core::RuntimeType for ISelectorStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ISelectorStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
SelectedIndexProperty: usize,
SelectedItemProperty: usize,
SelectedValueProperty: usize,
SelectedValuePathProperty: usize,
IsSynchronizedWithCurrentItemProperty: usize,
GetIsSelectionActive: usize,
}
windows_core::imp::define_interface!(
ISemanticZoomInformation,
ISemanticZoomInformation_Vtbl,
0x12d62b04_bb13_50f2_9d8b_e57c02b4bde4
);
impl windows_core::RuntimeType for ISemanticZoomInformation {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
ISemanticZoomInformation,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct ISemanticZoomInformation_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
SemanticZoomOwner: usize,
SetSemanticZoomOwner: usize,
IsActiveView: usize,
SetIsActiveView: usize,
IsZoomedInView: usize,
SetIsZoomedInView: usize,
InitializeViewChange: usize,
CompleteViewChange: usize,
MakeVisible: usize,
StartViewChangeFrom: usize,
StartViewChangeTo: usize,
CompleteViewChangeFrom: usize,
CompleteViewChangeTo: usize,
}
windows_core::imp::define_interface!(IShape, IShape_Vtbl, 0x9941aad3_6af2_5ba2_9085_8506d5f2485e);
impl windows_core::RuntimeType for IShape {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IShape {
pub fn SetFill<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<Brush>,
{
unsafe {
(windows_core::Interface::vtable(self).SetFill)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetStroke<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<Brush>,
{
unsafe {
(windows_core::Interface::vtable(self).SetStroke)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetStrokeThickness(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetStrokeThickness)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetStretch(&self, value: Stretch) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetStretch)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IShape_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Fill: usize,
pub SetFill: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
Stroke: usize,
pub SetStroke: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
StrokeMiterLimit: usize,
SetStrokeMiterLimit: usize,
StrokeThickness: usize,
pub SetStrokeThickness:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
StrokeStartLineCap: usize,
SetStrokeStartLineCap: usize,
StrokeEndLineCap: usize,
SetStrokeEndLineCap: usize,
StrokeLineJoin: usize,
SetStrokeLineJoin: usize,
StrokeDashOffset: usize,
SetStrokeDashOffset: usize,
StrokeDashCap: usize,
SetStrokeDashCap: usize,
StrokeDashArray: usize,
SetStrokeDashArray: usize,
Stretch: usize,
pub SetStretch:
unsafe extern "system" fn(*mut core::ffi::c_void, Stretch) -> windows_core::HRESULT,
GeometryTransform: usize,
GetAlphaMask: usize,
}
windows_core::imp::define_interface!(
IShapeFactory,
IShapeFactory_Vtbl,
0x4fecafaf_8265_5252_ba5c_f43639f974a5
);
impl windows_core::RuntimeType for IShapeFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IShapeFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IShapeStatics,
IShapeStatics_Vtbl,
0xea407c43_8a09_587a_958a_4dd17d217ce1
);
impl windows_core::RuntimeType for IShapeStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IShapeStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
FillProperty: usize,
StrokeProperty: usize,
StrokeMiterLimitProperty: usize,
StrokeThicknessProperty: usize,
StrokeStartLineCapProperty: usize,
StrokeEndLineCapProperty: usize,
StrokeLineJoinProperty: usize,
StrokeDashOffsetProperty: usize,
StrokeDashCapProperty: usize,
StrokeDashArrayProperty: usize,
StretchProperty: usize,
}
windows_core::imp::define_interface!(
ISlider,
ISlider_Vtbl,
0xf7418ecf_7c35_5216_8bf1_d82d47cce5df
);
impl windows_core::RuntimeType for ISlider {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ISlider {
pub fn SetOrientation(&self, value: Orientation) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetOrientation)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetHeader<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetHeader)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ISlider_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IntermediateValue: usize,
SetIntermediateValue: usize,
StepFrequency: usize,
SetStepFrequency: usize,
SnapsTo: usize,
SetSnapsTo: usize,
TickFrequency: usize,
SetTickFrequency: usize,
TickPlacement: usize,
SetTickPlacement: usize,
Orientation: usize,
pub SetOrientation:
unsafe extern "system" fn(*mut core::ffi::c_void, Orientation) -> windows_core::HRESULT,
IsDirectionReversed: usize,
SetIsDirectionReversed: usize,
IsThumbToolTipEnabled: usize,
SetIsThumbToolTipEnabled: usize,
ThumbToolTipValueConverter: usize,
SetThumbToolTipValueConverter: usize,
Header: usize,
pub SetHeader: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
HeaderTemplate: usize,
SetHeaderTemplate: usize,
}
windows_core::imp::define_interface!(
ISliderFactory,
ISliderFactory_Vtbl,
0x06604d71_34ca_5f39_9656_29d81d3c110c
);
impl windows_core::RuntimeType for ISliderFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ISliderFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ISliderStatics,
ISliderStatics_Vtbl,
0xf0541f7b_6d81_59e2_997a_2e65fbcccd21
);
impl windows_core::RuntimeType for ISliderStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ISliderStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IntermediateValueProperty: usize,
StepFrequencyProperty: usize,
SnapsToProperty: usize,
TickFrequencyProperty: usize,
TickPlacementProperty: usize,
OrientationProperty: usize,
IsDirectionReversedProperty: usize,
IsThumbToolTipEnabledProperty: usize,
ThumbToolTipValueConverterProperty: usize,
HeaderProperty: usize,
HeaderTemplateProperty: usize,
}
windows_core::imp::define_interface!(
ISolidColorBrush,
ISolidColorBrush_Vtbl,
0xb3865c31_37c8_55c1_8a72_d41c67642e2a
);
impl windows_core::RuntimeType for ISolidColorBrush {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ISolidColorBrush {
pub fn Color(&self) -> windows_core::Result<Color> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Color)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetColor(&self, value: Color) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetColor)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ISolidColorBrush_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Color:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut Color) -> windows_core::HRESULT,
pub SetColor: unsafe extern "system" fn(*mut core::ffi::c_void, Color) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ISolidColorBrushFactory,
ISolidColorBrushFactory_Vtbl,
0x7b559384_4daa_54f4_91ef_33a23fd816ca
);
impl windows_core::RuntimeType for ISolidColorBrushFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ISolidColorBrushFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CreateInstanceWithColor: usize,
}
windows_core::imp::define_interface!(
ISolidColorBrushStatics,
ISolidColorBrushStatics_Vtbl,
0x6bc16da0_c4e6_59b8_995b_b31e48424c07
);
impl windows_core::RuntimeType for ISolidColorBrushStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ISolidColorBrushStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ColorProperty: usize,
}
windows_core::imp::define_interface!(
IStackPanel,
IStackPanel_Vtbl,
0x493ab00b_3a6a_5e4a_9452_407cd5197406
);
impl windows_core::RuntimeType for IStackPanel {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IStackPanel {
pub fn SetOrientation(&self, value: Orientation) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetOrientation)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetCornerRadius(&self, value: CornerRadius) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetCornerRadius)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetPadding(&self, value: Thickness) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPadding)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetSpacing(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetSpacing)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IStackPanel_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
AreScrollSnapPointsRegular: usize,
SetAreScrollSnapPointsRegular: usize,
Orientation: usize,
pub SetOrientation:
unsafe extern "system" fn(*mut core::ffi::c_void, Orientation) -> windows_core::HRESULT,
BackgroundSizing: usize,
SetBackgroundSizing: usize,
BorderBrush: usize,
SetBorderBrush: usize,
BorderThickness: usize,
SetBorderThickness: usize,
CornerRadius: usize,
pub SetCornerRadius:
unsafe extern "system" fn(*mut core::ffi::c_void, CornerRadius) -> windows_core::HRESULT,
Padding: usize,
pub SetPadding:
unsafe extern "system" fn(*mut core::ffi::c_void, Thickness) -> windows_core::HRESULT,
Spacing: usize,
pub SetSpacing: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IStackPanelFactory,
IStackPanelFactory_Vtbl,
0x64c1d388_47a2_5a74_a75b_559d151ee5ac
);
impl windows_core::RuntimeType for IStackPanelFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IStackPanelFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IStackPanelStatics,
IStackPanelStatics_Vtbl,
0x10bb04e3_eb01_5ea8_9f96_69508479def9
);
impl windows_core::RuntimeType for IStackPanelStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IStackPanelStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
AreScrollSnapPointsRegularProperty: usize,
OrientationProperty: usize,
BackgroundSizingProperty: usize,
BorderBrushProperty: usize,
BorderThicknessProperty: usize,
CornerRadiusProperty: usize,
PaddingProperty: usize,
SpacingProperty: usize,
}
windows_core::imp::define_interface!(
IStringable,
IStringable_Vtbl,
0x96369f54_8eb6_48f0_abce_c1b211e627c3
);
impl windows_core::RuntimeType for IStringable {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IStringable,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct IStringable_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ToString: usize,
}
windows_core::imp::define_interface!(
ITabView,
ITabView_Vtbl,
0x07b509e1_1d38_551b_95f4_4732b049f6a6
);
impl windows_core::RuntimeType for ITabView {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ITabView {
pub fn TabItems(
&self,
) -> windows_core::Result<windows_collections::IVector<windows_core::IInspectable>> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).TabItems)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SelectedIndex(&self) -> windows_core::Result<i32> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectedIndex)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetSelectedIndex(&self, value: i32) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetSelectedIndex)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SelectedItem(&self) -> windows_core::Result<windows_core::IInspectable> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectedItem)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetSelectedItem<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetSelectedItem)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SelectionChanged<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<SelectionChangedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectionChanged)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveSelectionChanged(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveSelectionChanged)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ITabView_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
TabWidthMode: usize,
SetTabWidthMode: usize,
CloseButtonOverlayMode: usize,
SetCloseButtonOverlayMode: usize,
TabStripHeader: usize,
SetTabStripHeader: usize,
TabStripHeaderTemplate: usize,
SetTabStripHeaderTemplate: usize,
TabStripFooter: usize,
SetTabStripFooter: usize,
TabStripFooterTemplate: usize,
SetTabStripFooterTemplate: usize,
IsAddTabButtonVisible: usize,
SetIsAddTabButtonVisible: usize,
AddTabButtonCommand: usize,
SetAddTabButtonCommand: usize,
AddTabButtonCommandParameter: usize,
SetAddTabButtonCommandParameter: usize,
TabCloseRequested: usize,
RemoveTabCloseRequested: usize,
TabDroppedOutside: usize,
RemoveTabDroppedOutside: usize,
AddTabButtonClick: usize,
RemoveAddTabButtonClick: usize,
TabItemsChanged: usize,
RemoveTabItemsChanged: usize,
TabItemsSource: usize,
SetTabItemsSource: usize,
pub TabItems: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
TabItemTemplate: usize,
SetTabItemTemplate: usize,
TabItemTemplateSelector: usize,
SetTabItemTemplateSelector: usize,
CanDragTabs: usize,
SetCanDragTabs: usize,
CanReorderTabs: usize,
SetCanReorderTabs: usize,
AllowDropTabs: usize,
SetAllowDropTabs: usize,
pub SelectedIndex:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut i32) -> windows_core::HRESULT,
pub SetSelectedIndex:
unsafe extern "system" fn(*mut core::ffi::c_void, i32) -> windows_core::HRESULT,
pub SelectedItem: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetSelectedItem: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
ContainerFromItem: usize,
ContainerFromIndex: usize,
pub SelectionChanged: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveSelectionChanged:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
TabDragStarting: usize,
RemoveTabDragStarting: usize,
TabDragCompleted: usize,
RemoveTabDragCompleted: usize,
TabStripDragOver: usize,
RemoveTabStripDragOver: usize,
TabStripDrop: usize,
RemoveTabStripDrop: usize,
}
windows_core::imp::define_interface!(
ITabView2,
ITabView2_Vtbl,
0xdeaa552e_4e6c_5239_ac75_d9419a2309da
);
impl windows_core::RuntimeType for ITabView2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ITabView2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CanTearOutTabs: usize,
SetCanTearOutTabs: usize,
TabTearOutWindowRequested: usize,
RemoveTabTearOutWindowRequested: usize,
TabTearOutRequested: usize,
RemoveTabTearOutRequested: usize,
ExternalTornOutTabsDropping: usize,
RemoveExternalTornOutTabsDropping: usize,
ExternalTornOutTabsDropped: usize,
RemoveExternalTornOutTabsDropped: usize,
}
windows_core::imp::define_interface!(
ITabViewFactory,
ITabViewFactory_Vtbl,
0xe7e83685_eedf_5106_9429_884435ab166b
);
impl windows_core::RuntimeType for ITabViewFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ITabViewFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ITabViewItem,
ITabViewItem_Vtbl,
0x64980afa_97af_5190_90b3_4ba277b1113d
);
impl windows_core::RuntimeType for ITabViewItem {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ITabViewItem {
pub fn SetHeader<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetHeader)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ITabViewItem_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Header: usize,
pub SetHeader: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
HeaderTemplate: usize,
SetHeaderTemplate: usize,
IconSource: usize,
SetIconSource: usize,
IsClosable: usize,
SetIsClosable: usize,
TabViewTemplateSettings: usize,
CloseRequested: usize,
RemoveCloseRequested: usize,
}
windows_core::imp::define_interface!(
ITabViewItemFactory,
ITabViewItemFactory_Vtbl,
0xb64c2423_7e56_5d41_8a84_1ee28f9826a4
);
impl windows_core::RuntimeType for ITabViewItemFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ITabViewItemFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ITabViewItemStatics,
ITabViewItemStatics_Vtbl,
0x4cfc7eab_2eff_5457_8251_c19d374ab34d
);
impl windows_core::RuntimeType for ITabViewItemStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ITabViewItemStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
HeaderProperty: usize,
HeaderTemplateProperty: usize,
IconSourceProperty: usize,
IsClosableProperty: usize,
TabViewTemplateSettingsProperty: usize,
}
windows_core::imp::define_interface!(
ITabViewStatics,
ITabViewStatics_Vtbl,
0xf4326c08_1b94_53d7_934f_e6ae0d3d18ab
);
impl windows_core::RuntimeType for ITabViewStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ITabViewStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
TabWidthModeProperty: usize,
TabStripHeaderProperty: usize,
TabStripHeaderTemplateProperty: usize,
TabStripFooterProperty: usize,
TabStripFooterTemplateProperty: usize,
IsAddTabButtonVisibleProperty: usize,
AddTabButtonCommandProperty: usize,
AddTabButtonCommandParameterProperty: usize,
TabItemsSourceProperty: usize,
TabItemsProperty: usize,
TabItemTemplateProperty: usize,
TabItemTemplateSelectorProperty: usize,
CloseButtonOverlayModeProperty: usize,
CanDragTabsProperty: usize,
CanReorderTabsProperty: usize,
AllowDropTabsProperty: usize,
SelectedIndexProperty: usize,
SelectedItemProperty: usize,
}
windows_core::imp::define_interface!(
ITabViewStatics2,
ITabViewStatics2_Vtbl,
0xb589da39_25f2_517c_82d1_c51d8085550e
);
impl windows_core::RuntimeType for ITabViewStatics2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ITabViewStatics2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CanTearOutTabsProperty: usize,
}
windows_core::imp::define_interface!(
ITappedRoutedEventArgs,
ITappedRoutedEventArgs_Vtbl,
0x73f74b8c_3709_547e_8e0c_51c03c89126a
);
impl windows_core::RuntimeType for ITappedRoutedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ITappedRoutedEventArgs {
pub fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetHandled)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ITappedRoutedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
PointerDeviceType: usize,
Handled: usize,
pub SetHandled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
GetPosition: usize,
}
windows_core::imp::define_interface!(
ITextBlock,
ITextBlock_Vtbl,
0x1ac8d84f_392c_5c7e_83f5_a53e3bf0abb0
);
impl windows_core::RuntimeType for ITextBlock {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ITextBlock {
pub fn SetFontSize(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetFontSize)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetFontWeight(&self, value: FontWeight) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetFontWeight)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetForeground<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<Brush>,
{
unsafe {
(windows_core::Interface::vtable(self).SetForeground)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetTextWrapping(&self, value: TextWrapping) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetTextWrapping)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Text(&self) -> windows_core::Result<windows_core::HSTRING> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Text)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| core::mem::transmute(result__))
}
}
pub fn SetText(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetText)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn SetPadding(&self, value: Thickness) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPadding)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetIsTextSelectionEnabled(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsTextSelectionEnabled)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SelectionChanged<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<RoutedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectionChanged)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveSelectionChanged(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveSelectionChanged)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ITextBlock_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
FontSize: usize,
pub SetFontSize:
unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
FontFamily: usize,
SetFontFamily: usize,
FontWeight: usize,
pub SetFontWeight:
unsafe extern "system" fn(*mut core::ffi::c_void, FontWeight) -> windows_core::HRESULT,
FontStyle: usize,
SetFontStyle: usize,
FontStretch: usize,
SetFontStretch: usize,
CharacterSpacing: usize,
SetCharacterSpacing: usize,
Foreground: usize,
pub SetForeground: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
TextWrapping: usize,
pub SetTextWrapping:
unsafe extern "system" fn(*mut core::ffi::c_void, TextWrapping) -> windows_core::HRESULT,
TextTrimming: usize,
SetTextTrimming: usize,
TextAlignment: usize,
SetTextAlignment: usize,
pub Text: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetText: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
Inlines: usize,
Padding: usize,
pub SetPadding:
unsafe extern "system" fn(*mut core::ffi::c_void, Thickness) -> windows_core::HRESULT,
LineHeight: usize,
SetLineHeight: usize,
LineStackingStrategy: usize,
SetLineStackingStrategy: usize,
IsTextSelectionEnabled: usize,
pub SetIsTextSelectionEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
SelectedText: usize,
ContentStart: usize,
ContentEnd: usize,
SelectionStart: usize,
SelectionEnd: usize,
BaselineOffset: usize,
SelectionHighlightColor: usize,
SetSelectionHighlightColor: usize,
MaxLines: usize,
SetMaxLines: usize,
TextLineBounds: usize,
SetTextLineBounds: usize,
OpticalMarginAlignment: usize,
SetOpticalMarginAlignment: usize,
IsColorFontEnabled: usize,
SetIsColorFontEnabled: usize,
TextReadingOrder: usize,
SetTextReadingOrder: usize,
IsTextScaleFactorEnabled: usize,
SetIsTextScaleFactorEnabled: usize,
TextDecorations: usize,
SetTextDecorations: usize,
IsTextTrimmed: usize,
HorizontalTextAlignment: usize,
SetHorizontalTextAlignment: usize,
TextHighlighters: usize,
SelectionFlyout: usize,
SetSelectionFlyout: usize,
pub SelectionChanged: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveSelectionChanged:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
ContextMenuOpening: usize,
RemoveContextMenuOpening: usize,
IsTextTrimmedChanged: usize,
RemoveIsTextTrimmedChanged: usize,
SelectAll: usize,
Select: usize,
GetAlphaMask: usize,
CopySelectionToClipboard: usize,
}
windows_core::imp::define_interface!(
ITextBlockStatics,
ITextBlockStatics_Vtbl,
0x3187104b_65c2_5e53_b889_c8272b1314cd
);
impl windows_core::RuntimeType for ITextBlockStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ITextBlockStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
FontSizeProperty: usize,
FontFamilyProperty: usize,
FontWeightProperty: usize,
FontStyleProperty: usize,
FontStretchProperty: usize,
CharacterSpacingProperty: usize,
ForegroundProperty: usize,
TextWrappingProperty: usize,
TextTrimmingProperty: usize,
TextAlignmentProperty: usize,
TextProperty: usize,
PaddingProperty: usize,
LineHeightProperty: usize,
LineStackingStrategyProperty: usize,
IsTextSelectionEnabledProperty: usize,
SelectedTextProperty: usize,
SelectionHighlightColorProperty: usize,
MaxLinesProperty: usize,
TextLineBoundsProperty: usize,
OpticalMarginAlignmentProperty: usize,
IsColorFontEnabledProperty: usize,
TextReadingOrderProperty: usize,
IsTextScaleFactorEnabledProperty: usize,
TextDecorationsProperty: usize,
IsTextTrimmedProperty: usize,
HorizontalTextAlignmentProperty: usize,
SelectionFlyoutProperty: usize,
}
windows_core::imp::define_interface!(
ITextBox,
ITextBox_Vtbl,
0x873af7c2_ab89_5d76_8dbe_3d6325669df5
);
impl windows_core::RuntimeType for ITextBox {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ITextBox {
pub fn Text(&self) -> windows_core::Result<windows_core::HSTRING> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Text)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| core::mem::transmute(result__))
}
}
pub fn SetText(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetText)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn SetAcceptsReturn(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetAcceptsReturn)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetTextWrapping(&self, value: TextWrapping) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetTextWrapping)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetHeader<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetHeader)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetPlaceholderText(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetPlaceholderText)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn TextChanged<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<TextChangedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).TextChanged)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveTextChanged(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveTextChanged)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
pub fn SelectionChanged<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<RoutedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).SelectionChanged)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveSelectionChanged(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveSelectionChanged)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ITextBox_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Text: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetText: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
SelectedText: usize,
SetSelectedText: usize,
SelectionLength: usize,
SetSelectionLength: usize,
SelectionStart: usize,
SetSelectionStart: usize,
MaxLength: usize,
SetMaxLength: usize,
IsReadOnly: usize,
SetIsReadOnly: usize,
AcceptsReturn: usize,
pub SetAcceptsReturn:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
TextAlignment: usize,
SetTextAlignment: usize,
TextWrapping: usize,
pub SetTextWrapping:
unsafe extern "system" fn(*mut core::ffi::c_void, TextWrapping) -> windows_core::HRESULT,
IsSpellCheckEnabled: usize,
SetIsSpellCheckEnabled: usize,
IsTextPredictionEnabled: usize,
SetIsTextPredictionEnabled: usize,
InputScope: usize,
SetInputScope: usize,
Header: usize,
pub SetHeader: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
HeaderTemplate: usize,
SetHeaderTemplate: usize,
PlaceholderText: usize,
pub SetPlaceholderText: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
SelectionHighlightColor: usize,
SetSelectionHighlightColor: usize,
PreventKeyboardDisplayOnProgrammaticFocus: usize,
SetPreventKeyboardDisplayOnProgrammaticFocus: usize,
IsColorFontEnabled: usize,
SetIsColorFontEnabled: usize,
SelectionHighlightColorWhenNotFocused: usize,
SetSelectionHighlightColorWhenNotFocused: usize,
HorizontalTextAlignment: usize,
SetHorizontalTextAlignment: usize,
CharacterCasing: usize,
SetCharacterCasing: usize,
PlaceholderForeground: usize,
SetPlaceholderForeground: usize,
CanPasteClipboardContent: usize,
CanUndo: usize,
CanRedo: usize,
SelectionFlyout: usize,
SetSelectionFlyout: usize,
ProofingMenuFlyout: usize,
Description: usize,
SetDescription: usize,
pub TextChanged: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveTextChanged:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
pub SelectionChanged: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveSelectionChanged:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
ContextMenuOpening: usize,
RemoveContextMenuOpening: usize,
Paste: usize,
RemovePaste: usize,
TextCompositionStarted: usize,
RemoveTextCompositionStarted: usize,
TextCompositionChanged: usize,
RemoveTextCompositionChanged: usize,
TextCompositionEnded: usize,
RemoveTextCompositionEnded: usize,
CopyingToClipboard: usize,
RemoveCopyingToClipboard: usize,
CuttingToClipboard: usize,
RemoveCuttingToClipboard: usize,
BeforeTextChanging: usize,
RemoveBeforeTextChanging: usize,
SelectionChanging: usize,
RemoveSelectionChanging: usize,
Select: usize,
SelectAll: usize,
GetRectFromCharacterIndex: usize,
GetLinguisticAlternativesAsync: usize,
Undo: usize,
Redo: usize,
PasteFromClipboard: usize,
CopySelectionToClipboard: usize,
CutSelectionToClipboard: usize,
ClearUndoRedoHistory: usize,
TextReadingOrder: usize,
SetTextReadingOrder: usize,
DesiredCandidateWindowAlignment: usize,
SetDesiredCandidateWindowAlignment: usize,
CandidateWindowBoundsChanged: usize,
RemoveCandidateWindowBoundsChanged: usize,
TextChanging: usize,
RemoveTextChanging: usize,
}
windows_core::imp::define_interface!(
ITextBoxFactory,
ITextBoxFactory_Vtbl,
0xe1d8b82e_bc60_5d27_b646_5ca4c4a69432
);
impl windows_core::RuntimeType for ITextBoxFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ITextBoxFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ITextBoxStatics,
ITextBoxStatics_Vtbl,
0xa41cf38f_712a_5599_bbed_5a3d9b6bd46e
);
impl windows_core::RuntimeType for ITextBoxStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ITextBoxStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
TextProperty: usize,
MaxLengthProperty: usize,
IsReadOnlyProperty: usize,
AcceptsReturnProperty: usize,
TextAlignmentProperty: usize,
TextWrappingProperty: usize,
IsSpellCheckEnabledProperty: usize,
IsTextPredictionEnabledProperty: usize,
InputScopeProperty: usize,
HeaderProperty: usize,
HeaderTemplateProperty: usize,
PlaceholderTextProperty: usize,
SelectionHighlightColorProperty: usize,
PreventKeyboardDisplayOnProgrammaticFocusProperty: usize,
IsColorFontEnabledProperty: usize,
SelectionHighlightColorWhenNotFocusedProperty: usize,
HorizontalTextAlignmentProperty: usize,
CharacterCasingProperty: usize,
PlaceholderForegroundProperty: usize,
CanPasteClipboardContentProperty: usize,
CanUndoProperty: usize,
CanRedoProperty: usize,
SelectionFlyoutProperty: usize,
ProofingMenuFlyoutProperty: usize,
DescriptionProperty: usize,
DesiredCandidateWindowAlignmentProperty: usize,
TextReadingOrderProperty: usize,
}
windows_core::imp::define_interface!(
ITextChangedEventArgs,
ITextChangedEventArgs_Vtbl,
0x71c37e43_7be7_52fc_bf8c_9867f44be5f4
);
impl windows_core::RuntimeType for ITextChangedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ITextChangedEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
ITitleBar,
ITitleBar_Vtbl,
0xc552714d_5d30_5a2b_9c7a_d68bea3dde8d
);
impl windows_core::RuntimeType for ITitleBar {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl ITitleBar {
pub fn SetTitle(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetTitle)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn SetSubtitle(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetSubtitle)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn Content(&self) -> windows_core::Result<UIElement> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Content)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetContent<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
{
unsafe {
(windows_core::Interface::vtable(self).SetContent)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetIsBackButtonVisible(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsBackButtonVisible)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetIsBackButtonEnabled(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsBackButtonEnabled)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetIsPaneToggleButtonVisible(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsPaneToggleButtonVisible)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn BackRequested<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<TypedEventHandler<TitleBar, windows_core::IInspectable>>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).BackRequested)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveBackRequested(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveBackRequested)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
pub fn PaneToggleRequested<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<TypedEventHandler<TitleBar, windows_core::IInspectable>>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).PaneToggleRequested)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemovePaneToggleRequested(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemovePaneToggleRequested)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct ITitleBar_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Title: usize,
pub SetTitle: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
Subtitle: usize,
pub SetSubtitle: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
IconSource: usize,
SetIconSource: usize,
LeftHeader: usize,
SetLeftHeader: usize,
pub Content: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetContent: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
RightHeader: usize,
SetRightHeader: usize,
IsBackButtonVisible: usize,
pub SetIsBackButtonVisible:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
IsBackButtonEnabled: usize,
pub SetIsBackButtonEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
IsPaneToggleButtonVisible: usize,
pub SetIsPaneToggleButtonVisible:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
TemplateSettings: usize,
pub BackRequested: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveBackRequested:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
pub PaneToggleRequested: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemovePaneToggleRequested:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ITitleBarFactory,
ITitleBarFactory_Vtbl,
0xc4452799_4606_59ef_9392_a0548d48b82e
);
impl windows_core::RuntimeType for ITitleBarFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ITitleBarFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
ITitleBarStatics,
ITitleBarStatics_Vtbl,
0xf9ada39b_1f24_5955_9b5c_cacbfe9a41cf
);
impl windows_core::RuntimeType for ITitleBarStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct ITitleBarStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
TitleProperty: usize,
SubtitleProperty: usize,
IconSourceProperty: usize,
LeftHeaderProperty: usize,
ContentProperty: usize,
RightHeaderProperty: usize,
IsBackButtonVisibleProperty: usize,
IsBackButtonEnabledProperty: usize,
IsPaneToggleButtonVisibleProperty: usize,
TemplateSettingsProperty: usize,
}
windows_core::imp::define_interface!(
IToggleButton,
IToggleButton_Vtbl,
0x686fbaa4_c866_568b_8f75_481d8d545291
);
impl windows_core::RuntimeType for IToggleButton {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IToggleButton {
pub fn IsChecked(&self) -> windows_core::Result<bool> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).IsChecked)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
.and_then(|r__: windows_reference::IReference<bool>| r__.Value())
}
}
pub fn SetIsChecked(&self, value: Option<bool>) -> windows_core::Result<()> {
let value__ =
value.map(<windows_reference::IReference<bool> as core::convert::From<_>>::from);
unsafe {
(windows_core::Interface::vtable(self).SetIsChecked)(
windows_core::Interface::as_raw(self),
windows_core::Param::param(value__.as_ref()).abi(),
)
.ok()
}
}
pub fn Checked<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<RoutedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Checked)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveChecked(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveChecked)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
pub fn Unchecked<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<RoutedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Unchecked)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveUnchecked(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveUnchecked)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IToggleButton_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub IsChecked: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetIsChecked: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
IsThreeState: usize,
SetIsThreeState: usize,
pub Checked: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveChecked:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
pub Unchecked: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveUnchecked:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
Indeterminate: usize,
RemoveIndeterminate: usize,
}
windows_core::imp::define_interface!(
IToggleButtonFactory,
IToggleButtonFactory_Vtbl,
0x519511bb_d35b_5e2d_966c_8369405a4408
);
impl windows_core::RuntimeType for IToggleButtonFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IToggleButtonFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IToggleButtonOverrides,
IToggleButtonOverrides_Vtbl,
0xee55f85d_9061_5d18_b31a_90bc5625cfe9
);
impl windows_core::RuntimeType for IToggleButtonOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IToggleButtonOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
OnToggle: usize,
}
windows_core::imp::define_interface!(
IToggleButtonStatics,
IToggleButtonStatics_Vtbl,
0x4b8397e3_76fd_59df_824f_40ae339fb00b
);
impl windows_core::RuntimeType for IToggleButtonStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IToggleButtonStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsCheckedProperty: usize,
IsThreeStateProperty: usize,
}
windows_core::imp::define_interface!(
IToggleSwitch,
IToggleSwitch_Vtbl,
0x1b17eeb1_74bf_5a83_8161_a86f0fdcdf24
);
impl windows_core::RuntimeType for IToggleSwitch {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IToggleSwitch {
pub fn IsOn(&self) -> windows_core::Result<bool> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).IsOn)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetIsOn(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsOn)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetHeader<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetHeader)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetOnContent<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetOnContent)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetOffContent<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
{
unsafe {
(windows_core::Interface::vtable(self).SetOffContent)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn Toggled<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<RoutedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Toggled)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveToggled(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveToggled)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IToggleSwitch_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub IsOn: unsafe extern "system" fn(*mut core::ffi::c_void, *mut bool) -> windows_core::HRESULT,
pub SetIsOn: unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
Header: usize,
pub SetHeader: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
HeaderTemplate: usize,
SetHeaderTemplate: usize,
OnContent: usize,
pub SetOnContent: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
OnContentTemplate: usize,
SetOnContentTemplate: usize,
OffContent: usize,
pub SetOffContent: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
OffContentTemplate: usize,
SetOffContentTemplate: usize,
TemplateSettings: usize,
pub Toggled: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveToggled:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IToggleSwitchOverrides,
IToggleSwitchOverrides_Vtbl,
0x772682db_e3d4_5242_b6de_36705725eeb8
);
impl windows_core::RuntimeType for IToggleSwitchOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IToggleSwitchOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
OnToggled: usize,
OnOnContentChanged: usize,
OnOffContentChanged: usize,
OnHeaderChanged: usize,
}
windows_core::imp::define_interface!(
IToggleSwitchStatics,
IToggleSwitchStatics_Vtbl,
0xc9c203d6_0619_504d_9ed8_5054fe3ca51e
);
impl windows_core::RuntimeType for IToggleSwitchStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IToggleSwitchStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
IsOnProperty: usize,
HeaderProperty: usize,
HeaderTemplateProperty: usize,
OnContentProperty: usize,
OnContentTemplateProperty: usize,
OffContentProperty: usize,
OffContentTemplateProperty: usize,
}
windows_core::imp::define_interface!(
IToolTip,
IToolTip_Vtbl,
0x67e93d74_5e93_59a1_91bf_413efbeb904c
);
impl windows_core::RuntimeType for IToolTip {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IToolTip_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
HorizontalOffset: usize,
SetHorizontalOffset: usize,
IsOpen: usize,
SetIsOpen: usize,
Placement: usize,
SetPlacement: usize,
PlacementTarget: usize,
SetPlacementTarget: usize,
PlacementRect: usize,
SetPlacementRect: usize,
VerticalOffset: usize,
SetVerticalOffset: usize,
TemplateSettings: usize,
Closed: usize,
RemoveClosed: usize,
Opened: usize,
RemoveOpened: usize,
}
windows_core::imp::define_interface!(
IToolTipFactory,
IToolTipFactory_Vtbl,
0xbcbb3720_2db8_54e1_8806_fcbed38949a9
);
impl windows_core::RuntimeType for IToolTipFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IToolTipFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IToolTipService,
IToolTipService_Vtbl,
0x01140768_2727_5f89_80e0_5210326a3431
);
impl windows_core::RuntimeType for IToolTipService {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IToolTipService_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IToolTipServiceStatics,
IToolTipServiceStatics_Vtbl,
0x5aa38adc_9874_5e0a_8d8e_1574efc0b88f
);
impl windows_core::RuntimeType for IToolTipServiceStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IToolTipServiceStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
PlacementProperty: usize,
pub GetPlacement: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut PlacementMode,
) -> windows_core::HRESULT,
pub SetPlacement: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
PlacementMode,
) -> windows_core::HRESULT,
PlacementTargetProperty: usize,
GetPlacementTarget: usize,
SetPlacementTarget: usize,
ToolTipProperty: usize,
pub GetToolTip: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetToolTip: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IToolTipStatics,
IToolTipStatics_Vtbl,
0x88eb60d4_cd54_5e23_bd1a_223702442ba4
);
impl windows_core::RuntimeType for IToolTipStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IToolTipStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
HorizontalOffsetProperty: usize,
IsOpenProperty: usize,
PlacementProperty: usize,
PlacementTargetProperty: usize,
PlacementRectProperty: usize,
VerticalOffsetProperty: usize,
}
windows_core::imp::define_interface!(
IUIElement,
IUIElement_Vtbl,
0xc3c01020_320c_5cf6_9d24_d396bbfa4d8b
);
impl windows_core::RuntimeType for IUIElement {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IUIElement {
pub fn SetOpacity(&self, value: f64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetOpacity)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn SetIsHitTestVisible(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetIsHitTestVisible)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn KeyboardAccelerators(
&self,
) -> windows_core::Result<windows_collections::IVector<KeyboardAccelerator>> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).KeyboardAccelerators)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn XamlRoot(&self) -> windows_core::Result<XamlRoot> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).XamlRoot)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetXamlRoot<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<XamlRoot>,
{
unsafe {
(windows_core::Interface::vtable(self).SetXamlRoot)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn PointerPressed<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<PointerEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).PointerPressed)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemovePointerPressed(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemovePointerPressed)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
pub fn PointerReleased<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<PointerEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).PointerReleased)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemovePointerReleased(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemovePointerReleased)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
pub fn PointerExited<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<PointerEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).PointerExited)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemovePointerExited(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemovePointerExited)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
pub fn Tapped<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<TappedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Tapped)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveTapped(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveTapped)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
pub fn RightTapped<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<RightTappedEventHandler>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).RightTapped)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn RemoveRightTapped(&self, token: i64) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).RemoveRightTapped)(
windows_core::Interface::as_raw(self),
token,
)
.ok()
}
}
pub fn UpdateLayout(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).UpdateLayout)(windows_core::Interface::as_raw(
self,
))
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IUIElement_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
DesiredSize: usize,
AllowDrop: usize,
SetAllowDrop: usize,
Opacity: usize,
pub SetOpacity: unsafe extern "system" fn(*mut core::ffi::c_void, f64) -> windows_core::HRESULT,
Clip: usize,
SetClip: usize,
RenderTransform: usize,
SetRenderTransform: usize,
Projection: usize,
SetProjection: usize,
Transform3D: usize,
SetTransform3D: usize,
RenderTransformOrigin: usize,
SetRenderTransformOrigin: usize,
IsHitTestVisible: usize,
pub SetIsHitTestVisible:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
Visibility: usize,
SetVisibility: usize,
RenderSize: usize,
UseLayoutRounding: usize,
SetUseLayoutRounding: usize,
Transitions: usize,
SetTransitions: usize,
CacheMode: usize,
SetCacheMode: usize,
IsTapEnabled: usize,
SetIsTapEnabled: usize,
IsDoubleTapEnabled: usize,
SetIsDoubleTapEnabled: usize,
CanDrag: usize,
SetCanDrag: usize,
IsRightTapEnabled: usize,
SetIsRightTapEnabled: usize,
IsHoldingEnabled: usize,
SetIsHoldingEnabled: usize,
ManipulationMode: usize,
SetManipulationMode: usize,
PointerCaptures: usize,
ContextFlyout: usize,
SetContextFlyout: usize,
CompositeMode: usize,
SetCompositeMode: usize,
Lights: usize,
CanBeScrollAnchor: usize,
SetCanBeScrollAnchor: usize,
ExitDisplayModeOnAccessKeyInvoked: usize,
SetExitDisplayModeOnAccessKeyInvoked: usize,
IsAccessKeyScope: usize,
SetIsAccessKeyScope: usize,
AccessKeyScopeOwner: usize,
SetAccessKeyScopeOwner: usize,
AccessKey: usize,
SetAccessKey: usize,
KeyTipPlacementMode: usize,
SetKeyTipPlacementMode: usize,
KeyTipHorizontalOffset: usize,
SetKeyTipHorizontalOffset: usize,
KeyTipVerticalOffset: usize,
SetKeyTipVerticalOffset: usize,
KeyTipTarget: usize,
SetKeyTipTarget: usize,
XYFocusKeyboardNavigation: usize,
SetXYFocusKeyboardNavigation: usize,
XYFocusUpNavigationStrategy: usize,
SetXYFocusUpNavigationStrategy: usize,
XYFocusDownNavigationStrategy: usize,
SetXYFocusDownNavigationStrategy: usize,
XYFocusLeftNavigationStrategy: usize,
SetXYFocusLeftNavigationStrategy: usize,
XYFocusRightNavigationStrategy: usize,
SetXYFocusRightNavigationStrategy: usize,
pub KeyboardAccelerators: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
KeyboardAcceleratorPlacementTarget: usize,
SetKeyboardAcceleratorPlacementTarget: usize,
KeyboardAcceleratorPlacementMode: usize,
SetKeyboardAcceleratorPlacementMode: usize,
HighContrastAdjustment: usize,
SetHighContrastAdjustment: usize,
TabFocusNavigation: usize,
SetTabFocusNavigation: usize,
OpacityTransition: usize,
SetOpacityTransition: usize,
Translation: usize,
SetTranslation: usize,
TranslationTransition: usize,
SetTranslationTransition: usize,
Rotation: usize,
SetRotation: usize,
RotationTransition: usize,
SetRotationTransition: usize,
Scale: usize,
SetScale: usize,
ScaleTransition: usize,
SetScaleTransition: usize,
TransformMatrix: usize,
SetTransformMatrix: usize,
CenterPoint: usize,
SetCenterPoint: usize,
RotationAxis: usize,
SetRotationAxis: usize,
ActualOffset: usize,
ActualSize: usize,
pub XamlRoot: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetXamlRoot: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
Shadow: usize,
SetShadow: usize,
RasterizationScale: usize,
SetRasterizationScale: usize,
FocusState: usize,
UseSystemFocusVisuals: usize,
SetUseSystemFocusVisuals: usize,
XYFocusLeft: usize,
SetXYFocusLeft: usize,
XYFocusRight: usize,
SetXYFocusRight: usize,
XYFocusUp: usize,
SetXYFocusUp: usize,
XYFocusDown: usize,
SetXYFocusDown: usize,
IsTabStop: usize,
SetIsTabStop: usize,
TabIndex: usize,
SetTabIndex: usize,
KeyUp: usize,
RemoveKeyUp: usize,
KeyDown: usize,
RemoveKeyDown: usize,
GotFocus: usize,
RemoveGotFocus: usize,
LostFocus: usize,
RemoveLostFocus: usize,
DragStarting: usize,
RemoveDragStarting: usize,
DropCompleted: usize,
RemoveDropCompleted: usize,
CharacterReceived: usize,
RemoveCharacterReceived: usize,
DragEnter: usize,
RemoveDragEnter: usize,
DragLeave: usize,
RemoveDragLeave: usize,
DragOver: usize,
RemoveDragOver: usize,
Drop: usize,
RemoveDrop: usize,
pub PointerPressed: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemovePointerPressed:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
PointerMoved: usize,
RemovePointerMoved: usize,
pub PointerReleased: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemovePointerReleased:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
PointerEntered: usize,
RemovePointerEntered: usize,
pub PointerExited: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemovePointerExited:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
PointerCaptureLost: usize,
RemovePointerCaptureLost: usize,
PointerCanceled: usize,
RemovePointerCanceled: usize,
PointerWheelChanged: usize,
RemovePointerWheelChanged: usize,
pub Tapped: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveTapped:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
DoubleTapped: usize,
RemoveDoubleTapped: usize,
Holding: usize,
RemoveHolding: usize,
ContextRequested: usize,
RemoveContextRequested: usize,
ContextCanceled: usize,
RemoveContextCanceled: usize,
pub RightTapped: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
pub RemoveRightTapped:
unsafe extern "system" fn(*mut core::ffi::c_void, i64) -> windows_core::HRESULT,
ManipulationStarting: usize,
RemoveManipulationStarting: usize,
ManipulationInertiaStarting: usize,
RemoveManipulationInertiaStarting: usize,
ManipulationStarted: usize,
RemoveManipulationStarted: usize,
ManipulationDelta: usize,
RemoveManipulationDelta: usize,
ManipulationCompleted: usize,
RemoveManipulationCompleted: usize,
AccessKeyDisplayRequested: usize,
RemoveAccessKeyDisplayRequested: usize,
AccessKeyDisplayDismissed: usize,
RemoveAccessKeyDisplayDismissed: usize,
AccessKeyInvoked: usize,
RemoveAccessKeyInvoked: usize,
ProcessKeyboardAccelerators: usize,
RemoveProcessKeyboardAccelerators: usize,
GettingFocus: usize,
RemoveGettingFocus: usize,
LosingFocus: usize,
RemoveLosingFocus: usize,
NoFocusCandidateFound: usize,
RemoveNoFocusCandidateFound: usize,
PreviewKeyDown: usize,
RemovePreviewKeyDown: usize,
PreviewKeyUp: usize,
RemovePreviewKeyUp: usize,
BringIntoViewRequested: usize,
RemoveBringIntoViewRequested: usize,
Measure: usize,
Arrange: usize,
CapturePointer: usize,
ReleasePointerCapture: usize,
ReleasePointerCaptures: usize,
AddHandler: usize,
RemoveHandler: usize,
TransformToVisual: usize,
InvalidateMeasure: usize,
InvalidateArrange: usize,
pub UpdateLayout: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
CancelDirectManipulations: usize,
StartDragAsync: usize,
StartBringIntoView: usize,
StartBringIntoViewWithOptions: usize,
TryInvokeKeyboardAccelerator: usize,
Focus: usize,
StartAnimation: usize,
StopAnimation: usize,
}
windows_core::imp::define_interface!(
IUIElementCollection,
IUIElementCollection_Vtbl,
0x23050cb1_db88_54ed_9083_5ecfb12512fd
);
impl windows_core::RuntimeType for IUIElementCollection {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IUIElementCollection_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Move: usize,
}
windows_core::imp::define_interface!(
IUIElementFactory,
IUIElementFactory_Vtbl,
0x14d1d309_add0_5ccb_b946_77488cd70f87
);
impl windows_core::RuntimeType for IUIElementFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IUIElementFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IUIElementOverrides,
IUIElementOverrides_Vtbl,
0x9034f41e_ab7b_59e7_8168_50de6b689dde
);
impl windows_core::RuntimeType for IUIElementOverrides {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IUIElementOverrides_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
OnCreateAutomationPeer: usize,
OnDisconnectVisualChildren: usize,
FindSubElementsForTouchTargeting: usize,
GetChildrenInTabFocusOrder: usize,
OnKeyboardAcceleratorInvoked: usize,
OnProcessKeyboardAccelerators: usize,
OnBringIntoViewRequested: usize,
PopulatePropertyInfoOverride: usize,
}
windows_core::imp::define_interface!(
IUIElementProtected,
IUIElementProtected_Vtbl,
0x8f69b9e9_1f00_5834_9bf1_a9257bed39f0
);
impl windows_core::RuntimeType for IUIElementProtected {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IUIElementProtected_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ProtectedCursor: usize,
SetProtectedCursor: usize,
}
windows_core::imp::define_interface!(
IUIElementStatics,
IUIElementStatics_Vtbl,
0xd2921d87_3584_5e22_8a3a_c2c78dab4f6e
);
impl windows_core::RuntimeType for IUIElementStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IUIElementStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
KeyDownEvent: usize,
KeyUpEvent: usize,
PointerEnteredEvent: usize,
PointerPressedEvent: usize,
PointerMovedEvent: usize,
PointerReleasedEvent: usize,
PointerExitedEvent: usize,
PointerCaptureLostEvent: usize,
PointerCanceledEvent: usize,
PointerWheelChangedEvent: usize,
TappedEvent: usize,
DoubleTappedEvent: usize,
HoldingEvent: usize,
RightTappedEvent: usize,
ManipulationStartingEvent: usize,
ManipulationInertiaStartingEvent: usize,
ManipulationStartedEvent: usize,
ManipulationDeltaEvent: usize,
ManipulationCompletedEvent: usize,
DragEnterEvent: usize,
DragLeaveEvent: usize,
DragOverEvent: usize,
DropEvent: usize,
GettingFocusEvent: usize,
LosingFocusEvent: usize,
NoFocusCandidateFoundEvent: usize,
PreviewKeyDownEvent: usize,
CharacterReceivedEvent: usize,
PreviewKeyUpEvent: usize,
BringIntoViewRequestedEvent: usize,
ContextRequestedEvent: usize,
AllowDropProperty: usize,
OpacityProperty: usize,
ClipProperty: usize,
RenderTransformProperty: usize,
ProjectionProperty: usize,
Transform3DProperty: usize,
RenderTransformOriginProperty: usize,
IsHitTestVisibleProperty: usize,
VisibilityProperty: usize,
UseLayoutRoundingProperty: usize,
TransitionsProperty: usize,
CacheModeProperty: usize,
IsTapEnabledProperty: usize,
IsDoubleTapEnabledProperty: usize,
CanDragProperty: usize,
IsRightTapEnabledProperty: usize,
IsHoldingEnabledProperty: usize,
ManipulationModeProperty: usize,
PointerCapturesProperty: usize,
ContextFlyoutProperty: usize,
CompositeModeProperty: usize,
LightsProperty: usize,
CanBeScrollAnchorProperty: usize,
ExitDisplayModeOnAccessKeyInvokedProperty: usize,
IsAccessKeyScopeProperty: usize,
AccessKeyScopeOwnerProperty: usize,
AccessKeyProperty: usize,
KeyTipPlacementModeProperty: usize,
KeyTipHorizontalOffsetProperty: usize,
KeyTipVerticalOffsetProperty: usize,
KeyTipTargetProperty: usize,
XYFocusKeyboardNavigationProperty: usize,
XYFocusUpNavigationStrategyProperty: usize,
XYFocusDownNavigationStrategyProperty: usize,
XYFocusLeftNavigationStrategyProperty: usize,
XYFocusRightNavigationStrategyProperty: usize,
KeyboardAcceleratorPlacementTargetProperty: usize,
KeyboardAcceleratorPlacementModeProperty: usize,
HighContrastAdjustmentProperty: usize,
TabFocusNavigationProperty: usize,
ShadowProperty: usize,
FocusStateProperty: usize,
UseSystemFocusVisualsProperty: usize,
XYFocusLeftProperty: usize,
XYFocusRightProperty: usize,
XYFocusUpProperty: usize,
XYFocusDownProperty: usize,
IsTabStopProperty: usize,
TabIndexProperty: usize,
TryStartDirectManipulation: usize,
pub RegisterAsScrollPort: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IUriEscapeStatics,
IUriEscapeStatics_Vtbl,
0xc1d432ba_c824_4452_a7fd_512bc3bbe9a1
);
impl windows_core::RuntimeType for IUriEscapeStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IUriEscapeStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
UnescapeComponent: usize,
EscapeComponent: usize,
}
windows_core::imp::define_interface!(
IUriRuntimeClass,
IUriRuntimeClass_Vtbl,
0x9e365e57_48b2_4160_956f_c7385120bbfc
);
impl windows_core::RuntimeType for IUriRuntimeClass {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IUriRuntimeClass_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
AbsoluteUri: usize,
DisplayUri: usize,
Domain: usize,
Extension: usize,
Fragment: usize,
Host: usize,
Password: usize,
Path: usize,
Query: usize,
QueryParsed: usize,
RawUri: usize,
SchemeName: usize,
UserName: usize,
Port: usize,
Suspicious: usize,
Equals: usize,
CombineUri: usize,
}
windows_core::imp::define_interface!(
IUriRuntimeClassFactory,
IUriRuntimeClassFactory_Vtbl,
0x44a9796f_723e_4fdf_a218_033e75b0c084
);
impl windows_core::RuntimeType for IUriRuntimeClassFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IUriRuntimeClassFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateUri: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
CreateWithRelativeUri: usize,
}
windows_core::imp::define_interface!(
IUriRuntimeClassWithAbsoluteCanonicalUri,
IUriRuntimeClassWithAbsoluteCanonicalUri_Vtbl,
0x758d9661_221c_480f_a339_50656673f46f
);
impl windows_core::RuntimeType for IUriRuntimeClassWithAbsoluteCanonicalUri {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IUriRuntimeClassWithAbsoluteCanonicalUri_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
AbsoluteCanonicalUri: usize,
DisplayIri: usize,
}
windows_core::imp::define_interface!(
IVector3KeyFrameAnimation,
IVector3KeyFrameAnimation_Vtbl,
0xd7da980e_2dde_5dd1_a40c_d6868dd2449e
);
impl windows_core::RuntimeType for IVector3KeyFrameAnimation {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IVector3KeyFrameAnimation {
pub fn InsertKeyFrame(
&self,
normalizedprogresskey: f32,
value: windows_numerics::Vector3,
) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).InsertKeyFrame)(
windows_core::Interface::as_raw(self),
normalizedprogresskey,
value,
)
.ok()
}
}
pub fn InsertKeyFrameWithEasingFunction<P2>(
&self,
normalizedprogresskey: f32,
value: windows_numerics::Vector3,
easingfunction: P2,
) -> windows_core::Result<()>
where
P2: windows_core::Param<CompositionEasingFunction>,
{
unsafe {
(windows_core::Interface::vtable(self).InsertKeyFrameWithEasingFunction)(
windows_core::Interface::as_raw(self),
normalizedprogresskey,
value,
easingfunction.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IVector3KeyFrameAnimation_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub InsertKeyFrame: unsafe extern "system" fn(
*mut core::ffi::c_void,
f32,
windows_numerics::Vector3,
) -> windows_core::HRESULT,
pub InsertKeyFrameWithEasingFunction: unsafe extern "system" fn(
*mut core::ffi::c_void,
f32,
windows_numerics::Vector3,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IViewbox,
IViewbox_Vtbl,
0x510683e8_d0fe_5ef4_85bd_e1131076ac22
);
impl windows_core::RuntimeType for IViewbox {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IViewbox {
pub fn SetChild<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
{
unsafe {
(windows_core::Interface::vtable(self).SetChild)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn SetStretch(&self, value: Stretch) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetStretch)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IViewbox_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Child: usize,
pub SetChild: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
Stretch: usize,
pub SetStretch:
unsafe extern "system" fn(*mut core::ffi::c_void, Stretch) -> windows_core::HRESULT,
StretchDirection: usize,
SetStretchDirection: usize,
}
windows_core::imp::define_interface!(
IViewboxStatics,
IViewboxStatics_Vtbl,
0x0466c103_1e17_5e83_a262_8855f216b59f
);
impl windows_core::RuntimeType for IViewboxStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IViewboxStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
StretchProperty: usize,
StretchDirectionProperty: usize,
}
windows_core::imp::define_interface!(
IVisual,
IVisual_Vtbl,
0xc0eeab6c_c897_5ac6_a1c9_63abd5055b9b
);
impl windows_core::RuntimeType for IVisual {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IVisual {
pub fn CenterPoint(&self) -> windows_core::Result<windows_numerics::Vector3> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).CenterPoint)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetCenterPoint(&self, value: windows_numerics::Vector3) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetCenterPoint)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Offset(&self) -> windows_core::Result<windows_numerics::Vector3> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Offset)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn Opacity(&self) -> windows_core::Result<f32> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Opacity)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetOpacity(&self, value: f32) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetOpacity)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn RotationAngleInDegrees(&self) -> windows_core::Result<f32> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).RotationAngleInDegrees)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn Scale(&self) -> windows_core::Result<windows_numerics::Vector3> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Scale)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn Size(&self) -> windows_core::Result<windows_numerics::Vector2> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Size)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
pub fn SetSize(&self, value: windows_numerics::Vector2) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetSize)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisual_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
AnchorPoint: usize,
SetAnchorPoint: usize,
BackfaceVisibility: usize,
SetBackfaceVisibility: usize,
BorderMode: usize,
SetBorderMode: usize,
pub CenterPoint: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut windows_numerics::Vector3,
) -> windows_core::HRESULT,
pub SetCenterPoint: unsafe extern "system" fn(
*mut core::ffi::c_void,
windows_numerics::Vector3,
) -> windows_core::HRESULT,
Clip: usize,
SetClip: usize,
CompositeMode: usize,
SetCompositeMode: usize,
IsVisible: usize,
SetIsVisible: usize,
pub Offset: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut windows_numerics::Vector3,
) -> windows_core::HRESULT,
SetOffset: usize,
pub Opacity:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut f32) -> windows_core::HRESULT,
pub SetOpacity: unsafe extern "system" fn(*mut core::ffi::c_void, f32) -> windows_core::HRESULT,
Orientation: usize,
SetOrientation: usize,
Parent: usize,
RotationAngle: usize,
SetRotationAngle: usize,
pub RotationAngleInDegrees:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut f32) -> windows_core::HRESULT,
SetRotationAngleInDegrees: usize,
RotationAxis: usize,
SetRotationAxis: usize,
pub Scale: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut windows_numerics::Vector3,
) -> windows_core::HRESULT,
SetScale: usize,
pub Size: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut windows_numerics::Vector2,
) -> windows_core::HRESULT,
pub SetSize: unsafe extern "system" fn(
*mut core::ffi::c_void,
windows_numerics::Vector2,
) -> windows_core::HRESULT,
TransformMatrix: usize,
SetTransformMatrix: usize,
}
windows_core::imp::define_interface!(
IVisual2,
IVisual2_Vtbl,
0x492a7995_0c5c_5993_a283_52e4da3050ee
);
impl windows_core::RuntimeType for IVisual2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisual2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub ParentForTransform: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetParentForTransform: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub RelativeOffsetAdjustment: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut windows_numerics::Vector3,
) -> windows_core::HRESULT,
pub SetRelativeOffsetAdjustment: unsafe extern "system" fn(
*mut core::ffi::c_void,
windows_numerics::Vector3,
) -> windows_core::HRESULT,
pub RelativeSizeAdjustment: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut windows_numerics::Vector2,
) -> windows_core::HRESULT,
pub SetRelativeSizeAdjustment: unsafe extern "system" fn(
*mut core::ffi::c_void,
windows_numerics::Vector2,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IVisual3,
IVisual3_Vtbl,
0x972b70b0_950d_5656_a380_bd4a70775868
);
impl windows_core::RuntimeType for IVisual3 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IVisual3 {
pub fn IsHitTestVisible(&self) -> windows_core::Result<bool> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).IsHitTestVisible)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.map(|| result__)
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisual3_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub IsHitTestVisible:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut bool) -> windows_core::HRESULT,
SetIsHitTestVisible: usize,
}
windows_core::imp::define_interface!(
IVisual4,
IVisual4_Vtbl,
0x27cb223f_c431_57ac_b61e_d6b7515d579f
);
impl windows_core::RuntimeType for IVisual4 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisual4_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub IsPixelSnappingEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, *mut bool) -> windows_core::HRESULT,
pub SetIsPixelSnappingEnabled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IVisualElement,
IVisualElement_Vtbl,
0x2180f1f5_b5d8_4bf6_920a_12006e63efef
);
impl windows_core::RuntimeType for IVisualElement {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IVisualElement,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct IVisualElement_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IVisualElement2,
IVisualElement2_Vtbl,
0xbc950c8d_1db0_53aa_9dee_34271cd18ce6
);
impl windows_core::RuntimeType for IVisualElement2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IVisualElement2,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct IVisualElement2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub GetVisualInternal: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IVisualFactory,
IVisualFactory_Vtbl,
0x77bb4668_83fa_5bb5_b78b_5e6fdc3d4038
);
impl windows_core::RuntimeType for IVisualFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisualFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IVisualTreeHelper,
IVisualTreeHelper_Vtbl,
0x5f69ac1e_6504_5e3f_a11c_87684c1db814
);
impl windows_core::RuntimeType for IVisualTreeHelper {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisualTreeHelper_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IVisualTreeHelperStatics,
IVisualTreeHelperStatics_Vtbl,
0x5aece43c_7651_5bb5_855c_2198496e455e
);
impl windows_core::RuntimeType for IVisualTreeHelperStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IVisualTreeHelperStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
FindElementsInHostCoordinatesPoint: usize,
FindElementsInHostCoordinatesRect: usize,
FindAllElementsInHostCoordinatesPoint: usize,
FindAllElementsInHostCoordinatesRect: usize,
pub GetChild: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
i32,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub GetChildrenCount: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i32,
) -> windows_core::HRESULT,
pub GetParent: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub DisconnectChildrenRecursive: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
GetOpenPopups: usize,
GetOpenPopupsForXamlRoot: usize,
}
windows_core::imp::define_interface!(
IWindow,
IWindow_Vtbl,
0x61f0ec79_5d52_56b5_86fb_40fa4af288b0
);
impl windows_core::RuntimeType for IWindow {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IWindow {
pub fn Content(&self) -> windows_core::Result<UIElement> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Content)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetContent<P0>(&self, value: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
{
unsafe {
(windows_core::Interface::vtable(self).SetContent)(
windows_core::Interface::as_raw(self),
value.param().abi(),
)
.ok()
}
}
pub fn Compositor(&self) -> windows_core::Result<Compositor> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Compositor)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn SetTitle(&self, value: &windows_core::HSTRING) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetTitle)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(value),
)
.ok()
}
}
pub fn SetExtendsContentIntoTitleBar(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetExtendsContentIntoTitleBar)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
pub fn Closed<P0>(&self, handler: P0) -> windows_core::Result<i64>
where
P0: windows_core::Param<TypedEventHandler<windows_core::IInspectable, WindowEventArgs>>,
{
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Closed)(
windows_core::Interface::as_raw(self),
handler.param().abi(),
&mut result__,
)
.map(|| result__)
}
}
pub fn Activate(&self) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).Activate)(windows_core::Interface::as_raw(self))
.ok()
}
}
pub fn SetTitleBar<P0>(&self, titlebar: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
{
unsafe {
(windows_core::Interface::vtable(self).SetTitleBar)(
windows_core::Interface::as_raw(self),
titlebar.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IWindow_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Bounds: usize,
Visible: usize,
pub Content: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub SetContent: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
CoreWindow: usize,
pub Compositor: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
Dispatcher: usize,
DispatcherQueue: usize,
Title: usize,
pub SetTitle: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
ExtendsContentIntoTitleBar: usize,
pub SetExtendsContentIntoTitleBar:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
Activated: usize,
RemoveActivated: usize,
pub Closed: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut i64,
) -> windows_core::HRESULT,
RemoveClosed: usize,
SizeChanged: usize,
RemoveSizeChanged: usize,
VisibilityChanged: usize,
RemoveVisibilityChanged: usize,
pub Activate: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
Close: usize,
pub SetTitleBar: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IWindow2,
IWindow2_Vtbl,
0x42febaa5_1c32_522a_a591_57618c6f665d
);
impl windows_core::RuntimeType for IWindow2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IWindow2 {
pub fn AppWindow(&self) -> windows_core::Result<AppWindow> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).AppWindow)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IWindow2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
SystemBackdrop: usize,
SetSystemBackdrop: usize,
pub AppWindow: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IWindowEventArgs,
IWindowEventArgs_Vtbl,
0x1140827c_fe0a_5268_bc2b_f4492c2ccb49
);
impl windows_core::RuntimeType for IWindowEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IWindowEventArgs {
pub fn SetHandled(&self, value: bool) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).SetHandled)(
windows_core::Interface::as_raw(self),
value,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IWindowEventArgs_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
Handled: usize,
pub SetHandled:
unsafe extern "system" fn(*mut core::ffi::c_void, bool) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IWindowFactory,
IWindowFactory_Vtbl,
0xf0441536_afef_5222_918f_324a9b2dec75
);
impl windows_core::RuntimeType for IWindowFactory {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IWindowFactory_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub CreateInstance: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IWindowNative,
IWindowNative_Vtbl,
0xeecdbf0e_bae9_4cb6_a68e_9598e1cb57bb
);
windows_core::imp::interface_hierarchy!(IWindowNative, windows_core::IUnknown);
impl IWindowNative {
pub unsafe fn WindowHandle(
&self,
hwnd: *mut *mut core::ffi::c_void,
) -> windows_core::Result<()> {
unsafe {
(windows_core::Interface::vtable(self).WindowHandle)(
windows_core::Interface::as_raw(self),
hwnd as _,
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IWindowNative_Vtbl {
pub base__: windows_core::IUnknown_Vtbl,
pub WindowHandle: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IWindowStatics,
IWindowStatics_Vtbl,
0x8cc985e3_a41a_5df4_b531_d3a1788d86c5
);
impl windows_core::RuntimeType for IWindowStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IWindowStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Current: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IXamlControlsResources,
IXamlControlsResources_Vtbl,
0x918ca043_f42c_5805_861b_62d6d1d0c162
);
impl windows_core::RuntimeType for IXamlControlsResources {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IXamlControlsResources_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
UseCompactResources: usize,
SetUseCompactResources: usize,
}
windows_core::imp::define_interface!(
IXamlControlsResourcesStatics,
IXamlControlsResourcesStatics_Vtbl,
0xcb49196c_1458_5e92_b701_d08d3e816bc5
);
impl windows_core::RuntimeType for IXamlControlsResourcesStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IXamlControlsResourcesStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub EnsureRevealLights: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
) -> windows_core::HRESULT,
UseCompactResourcesProperty: usize,
}
windows_core::imp::define_interface!(
IXamlControlsXamlMetaDataProvider,
IXamlControlsXamlMetaDataProvider_Vtbl,
0x17fa3f58_3472_5aa2_a0f8_1ab8a519573d
);
impl windows_core::RuntimeType for IXamlControlsXamlMetaDataProvider {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IXamlControlsXamlMetaDataProvider_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IXamlControlsXamlMetaDataProviderStatics,
IXamlControlsXamlMetaDataProviderStatics_Vtbl,
0x2d7eb3fd_ecdb_5084_b7e0_12f9598381ef
);
impl windows_core::RuntimeType for IXamlControlsXamlMetaDataProviderStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IXamlControlsXamlMetaDataProviderStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Initialize: unsafe extern "system" fn(*mut core::ffi::c_void) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IXamlMetadataProvider,
IXamlMetadataProvider_Vtbl,
0xa96251f0_2214_5d53_8746_ce99a2593cd7
);
impl windows_core::RuntimeType for IXamlMetadataProvider {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IXamlMetadataProvider,
windows_core::IUnknown,
windows_core::IInspectable
);
impl IXamlMetadataProvider {
pub fn GetXamlType(&self, r#type: &TypeName) -> windows_core::Result<IXamlType> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).GetXamlType)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(r#type),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn GetXamlTypeByFullName(
&self,
fullname: &windows_core::HSTRING,
) -> windows_core::Result<IXamlType> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).GetXamlTypeByFullName)(
windows_core::Interface::as_raw(self),
core::mem::transmute_copy(fullname),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
pub fn GetXmlnsDefinitions(
&self,
) -> windows_core::Result<windows_core::Array<XmlnsDefinition>> {
unsafe {
let mut result__ = core::mem::MaybeUninit::zeroed();
(windows_core::Interface::vtable(self).GetXmlnsDefinitions)(
windows_core::Interface::as_raw(self),
windows_core::Array::<XmlnsDefinition>::set_abi_len(core::mem::transmute(
&mut result__,
)),
result__.as_mut_ptr() as *mut _ as _,
)
.map(|| result__.assume_init())
}
}
}
impl windows_core::RuntimeName for IXamlMetadataProvider {
const NAME: &'static str = "Microsoft.UI.Xaml.Markup.IXamlMetadataProvider";
}
pub trait IXamlMetadataProvider_Impl: windows_core::IUnknownImpl {
fn GetXamlType(&self, r#type: &TypeName) -> windows_core::Result<IXamlType>;
fn GetXamlTypeByFullName(
&self,
fullName: &windows_core::HSTRING,
) -> windows_core::Result<IXamlType>;
fn GetXmlnsDefinitions(&self) -> windows_core::Result<windows_core::Array<XmlnsDefinition>>;
}
impl IXamlMetadataProvider_Vtbl {
pub const fn new<Identity: IXamlMetadataProvider_Impl, const OFFSET: isize>() -> Self {
unsafe extern "system" fn GetXamlType<
Identity: IXamlMetadataProvider_Impl,
const OFFSET: isize,
>(
this: *mut core::ffi::c_void,
r#type: core::mem::MaybeUninit<TypeName>,
result__: *mut *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IXamlMetadataProvider_Impl::GetXamlType(this, core::mem::transmute(&r#type)) {
Ok(ok__) => {
result__.write(core::mem::transmute_copy(&ok__));
core::mem::forget(ok__);
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
}
unsafe extern "system" fn GetXamlTypeByFullName<
Identity: IXamlMetadataProvider_Impl,
const OFFSET: isize,
>(
this: *mut core::ffi::c_void,
fullname: *mut core::ffi::c_void,
result__: *mut *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IXamlMetadataProvider_Impl::GetXamlTypeByFullName(
this,
core::mem::transmute(&fullname),
) {
Ok(ok__) => {
result__.write(core::mem::transmute_copy(&ok__));
core::mem::forget(ok__);
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
}
unsafe extern "system" fn GetXmlnsDefinitions<
Identity: IXamlMetadataProvider_Impl,
const OFFSET: isize,
>(
this: *mut core::ffi::c_void,
result_size__: *mut u32,
result__: *mut *mut core::mem::MaybeUninit<XmlnsDefinition>,
) -> windows_core::HRESULT {
unsafe {
let this: &Identity =
&*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IXamlMetadataProvider_Impl::GetXmlnsDefinitions(this) {
Ok(ok__) => {
let (ok_data__, ok_data_len__) = ok__.into_abi();
result__.write(core::mem::transmute(ok_data__));
result_size__.write(ok_data_len__);
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
}
Self {
base__: windows_core::IInspectable_Vtbl::new::<Identity, IXamlMetadataProvider, OFFSET>(
),
GetXamlType: GetXamlType::<Identity, OFFSET>,
GetXamlTypeByFullName: GetXamlTypeByFullName::<Identity, OFFSET>,
GetXmlnsDefinitions: GetXmlnsDefinitions::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IXamlMetadataProvider as windows_core::Interface>::IID
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IXamlMetadataProvider_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub GetXamlType: unsafe extern "system" fn(
*mut core::ffi::c_void,
core::mem::MaybeUninit<TypeName>,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub GetXamlTypeByFullName: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
pub GetXmlnsDefinitions: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut u32,
*mut *mut core::mem::MaybeUninit<XmlnsDefinition>,
) -> windows_core::HRESULT,
}
windows_core::imp::define_interface!(
IXamlReader,
IXamlReader_Vtbl,
0x54ce54c8_38c6_50d9_ac98_4b03eddbde9f
);
impl windows_core::RuntimeType for IXamlReader {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IXamlReader_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
}
windows_core::imp::define_interface!(
IXamlReaderStatics,
IXamlReaderStatics_Vtbl,
0x82a4cd9e_435e_5aeb_8c4f_300cece45cae
);
impl windows_core::RuntimeType for IXamlReaderStatics {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IXamlReaderStatics_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Load: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
LoadWithInitialTemplateValidation: usize,
}
windows_core::imp::define_interface!(
IXamlRoot,
IXamlRoot_Vtbl,
0x60cb215a_ad15_520a_8b01_4416824f0441
);
impl windows_core::RuntimeType for IXamlRoot {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl IXamlRoot {
pub fn Content(&self) -> windows_core::Result<UIElement> {
unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(self).Content)(
windows_core::Interface::as_raw(self),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct IXamlRoot_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
pub Content: unsafe extern "system" fn(
*mut core::ffi::c_void,
*mut *mut core::ffi::c_void,
) -> windows_core::HRESULT,
Size: usize,
RasterizationScale: usize,
IsHostVisible: usize,
Changed: usize,
RemoveChanged: usize,
}
windows_core::imp::define_interface!(
IXamlRoot2,
IXamlRoot2_Vtbl,
0xbdee0f42_71cb_50c5_829b_4614d98c5794
);
impl windows_core::RuntimeType for IXamlRoot2 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IXamlRoot2_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ContentIslandEnvironment: usize,
}
windows_core::imp::define_interface!(
IXamlRoot3,
IXamlRoot3_Vtbl,
0xb71dbf3b_2e0f_5de0_ac68_f0c1f65114c8
);
impl windows_core::RuntimeType for IXamlRoot3 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IXamlRoot3_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
CoordinateConverter: usize,
}
windows_core::imp::define_interface!(
IXamlRoot4,
IXamlRoot4_Vtbl,
0x377bec22_632b_52be_b26f_5edf7838e5ca
);
impl windows_core::RuntimeType for IXamlRoot4 {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
#[repr(C)]
#[doc(hidden)]
pub struct IXamlRoot4_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
ContentIsland: usize,
}
windows_core::imp::define_interface!(
IXamlType,
IXamlType_Vtbl,
0xd24219df_7ec9_57f1_a27b_6af251d9c5bc
);
impl windows_core::RuntimeType for IXamlType {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
windows_core::imp::interface_hierarchy!(
IXamlType,
windows_core::IUnknown,
windows_core::IInspectable
);
#[repr(C)]
#[doc(hidden)]
pub struct IXamlType_Vtbl {
pub base__: windows_core::IInspectable_Vtbl,
BaseType: usize,
ContentProperty: usize,
FullName: usize,
IsArray: usize,
IsCollection: usize,
IsConstructible: usize,
IsDictionary: usize,
IsMarkupExtension: usize,
IsBindable: usize,
ItemType: usize,
KeyType: usize,
BoxedType: usize,
UnderlyingType: usize,
ActivateInstance: usize,
CreateFromString: usize,
GetMember: usize,
AddToVector: usize,
AddToMap: usize,
RunInitializer: usize,
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Image(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Image, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(
Image,
IAnimationObject,
IVisualElement,
IVisualElement2,
FrameworkElement,
UIElement,
DependencyObject
);
impl Image {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Image, windows_core::imp::IGenericFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IImageStatics<R, F: FnOnce(&IImageStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Image, IImageStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Image {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IImage>();
}
unsafe impl windows_core::Interface for Image {
type Vtable = <IImage as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IImage as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Image {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Image";
}
unsafe impl Send for Image {}
unsafe impl Sync for Image {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ImageSource(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ImageSource,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(ImageSource, DependencyObject);
impl ImageSource {}
impl windows_core::RuntimeType for ImageSource {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IImageSource>();
}
unsafe impl windows_core::Interface for ImageSource {
type Vtable = <IImageSource as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IImageSource as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ImageSource {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.ImageSource";
}
unsafe impl Send for ImageSource {}
unsafe impl Sync for ImageSource {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ImplicitAnimationCollection(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ImplicitAnimationCollection,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy ! ( ImplicitAnimationCollection , IAnimationObject , IClosable , windows_collections:: IIterable < windows_collections:: IKeyValuePair < windows_core::HSTRING , ICompositionAnimationBase > > , windows_collections:: IMap < windows_core::HSTRING , ICompositionAnimationBase > , CompositionObject );
impl ImplicitAnimationCollection {}
impl windows_core::RuntimeType for ImplicitAnimationCollection {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IImplicitAnimationCollection>();
}
unsafe impl windows_core::Interface for ImplicitAnimationCollection {
type Vtable = <IImplicitAnimationCollection as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IImplicitAnimationCollection as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ImplicitAnimationCollection {
const NAME: &'static str = "Microsoft.UI.Composition.ImplicitAnimationCollection";
}
unsafe impl Send for ImplicitAnimationCollection {}
unsafe impl Sync for ImplicitAnimationCollection {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct InfoBadge(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
InfoBadge,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
InfoBadge,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl InfoBadge {
pub fn new() -> windows_core::Result<InfoBadge> {
Self::IInfoBadgeFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<InfoBadge>
where
T: windows_core::Compose,
{
Self::IInfoBadgeFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IInfoBadgeFactory<R, F: FnOnce(&IInfoBadgeFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<InfoBadge, IInfoBadgeFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IInfoBadgeStatics<R, F: FnOnce(&IInfoBadgeStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<InfoBadge, IInfoBadgeStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for InfoBadge {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IInfoBadge>();
}
unsafe impl windows_core::Interface for InfoBadge {
type Vtable = <IInfoBadge as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IInfoBadge as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for InfoBadge {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.InfoBadge";
}
unsafe impl Send for InfoBadge {}
unsafe impl Sync for InfoBadge {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct InfoBar(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
InfoBar,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
InfoBar,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl InfoBar {
pub fn new() -> windows_core::Result<InfoBar> {
Self::IInfoBarFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<InfoBar>
where
T: windows_core::Compose,
{
Self::IInfoBarFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IInfoBarFactory<R, F: FnOnce(&IInfoBarFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<InfoBar, IInfoBarFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IInfoBarStatics<R, F: FnOnce(&IInfoBarStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<InfoBar, IInfoBarStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for InfoBar {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IInfoBar>();
}
unsafe impl windows_core::Interface for InfoBar {
type Vtable = <IInfoBar as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IInfoBar as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for InfoBar {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.InfoBar";
}
unsafe impl Send for InfoBar {}
unsafe impl Sync for InfoBar {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct InfoBarClosedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
InfoBarClosedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
impl InfoBarClosedEventArgs {}
impl windows_core::RuntimeType for InfoBarClosedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IInfoBarClosedEventArgs>();
}
unsafe impl windows_core::Interface for InfoBarClosedEventArgs {
type Vtable = <IInfoBarClosedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IInfoBarClosedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for InfoBarClosedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.InfoBarClosedEventArgs";
}
unsafe impl Send for InfoBarClosedEventArgs {}
unsafe impl Sync for InfoBarClosedEventArgs {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct InfoBarSeverity(pub i32);
impl InfoBarSeverity {
pub const Informational: Self = Self(0i32);
pub const Success: Self = Self(1i32);
pub const Warning: Self = Self(2i32);
pub const Error: Self = Self(3i32);
}
impl windows_core::TypeKind for InfoBarSeverity {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for InfoBarSeverity {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Xaml.Controls.InfoBarSeverity;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ItemCollection(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ItemCollection,
windows_core::IUnknown,
windows_core::IInspectable,
windows_collections::IObservableVector<windows_core::IInspectable>
);
windows_core::imp::required_hierarchy!(
ItemCollection,
windows_collections::IIterable<windows_core::IInspectable>,
windows_collections::IVector<windows_core::IInspectable>
);
impl ItemCollection {}
impl windows_core::RuntimeType for ItemCollection {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_class::<
Self,
windows_collections::IObservableVector<windows_core::IInspectable>,
>();
}
unsafe impl windows_core::Interface for ItemCollection {
type Vtable = < windows_collections:: IObservableVector < windows_core::IInspectable > as windows_core::Interface >::Vtable ;
const IID: windows_core::GUID = <windows_collections::IObservableVector<
windows_core::IInspectable,
> as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ItemCollection {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ItemCollection";
}
unsafe impl Send for ItemCollection {}
unsafe impl Sync for ItemCollection {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ItemsControl(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ItemsControl,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ItemsControl,
IAnimationObject,
IItemContainerMapping,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ItemsControl {
pub fn new() -> windows_core::Result<ItemsControl> {
Self::IItemsControlFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ItemsControl>
where
T: windows_core::Compose,
{
Self::IItemsControlFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
pub fn GetItemsOwner<P0>(element: P0) -> windows_core::Result<ItemsControl>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IItemsControlStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetItemsOwner)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn ItemsControlFromItemContainer<P0>(container: P0) -> windows_core::Result<ItemsControl>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IItemsControlStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).ItemsControlFromItemContainer)(
windows_core::Interface::as_raw(this),
container.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
fn IItemsControlFactory<R, F: FnOnce(&IItemsControlFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ItemsControl, IItemsControlFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IItemsControlStatics<R, F: FnOnce(&IItemsControlStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ItemsControl, IItemsControlStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ItemsControl {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IItemsControl>();
}
unsafe impl windows_core::Interface for ItemsControl {
type Vtable = <IItemsControl as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IItemsControl as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ItemsControl {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ItemsControl";
}
unsafe impl Send for ItemsControl {}
unsafe impl Sync for ItemsControl {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct KeyFrameAnimation(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
KeyFrameAnimation,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
KeyFrameAnimation,
IAnimationObject,
IClosable,
ICompositionAnimationBase,
CompositionAnimation,
CompositionObject
);
impl KeyFrameAnimation {}
impl windows_core::RuntimeType for KeyFrameAnimation {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IKeyFrameAnimation>();
}
unsafe impl windows_core::Interface for KeyFrameAnimation {
type Vtable = <IKeyFrameAnimation as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IKeyFrameAnimation as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for KeyFrameAnimation {
const NAME: &'static str = "Microsoft.UI.Composition.KeyFrameAnimation";
}
unsafe impl Send for KeyFrameAnimation {}
unsafe impl Sync for KeyFrameAnimation {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct KeyboardAccelerator(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
KeyboardAccelerator,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(KeyboardAccelerator, DependencyObject);
impl KeyboardAccelerator {
pub fn new() -> windows_core::Result<KeyboardAccelerator> {
Self::IKeyboardAcceleratorFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<KeyboardAccelerator>
where
T: windows_core::Compose,
{
Self::IKeyboardAcceleratorFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IKeyboardAcceleratorFactory<
R,
F: FnOnce(&IKeyboardAcceleratorFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
KeyboardAccelerator,
IKeyboardAcceleratorFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IKeyboardAcceleratorStatics<
R,
F: FnOnce(&IKeyboardAcceleratorStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
KeyboardAccelerator,
IKeyboardAcceleratorStatics,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for KeyboardAccelerator {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IKeyboardAccelerator>();
}
unsafe impl windows_core::Interface for KeyboardAccelerator {
type Vtable = <IKeyboardAccelerator as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IKeyboardAccelerator as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for KeyboardAccelerator {
const NAME: &'static str = "Microsoft.UI.Xaml.Input.KeyboardAccelerator";
}
unsafe impl Send for KeyboardAccelerator {}
unsafe impl Sync for KeyboardAccelerator {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct KeyboardAcceleratorInvokedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
KeyboardAcceleratorInvokedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
impl KeyboardAcceleratorInvokedEventArgs {}
impl windows_core::RuntimeType for KeyboardAcceleratorInvokedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IKeyboardAcceleratorInvokedEventArgs>();
}
unsafe impl windows_core::Interface for KeyboardAcceleratorInvokedEventArgs {
type Vtable = <IKeyboardAcceleratorInvokedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID =
<IKeyboardAcceleratorInvokedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for KeyboardAcceleratorInvokedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.Input.KeyboardAcceleratorInvokedEventArgs";
}
unsafe impl Send for KeyboardAcceleratorInvokedEventArgs {}
unsafe impl Sync for KeyboardAcceleratorInvokedEventArgs {}
pub type LPARAM = isize;
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct LaunchActivatedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
LaunchActivatedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
impl LaunchActivatedEventArgs {}
impl windows_core::RuntimeType for LaunchActivatedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ILaunchActivatedEventArgs>();
}
unsafe impl windows_core::Interface for LaunchActivatedEventArgs {
type Vtable = <ILaunchActivatedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ILaunchActivatedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for LaunchActivatedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.LaunchActivatedEventArgs";
}
unsafe impl Send for LaunchActivatedEventArgs {}
unsafe impl Sync for LaunchActivatedEventArgs {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Line(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Line, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(
Line,
IAnimationObject,
IVisualElement,
IVisualElement2,
Shape,
FrameworkElement,
UIElement,
DependencyObject
);
impl Line {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Line, windows_core::imp::IGenericFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn ILineStatics<R, F: FnOnce(&ILineStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Line, ILineStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Line {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ILine>();
}
unsafe impl windows_core::Interface for Line {
type Vtable = <ILine as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ILine as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Line {
const NAME: &'static str = "Microsoft.UI.Xaml.Shapes.Line";
}
unsafe impl Send for Line {}
unsafe impl Sync for Line {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct LinearEasingFunction(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
LinearEasingFunction,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
LinearEasingFunction,
IAnimationObject,
IClosable,
CompositionEasingFunction,
CompositionObject
);
impl LinearEasingFunction {}
impl windows_core::RuntimeType for LinearEasingFunction {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ILinearEasingFunction>();
}
unsafe impl windows_core::Interface for LinearEasingFunction {
type Vtable = <ILinearEasingFunction as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ILinearEasingFunction as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for LinearEasingFunction {
const NAME: &'static str = "Microsoft.UI.Composition.LinearEasingFunction";
}
unsafe impl Send for LinearEasingFunction {}
unsafe impl Sync for LinearEasingFunction {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ListView(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ListView,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ListView,
IAnimationObject,
IItemContainerMapping,
ISemanticZoomInformation,
IVisualElement,
IVisualElement2,
ListViewBase,
Selector,
ItemsControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ListView {
pub fn new() -> windows_core::Result<ListView> {
Self::IListViewFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ListView>
where
T: windows_core::Compose,
{
Self::IListViewFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IListViewFactory<R, F: FnOnce(&IListViewFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ListView, IListViewFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ListView {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IListView>();
}
unsafe impl windows_core::Interface for ListView {
type Vtable = <IListView as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IListView as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ListView {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ListView";
}
unsafe impl Send for ListView {}
unsafe impl Sync for ListView {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ListViewBase(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ListViewBase,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ListViewBase,
IAnimationObject,
IItemContainerMapping,
ISemanticZoomInformation,
IVisualElement,
IVisualElement2,
Selector,
ItemsControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ListViewBase {
pub fn new() -> windows_core::Result<ListViewBase> {
Self::IListViewBaseFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ListViewBase>
where
T: windows_core::Compose,
{
Self::IListViewBaseFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IListViewBaseFactory<R, F: FnOnce(&IListViewBaseFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ListViewBase, IListViewBaseFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IListViewBaseStatics<R, F: FnOnce(&IListViewBaseStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ListViewBase, IListViewBaseStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ListViewBase {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IListViewBase>();
}
unsafe impl windows_core::Interface for ListViewBase {
type Vtable = <IListViewBase as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IListViewBase as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ListViewBase {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ListViewBase";
}
unsafe impl Send for ListViewBase {}
unsafe impl Sync for ListViewBase {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ListViewItem(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ListViewItem,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ListViewItem,
IAnimationObject,
IVisualElement,
IVisualElement2,
SelectorItem,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ListViewItem {
pub fn new() -> windows_core::Result<ListViewItem> {
Self::IListViewItemFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ListViewItem>
where
T: windows_core::Compose,
{
Self::IListViewItemFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IListViewItemFactory<R, F: FnOnce(&IListViewItemFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ListViewItem, IListViewItemFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ListViewItem {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IListViewItem>();
}
unsafe impl windows_core::Interface for ListViewItem {
type Vtable = <IListViewItem as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IListViewItem as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ListViewItem {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ListViewItem";
}
unsafe impl Send for ListViewItem {}
unsafe impl Sync for ListViewItem {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct NavigationView(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
NavigationView,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
NavigationView,
IAnimationObject,
IVisualElement,
IVisualElement2,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl NavigationView {
pub fn new() -> windows_core::Result<NavigationView> {
Self::INavigationViewFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<NavigationView>
where
T: windows_core::Compose,
{
Self::INavigationViewFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn INavigationViewFactory<R, F: FnOnce(&INavigationViewFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<NavigationView, INavigationViewFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn INavigationViewStatics<R, F: FnOnce(&INavigationViewStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<NavigationView, INavigationViewStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn INavigationViewStatics2<
R,
F: FnOnce(&INavigationViewStatics2) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<NavigationView, INavigationViewStatics2> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for NavigationView {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, INavigationView>();
}
unsafe impl windows_core::Interface for NavigationView {
type Vtable = <INavigationView as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <INavigationView as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for NavigationView {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.NavigationView";
}
unsafe impl Send for NavigationView {}
unsafe impl Sync for NavigationView {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct NavigationViewBackRequestedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
NavigationViewBackRequestedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
impl NavigationViewBackRequestedEventArgs {}
impl windows_core::RuntimeType for NavigationViewBackRequestedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, INavigationViewBackRequestedEventArgs>();
}
unsafe impl windows_core::Interface for NavigationViewBackRequestedEventArgs {
type Vtable = <INavigationViewBackRequestedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID =
<INavigationViewBackRequestedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for NavigationViewBackRequestedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.NavigationViewBackRequestedEventArgs";
}
unsafe impl Send for NavigationViewBackRequestedEventArgs {}
unsafe impl Sync for NavigationViewBackRequestedEventArgs {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct NavigationViewItem(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
NavigationViewItem,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
NavigationViewItem,
IAnimationObject,
IVisualElement,
IVisualElement2,
NavigationViewItemBase,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl NavigationViewItem {
pub fn new() -> windows_core::Result<NavigationViewItem> {
Self::INavigationViewItemFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<NavigationViewItem>
where
T: windows_core::Compose,
{
Self::INavigationViewItemFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn INavigationViewItemFactory<
R,
F: FnOnce(&INavigationViewItemFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
NavigationViewItem,
INavigationViewItemFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn INavigationViewItemStatics<
R,
F: FnOnce(&INavigationViewItemStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
NavigationViewItem,
INavigationViewItemStatics,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn INavigationViewItemStatics2<
R,
F: FnOnce(&INavigationViewItemStatics2) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
NavigationViewItem,
INavigationViewItemStatics2,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn INavigationViewItemStatics3<
R,
F: FnOnce(&INavigationViewItemStatics3) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
NavigationViewItem,
INavigationViewItemStatics3,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for NavigationViewItem {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, INavigationViewItem>();
}
unsafe impl windows_core::Interface for NavigationViewItem {
type Vtable = <INavigationViewItem as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <INavigationViewItem as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for NavigationViewItem {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.NavigationViewItem";
}
unsafe impl Send for NavigationViewItem {}
unsafe impl Sync for NavigationViewItem {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct NavigationViewItemBase(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
NavigationViewItemBase,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
NavigationViewItemBase,
IAnimationObject,
IVisualElement,
IVisualElement2,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl NavigationViewItemBase {
fn INavigationViewItemBaseStatics<
R,
F: FnOnce(&INavigationViewItemBaseStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
NavigationViewItemBase,
INavigationViewItemBaseStatics,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for NavigationViewItemBase {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, INavigationViewItemBase>();
}
unsafe impl windows_core::Interface for NavigationViewItemBase {
type Vtable = <INavigationViewItemBase as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <INavigationViewItemBase as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for NavigationViewItemBase {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.NavigationViewItemBase";
}
unsafe impl Send for NavigationViewItemBase {}
unsafe impl Sync for NavigationViewItemBase {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct NavigationViewItemHeader(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
NavigationViewItemHeader,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
NavigationViewItemHeader,
IAnimationObject,
IVisualElement,
IVisualElement2,
NavigationViewItemBase,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl NavigationViewItemHeader {
pub fn new() -> windows_core::Result<NavigationViewItemHeader> {
Self::INavigationViewItemHeaderFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<NavigationViewItemHeader>
where
T: windows_core::Compose,
{
Self::INavigationViewItemHeaderFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn INavigationViewItemHeaderFactory<
R,
F: FnOnce(&INavigationViewItemHeaderFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
NavigationViewItemHeader,
INavigationViewItemHeaderFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for NavigationViewItemHeader {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, INavigationViewItemHeader>();
}
unsafe impl windows_core::Interface for NavigationViewItemHeader {
type Vtable = <INavigationViewItemHeader as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <INavigationViewItemHeader as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for NavigationViewItemHeader {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.NavigationViewItemHeader";
}
unsafe impl Send for NavigationViewItemHeader {}
unsafe impl Sync for NavigationViewItemHeader {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct NavigationViewPaneDisplayMode(pub i32);
impl NavigationViewPaneDisplayMode {
pub const Auto: Self = Self(0i32);
pub const Left: Self = Self(1i32);
pub const Top: Self = Self(2i32);
pub const LeftCompact: Self = Self(3i32);
pub const LeftMinimal: Self = Self(4i32);
}
impl windows_core::TypeKind for NavigationViewPaneDisplayMode {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for NavigationViewPaneDisplayMode {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Xaml.Controls.NavigationViewPaneDisplayMode;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct NavigationViewSelectionChangedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
NavigationViewSelectionChangedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
impl NavigationViewSelectionChangedEventArgs {}
impl windows_core::RuntimeType for NavigationViewSelectionChangedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_class::<
Self,
INavigationViewSelectionChangedEventArgs,
>();
}
unsafe impl windows_core::Interface for NavigationViewSelectionChangedEventArgs {
type Vtable = <INavigationViewSelectionChangedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID =
<INavigationViewSelectionChangedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for NavigationViewSelectionChangedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.NavigationViewSelectionChangedEventArgs";
}
unsafe impl Send for NavigationViewSelectionChangedEventArgs {}
unsafe impl Sync for NavigationViewSelectionChangedEventArgs {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct NumberBox(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
NumberBox,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
NumberBox,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl NumberBox {
pub fn new() -> windows_core::Result<NumberBox> {
Self::INumberBoxFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<NumberBox>
where
T: windows_core::Compose,
{
Self::INumberBoxFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn INumberBoxFactory<R, F: FnOnce(&INumberBoxFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<NumberBox, INumberBoxFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn INumberBoxStatics<R, F: FnOnce(&INumberBoxStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<NumberBox, INumberBoxStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for NumberBox {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, INumberBox>();
}
unsafe impl windows_core::Interface for NumberBox {
type Vtable = <INumberBox as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <INumberBox as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for NumberBox {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.NumberBox";
}
unsafe impl Send for NumberBox {}
unsafe impl Sync for NumberBox {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct Orientation(pub i32);
impl Orientation {
pub const Vertical: Self = Self(0i32);
pub const Horizontal: Self = Self(1i32);
}
impl windows_core::TypeKind for Orientation {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for Orientation {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Xaml.Controls.Orientation;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Panel(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Panel, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(
Panel,
IAnimationObject,
IVisualElement,
IVisualElement2,
FrameworkElement,
UIElement,
DependencyObject
);
impl Panel {
pub fn new() -> windows_core::Result<Panel> {
Self::IPanelFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<Panel>
where
T: windows_core::Compose,
{
Self::IPanelFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IPanelFactory<R, F: FnOnce(&IPanelFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Panel, IPanelFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IPanelStatics<R, F: FnOnce(&IPanelStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Panel, IPanelStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Panel {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IPanel>();
}
unsafe impl windows_core::Interface for Panel {
type Vtable = <IPanel as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IPanel as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Panel {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Panel";
}
unsafe impl Send for Panel {}
unsafe impl Sync for Panel {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct PasswordBox(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
PasswordBox,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
PasswordBox,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl PasswordBox {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
PasswordBox,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IPasswordBoxStatics<R, F: FnOnce(&IPasswordBoxStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<PasswordBox, IPasswordBoxStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for PasswordBox {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IPasswordBox>();
}
unsafe impl windows_core::Interface for PasswordBox {
type Vtable = <IPasswordBox as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IPasswordBox as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for PasswordBox {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.PasswordBox";
}
unsafe impl Send for PasswordBox {}
unsafe impl Sync for PasswordBox {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct PasswordRevealMode(pub i32);
impl PasswordRevealMode {
pub const Peek: Self = Self(0i32);
pub const Hidden: Self = Self(1i32);
pub const Visible: Self = Self(2i32);
}
impl windows_core::TypeKind for PasswordRevealMode {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for PasswordRevealMode {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Xaml.Controls.PasswordRevealMode;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct PatternInterface(pub i32);
impl PatternInterface {
pub const Invoke: Self = Self(0i32);
pub const Selection: Self = Self(1i32);
pub const Value: Self = Self(2i32);
pub const RangeValue: Self = Self(3i32);
pub const Scroll: Self = Self(4i32);
pub const ScrollItem: Self = Self(5i32);
pub const ExpandCollapse: Self = Self(6i32);
pub const Grid: Self = Self(7i32);
pub const GridItem: Self = Self(8i32);
pub const MultipleView: Self = Self(9i32);
pub const Window: Self = Self(10i32);
pub const SelectionItem: Self = Self(11i32);
pub const Dock: Self = Self(12i32);
pub const Table: Self = Self(13i32);
pub const TableItem: Self = Self(14i32);
pub const Toggle: Self = Self(15i32);
pub const Transform: Self = Self(16i32);
pub const Text: Self = Self(17i32);
pub const ItemContainer: Self = Self(18i32);
pub const VirtualizedItem: Self = Self(19i32);
pub const Text2: Self = Self(20i32);
pub const TextChild: Self = Self(21i32);
pub const TextRange: Self = Self(22i32);
pub const Annotation: Self = Self(23i32);
pub const Drag: Self = Self(24i32);
pub const DropTarget: Self = Self(25i32);
pub const ObjectModel: Self = Self(26i32);
pub const Spreadsheet: Self = Self(27i32);
pub const SpreadsheetItem: Self = Self(28i32);
pub const Styles: Self = Self(29i32);
pub const Transform2: Self = Self(30i32);
pub const SynchronizedInput: Self = Self(31i32);
pub const TextEdit: Self = Self(32i32);
pub const CustomNavigation: Self = Self(33i32);
}
impl windows_core::TypeKind for PatternInterface {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for PatternInterface {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Xaml.Automation.Peers.PatternInterface;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct PersonPicture(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
PersonPicture,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
PersonPicture,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl PersonPicture {
pub fn new() -> windows_core::Result<PersonPicture> {
Self::IPersonPictureFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<PersonPicture>
where
T: windows_core::Compose,
{
Self::IPersonPictureFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IPersonPictureFactory<R, F: FnOnce(&IPersonPictureFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<PersonPicture, IPersonPictureFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IPersonPictureStatics<R, F: FnOnce(&IPersonPictureStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<PersonPicture, IPersonPictureStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for PersonPicture {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IPersonPicture>();
}
unsafe impl windows_core::Interface for PersonPicture {
type Vtable = <IPersonPicture as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IPersonPicture as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for PersonPicture {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.PersonPicture";
}
unsafe impl Send for PersonPicture {}
unsafe impl Sync for PersonPicture {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Pivot(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Pivot, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(
Pivot,
IAnimationObject,
IItemContainerMapping,
IVisualElement,
IVisualElement2,
ItemsControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl Pivot {
pub fn new() -> windows_core::Result<Pivot> {
Self::IPivotFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<Pivot>
where
T: windows_core::Compose,
{
Self::IPivotFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IPivotFactory<R, F: FnOnce(&IPivotFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Pivot, IPivotFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IPivotStatics<R, F: FnOnce(&IPivotStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Pivot, IPivotStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Pivot {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IPivot>();
}
unsafe impl windows_core::Interface for Pivot {
type Vtable = <IPivot as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IPivot as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Pivot {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Pivot";
}
unsafe impl Send for Pivot {}
unsafe impl Sync for Pivot {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct PivotItem(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
PivotItem,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
PivotItem,
IAnimationObject,
IVisualElement,
IVisualElement2,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl PivotItem {
pub fn new() -> windows_core::Result<PivotItem> {
Self::IPivotItemFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<PivotItem>
where
T: windows_core::Compose,
{
Self::IPivotItemFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IPivotItemFactory<R, F: FnOnce(&IPivotItemFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<PivotItem, IPivotItemFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IPivotItemStatics<R, F: FnOnce(&IPivotItemStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<PivotItem, IPivotItemStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for PivotItem {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IPivotItem>();
}
unsafe impl windows_core::Interface for PivotItem {
type Vtable = <IPivotItem as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IPivotItem as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for PivotItem {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.PivotItem";
}
unsafe impl Send for PivotItem {}
unsafe impl Sync for PivotItem {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct PlacementMode(pub i32);
impl PlacementMode {
pub const Bottom: Self = Self(2i32);
pub const Left: Self = Self(9i32);
pub const Mouse: Self = Self(7i32);
pub const Right: Self = Self(4i32);
pub const Top: Self = Self(10i32);
}
impl windows_core::TypeKind for PlacementMode {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for PlacementMode {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Xaml.Controls.Primitives.PlacementMode;i4)",
);
}
windows_core::imp::define_interface!(
PointerEventHandler,
PointerEventHandler_Vtbl,
0xa48a71e1_8bb4_5597_9e31_903a3f6a04fb
);
impl windows_core::RuntimeType for PointerEventHandler {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl PointerEventHandler {
pub fn new<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<PointerRoutedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(
invoke: F,
) -> Self {
let com = windows_core::imp::DelegateBox::<PointerEventHandler, F>::new(
&PointerEventHandlerBox::<F>::VTABLE,
invoke,
);
unsafe { core::mem::transmute(windows_core::imp::Box::new(com)) }
}
pub fn Invoke<P0, P1>(&self, sender: P0, e: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
P1: windows_core::Param<PointerRoutedEventArgs>,
{
unsafe {
(windows_core::Interface::vtable(self).Invoke)(
windows_core::Interface::as_raw(self),
sender.param().abi(),
e.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct PointerEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl,
Invoke: unsafe extern "system" fn(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
struct PointerEventHandlerBox<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<PointerRoutedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(core::marker::PhantomData<(fn() -> F,)>);
impl<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<PointerRoutedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
> PointerEventHandlerBox<F>
{
const VTABLE: PointerEventHandler_Vtbl = PointerEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl {
QueryInterface:
windows_core::imp::DelegateBox::<PointerEventHandler, F>::QueryInterface,
AddRef: windows_core::imp::DelegateBox::<PointerEventHandler, F>::AddRef,
Release: windows_core::imp::DelegateBox::<PointerEventHandler, F>::Release,
},
Invoke: Self::Invoke,
};
unsafe extern "system" fn Invoke(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this = &mut *(this as *mut *mut core::ffi::c_void
as *mut windows_core::imp::DelegateBox<PointerEventHandler, F>);
(this.invoke)(
core::mem::transmute_copy(&sender),
core::mem::transmute_copy(&e),
)
.into()
}
}
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct PointerPoint(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
PointerPoint,
windows_core::IUnknown,
windows_core::IInspectable
);
impl PointerPoint {}
impl windows_core::RuntimeType for PointerPoint {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IPointerPoint>();
}
unsafe impl windows_core::Interface for PointerPoint {
type Vtable = <IPointerPoint as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IPointerPoint as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for PointerPoint {
const NAME: &'static str = "Microsoft.UI.Input.PointerPoint";
}
unsafe impl Send for PointerPoint {}
unsafe impl Sync for PointerPoint {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct PointerPointProperties(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
PointerPointProperties,
windows_core::IUnknown,
windows_core::IInspectable
);
impl PointerPointProperties {}
impl windows_core::RuntimeType for PointerPointProperties {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IPointerPointProperties>();
}
unsafe impl windows_core::Interface for PointerPointProperties {
type Vtable = <IPointerPointProperties as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IPointerPointProperties as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for PointerPointProperties {
const NAME: &'static str = "Microsoft.UI.Input.PointerPointProperties";
}
unsafe impl Send for PointerPointProperties {}
unsafe impl Sync for PointerPointProperties {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct PointerRoutedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
PointerRoutedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(PointerRoutedEventArgs, RoutedEventArgs);
impl PointerRoutedEventArgs {}
impl windows_core::RuntimeType for PointerRoutedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IPointerRoutedEventArgs>();
}
unsafe impl windows_core::Interface for PointerRoutedEventArgs {
type Vtable = <IPointerRoutedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IPointerRoutedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for PointerRoutedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.Input.PointerRoutedEventArgs";
}
unsafe impl Send for PointerRoutedEventArgs {}
unsafe impl Sync for PointerRoutedEventArgs {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ProgressBar(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ProgressBar,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ProgressBar,
IAnimationObject,
IVisualElement,
IVisualElement2,
RangeBase,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ProgressBar {
pub fn new() -> windows_core::Result<ProgressBar> {
Self::IProgressBarFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ProgressBar>
where
T: windows_core::Compose,
{
Self::IProgressBarFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IProgressBarFactory<R, F: FnOnce(&IProgressBarFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ProgressBar, IProgressBarFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IProgressBarStatics<R, F: FnOnce(&IProgressBarStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ProgressBar, IProgressBarStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ProgressBar {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IProgressBar>();
}
unsafe impl windows_core::Interface for ProgressBar {
type Vtable = <IProgressBar as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IProgressBar as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ProgressBar {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ProgressBar";
}
unsafe impl Send for ProgressBar {}
unsafe impl Sync for ProgressBar {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ProgressRing(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ProgressRing,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ProgressRing,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ProgressRing {
pub fn new() -> windows_core::Result<ProgressRing> {
Self::IProgressRingFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ProgressRing>
where
T: windows_core::Compose,
{
Self::IProgressRingFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IProgressRingFactory<R, F: FnOnce(&IProgressRingFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ProgressRing, IProgressRingFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IProgressRingStatics<R, F: FnOnce(&IProgressRingStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ProgressRing, IProgressRingStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ProgressRing {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IProgressRing>();
}
unsafe impl windows_core::Interface for ProgressRing {
type Vtable = <IProgressRing as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IProgressRing as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ProgressRing {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ProgressRing";
}
unsafe impl Send for ProgressRing {}
unsafe impl Sync for ProgressRing {}
pub const RPC_E_CHANGED_MODE: windows_core::HRESULT = windows_core::HRESULT(0x80010106_u32 as _);
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct RadioButton(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
RadioButton,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
RadioButton,
IAnimationObject,
IVisualElement,
IVisualElement2,
ToggleButton,
ButtonBase,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl RadioButton {
pub fn new() -> windows_core::Result<RadioButton> {
Self::IRadioButtonFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<RadioButton>
where
T: windows_core::Compose,
{
Self::IRadioButtonFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IRadioButtonFactory<R, F: FnOnce(&IRadioButtonFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<RadioButton, IRadioButtonFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IRadioButtonStatics<R, F: FnOnce(&IRadioButtonStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<RadioButton, IRadioButtonStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for RadioButton {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IRadioButton>();
}
unsafe impl windows_core::Interface for RadioButton {
type Vtable = <IRadioButton as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IRadioButton as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for RadioButton {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.RadioButton";
}
unsafe impl Send for RadioButton {}
unsafe impl Sync for RadioButton {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct RadioButtons(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
RadioButtons,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
RadioButtons,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl RadioButtons {
pub fn new() -> windows_core::Result<RadioButtons> {
Self::IRadioButtonsFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<RadioButtons>
where
T: windows_core::Compose,
{
Self::IRadioButtonsFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IRadioButtonsFactory<R, F: FnOnce(&IRadioButtonsFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<RadioButtons, IRadioButtonsFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IRadioButtonsStatics<R, F: FnOnce(&IRadioButtonsStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<RadioButtons, IRadioButtonsStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for RadioButtons {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IRadioButtons>();
}
unsafe impl windows_core::Interface for RadioButtons {
type Vtable = <IRadioButtons as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IRadioButtons as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for RadioButtons {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.RadioButtons";
}
unsafe impl Send for RadioButtons {}
unsafe impl Sync for RadioButtons {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct RangeBase(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
RangeBase,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
RangeBase,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl RangeBase {
pub fn new() -> windows_core::Result<RangeBase> {
Self::IRangeBaseFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<RangeBase>
where
T: windows_core::Compose,
{
Self::IRangeBaseFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IRangeBaseFactory<R, F: FnOnce(&IRangeBaseFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<RangeBase, IRangeBaseFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IRangeBaseStatics<R, F: FnOnce(&IRangeBaseStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<RangeBase, IRangeBaseStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for RangeBase {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IRangeBase>();
}
unsafe impl windows_core::Interface for RangeBase {
type Vtable = <IRangeBase as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IRangeBase as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for RangeBase {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Primitives.RangeBase";
}
unsafe impl Send for RangeBase {}
unsafe impl Sync for RangeBase {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct RangeBaseValueChangedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
RangeBaseValueChangedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(RangeBaseValueChangedEventArgs, RoutedEventArgs);
impl RangeBaseValueChangedEventArgs {}
impl windows_core::RuntimeType for RangeBaseValueChangedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IRangeBaseValueChangedEventArgs>();
}
unsafe impl windows_core::Interface for RangeBaseValueChangedEventArgs {
type Vtable = <IRangeBaseValueChangedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID =
<IRangeBaseValueChangedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for RangeBaseValueChangedEventArgs {
const NAME: &'static str =
"Microsoft.UI.Xaml.Controls.Primitives.RangeBaseValueChangedEventArgs";
}
unsafe impl Send for RangeBaseValueChangedEventArgs {}
unsafe impl Sync for RangeBaseValueChangedEventArgs {}
windows_core::imp::define_interface!(
RangeBaseValueChangedEventHandler,
RangeBaseValueChangedEventHandler_Vtbl,
0x23f0e209_9455_54cb_b8bc_0b49553c7dcc
);
impl windows_core::RuntimeType for RangeBaseValueChangedEventHandler {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl RangeBaseValueChangedEventHandler {
pub fn new<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<RangeBaseValueChangedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(
invoke: F,
) -> Self {
let com = windows_core::imp::DelegateBox::<RangeBaseValueChangedEventHandler, F>::new(
&RangeBaseValueChangedEventHandlerBox::<F>::VTABLE,
invoke,
);
unsafe { core::mem::transmute(windows_core::imp::Box::new(com)) }
}
pub fn Invoke<P0, P1>(&self, sender: P0, e: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
P1: windows_core::Param<RangeBaseValueChangedEventArgs>,
{
unsafe {
(windows_core::Interface::vtable(self).Invoke)(
windows_core::Interface::as_raw(self),
sender.param().abi(),
e.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct RangeBaseValueChangedEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl,
Invoke: unsafe extern "system" fn(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
struct RangeBaseValueChangedEventHandlerBox<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<RangeBaseValueChangedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(core::marker::PhantomData<(fn() -> F,)>);
impl<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<RangeBaseValueChangedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
> RangeBaseValueChangedEventHandlerBox<F>
{
const VTABLE: RangeBaseValueChangedEventHandler_Vtbl = RangeBaseValueChangedEventHandler_Vtbl {
base__:
windows_core::IUnknown_Vtbl {
QueryInterface: windows_core::imp::DelegateBox::<
RangeBaseValueChangedEventHandler,
F,
>::QueryInterface,
AddRef:
windows_core::imp::DelegateBox::<RangeBaseValueChangedEventHandler, F>::AddRef,
Release:
windows_core::imp::DelegateBox::<RangeBaseValueChangedEventHandler, F>::Release,
},
Invoke: Self::Invoke,
};
unsafe extern "system" fn Invoke(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this = &mut *(this as *mut *mut core::ffi::c_void
as *mut windows_core::imp::DelegateBox<RangeBaseValueChangedEventHandler, F>);
(this.invoke)(
core::mem::transmute_copy(&sender),
core::mem::transmute_copy(&e),
)
.into()
}
}
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Rectangle(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
Rectangle,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
Rectangle,
IAnimationObject,
IVisualElement,
IVisualElement2,
Shape,
FrameworkElement,
UIElement,
DependencyObject
);
impl Rectangle {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
Rectangle,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IRectangleStatics<R, F: FnOnce(&IRectangleStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Rectangle, IRectangleStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Rectangle {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IRectangle>();
}
unsafe impl windows_core::Interface for Rectangle {
type Vtable = <IRectangle as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IRectangle as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Rectangle {
const NAME: &'static str = "Microsoft.UI.Xaml.Shapes.Rectangle";
}
unsafe impl Send for Rectangle {}
unsafe impl Sync for Rectangle {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ResourceDictionary(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ResourceDictionary,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy ! ( ResourceDictionary , windows_collections:: IIterable < windows_collections:: IKeyValuePair < windows_core::IInspectable , windows_core::IInspectable > > , windows_collections:: IMap < windows_core::IInspectable , windows_core::IInspectable > , DependencyObject );
impl ResourceDictionary {
pub fn new() -> windows_core::Result<ResourceDictionary> {
Self::IResourceDictionaryFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ResourceDictionary>
where
T: windows_core::Compose,
{
Self::IResourceDictionaryFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IResourceDictionaryFactory<
R,
F: FnOnce(&IResourceDictionaryFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
ResourceDictionary,
IResourceDictionaryFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ResourceDictionary {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IResourceDictionary>();
}
unsafe impl windows_core::Interface for ResourceDictionary {
type Vtable = <IResourceDictionary as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IResourceDictionary as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ResourceDictionary {
const NAME: &'static str = "Microsoft.UI.Xaml.ResourceDictionary";
}
unsafe impl Send for ResourceDictionary {}
unsafe impl Sync for ResourceDictionary {}
windows_core::imp::define_interface!(
RightTappedEventHandler,
RightTappedEventHandler_Vtbl,
0x5070e32f_3dc7_56cf_8fdd_de1b40d0b472
);
impl windows_core::RuntimeType for RightTappedEventHandler {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl RightTappedEventHandler {
pub fn new<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<RightTappedRoutedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(
invoke: F,
) -> Self {
let com = windows_core::imp::DelegateBox::<RightTappedEventHandler, F>::new(
&RightTappedEventHandlerBox::<F>::VTABLE,
invoke,
);
unsafe { core::mem::transmute(windows_core::imp::Box::new(com)) }
}
pub fn Invoke<P0, P1>(&self, sender: P0, e: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
P1: windows_core::Param<RightTappedRoutedEventArgs>,
{
unsafe {
(windows_core::Interface::vtable(self).Invoke)(
windows_core::Interface::as_raw(self),
sender.param().abi(),
e.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct RightTappedEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl,
Invoke: unsafe extern "system" fn(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
struct RightTappedEventHandlerBox<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<RightTappedRoutedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(core::marker::PhantomData<(fn() -> F,)>);
impl<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<RightTappedRoutedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
> RightTappedEventHandlerBox<F>
{
const VTABLE: RightTappedEventHandler_Vtbl = RightTappedEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl {
QueryInterface:
windows_core::imp::DelegateBox::<RightTappedEventHandler, F>::QueryInterface,
AddRef: windows_core::imp::DelegateBox::<RightTappedEventHandler, F>::AddRef,
Release: windows_core::imp::DelegateBox::<RightTappedEventHandler, F>::Release,
},
Invoke: Self::Invoke,
};
unsafe extern "system" fn Invoke(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this = &mut *(this as *mut *mut core::ffi::c_void
as *mut windows_core::imp::DelegateBox<RightTappedEventHandler, F>);
(this.invoke)(
core::mem::transmute_copy(&sender),
core::mem::transmute_copy(&e),
)
.into()
}
}
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct RightTappedRoutedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
RightTappedRoutedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(RightTappedRoutedEventArgs, RoutedEventArgs);
impl RightTappedRoutedEventArgs {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
RightTappedRoutedEventArgs,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for RightTappedRoutedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IRightTappedRoutedEventArgs>();
}
unsafe impl windows_core::Interface for RightTappedRoutedEventArgs {
type Vtable = <IRightTappedRoutedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IRightTappedRoutedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for RightTappedRoutedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.Input.RightTappedRoutedEventArgs";
}
unsafe impl Send for RightTappedRoutedEventArgs {}
unsafe impl Sync for RightTappedRoutedEventArgs {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct RoutedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
RoutedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
impl RoutedEventArgs {
pub fn new() -> windows_core::Result<RoutedEventArgs> {
Self::IRoutedEventArgsFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<RoutedEventArgs>
where
T: windows_core::Compose,
{
Self::IRoutedEventArgsFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IRoutedEventArgsFactory<
R,
F: FnOnce(&IRoutedEventArgsFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<RoutedEventArgs, IRoutedEventArgsFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for RoutedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IRoutedEventArgs>();
}
unsafe impl windows_core::Interface for RoutedEventArgs {
type Vtable = <IRoutedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IRoutedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for RoutedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.RoutedEventArgs";
}
unsafe impl Send for RoutedEventArgs {}
unsafe impl Sync for RoutedEventArgs {}
windows_core::imp::define_interface!(
RoutedEventHandler,
RoutedEventHandler_Vtbl,
0xdae23d85_69ca_5bdf_805b_6161a3a215cc
);
impl windows_core::RuntimeType for RoutedEventHandler {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl RoutedEventHandler {
pub fn new<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<RoutedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(
invoke: F,
) -> Self {
let com = windows_core::imp::DelegateBox::<RoutedEventHandler, F>::new(
&RoutedEventHandlerBox::<F>::VTABLE,
invoke,
);
unsafe { core::mem::transmute(windows_core::imp::Box::new(com)) }
}
pub fn Invoke<P0, P1>(&self, sender: P0, e: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
P1: windows_core::Param<RoutedEventArgs>,
{
unsafe {
(windows_core::Interface::vtable(self).Invoke)(
windows_core::Interface::as_raw(self),
sender.param().abi(),
e.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct RoutedEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl,
Invoke: unsafe extern "system" fn(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
struct RoutedEventHandlerBox<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<RoutedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(core::marker::PhantomData<(fn() -> F,)>);
impl<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<RoutedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
> RoutedEventHandlerBox<F>
{
const VTABLE: RoutedEventHandler_Vtbl = RoutedEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl {
QueryInterface: windows_core::imp::DelegateBox::<RoutedEventHandler, F>::QueryInterface,
AddRef: windows_core::imp::DelegateBox::<RoutedEventHandler, F>::AddRef,
Release: windows_core::imp::DelegateBox::<RoutedEventHandler, F>::Release,
},
Invoke: Self::Invoke,
};
unsafe extern "system" fn Invoke(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this = &mut *(this as *mut *mut core::ffi::c_void
as *mut windows_core::imp::DelegateBox<RoutedEventHandler, F>);
(this.invoke)(
core::mem::transmute_copy(&sender),
core::mem::transmute_copy(&e),
)
.into()
}
}
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct RowDefinition(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
RowDefinition,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(RowDefinition, DependencyObject);
impl RowDefinition {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
RowDefinition,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IRowDefinitionStatics<R, F: FnOnce(&IRowDefinitionStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<RowDefinition, IRowDefinitionStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for RowDefinition {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IRowDefinition>();
}
unsafe impl windows_core::Interface for RowDefinition {
type Vtable = <IRowDefinition as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IRowDefinition as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for RowDefinition {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.RowDefinition";
}
unsafe impl Send for RowDefinition {}
unsafe impl Sync for RowDefinition {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct RowDefinitionCollection(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
RowDefinitionCollection,
windows_core::IUnknown,
windows_core::IInspectable,
windows_collections::IVector<RowDefinition>
);
windows_core::imp::required_hierarchy!(
RowDefinitionCollection,
windows_collections::IIterable<RowDefinition>
);
impl RowDefinitionCollection {}
impl windows_core::RuntimeType for RowDefinitionCollection {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::for_class::<
Self,
windows_collections::IVector<RowDefinition>,
>();
}
unsafe impl windows_core::Interface for RowDefinitionCollection {
type Vtable = <windows_collections::IVector<RowDefinition> as windows_core::Interface>::Vtable;
const IID: windows_core::GUID =
<windows_collections::IVector<RowDefinition> as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for RowDefinitionCollection {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.RowDefinitionCollection";
}
unsafe impl Send for RowDefinitionCollection {}
unsafe impl Sync for RowDefinitionCollection {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ScalarKeyFrameAnimation(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ScalarKeyFrameAnimation,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ScalarKeyFrameAnimation,
IAnimationObject,
IClosable,
ICompositionAnimationBase,
KeyFrameAnimation,
CompositionAnimation,
CompositionObject
);
impl ScalarKeyFrameAnimation {}
impl windows_core::RuntimeType for ScalarKeyFrameAnimation {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IScalarKeyFrameAnimation>();
}
unsafe impl windows_core::Interface for ScalarKeyFrameAnimation {
type Vtable = <IScalarKeyFrameAnimation as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IScalarKeyFrameAnimation as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ScalarKeyFrameAnimation {
const NAME: &'static str = "Microsoft.UI.Composition.ScalarKeyFrameAnimation";
}
unsafe impl Send for ScalarKeyFrameAnimation {}
unsafe impl Sync for ScalarKeyFrameAnimation {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct ScrollBarVisibility(pub i32);
impl ScrollBarVisibility {
pub const Disabled: Self = Self(0i32);
pub const Auto: Self = Self(1i32);
pub const Hidden: Self = Self(2i32);
pub const Visible: Self = Self(3i32);
}
impl windows_core::TypeKind for ScrollBarVisibility {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for ScrollBarVisibility {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"enum(Microsoft.UI.Xaml.Controls.ScrollBarVisibility;i4)",
);
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ScrollViewer(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ScrollViewer,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ScrollViewer,
IAnimationObject,
IScrollAnchorProvider,
IVisualElement,
IVisualElement2,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ScrollViewer {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
ScrollViewer,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IScrollViewerStatics<R, F: FnOnce(&IScrollViewerStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ScrollViewer, IScrollViewerStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ScrollViewer {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IScrollViewer>();
}
unsafe impl windows_core::Interface for ScrollViewer {
type Vtable = <IScrollViewer as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IScrollViewer as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ScrollViewer {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ScrollViewer";
}
unsafe impl Send for ScrollViewer {}
unsafe impl Sync for ScrollViewer {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct SelectionChangedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
SelectionChangedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(SelectionChangedEventArgs, RoutedEventArgs);
impl SelectionChangedEventArgs {
fn ISelectionChangedEventArgsFactory<
R,
F: FnOnce(&ISelectionChangedEventArgsFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
SelectionChangedEventArgs,
ISelectionChangedEventArgsFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for SelectionChangedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ISelectionChangedEventArgs>();
}
unsafe impl windows_core::Interface for SelectionChangedEventArgs {
type Vtable = <ISelectionChangedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ISelectionChangedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for SelectionChangedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.SelectionChangedEventArgs";
}
unsafe impl Send for SelectionChangedEventArgs {}
unsafe impl Sync for SelectionChangedEventArgs {}
windows_core::imp::define_interface!(
SelectionChangedEventHandler,
SelectionChangedEventHandler_Vtbl,
0xa232390d_0e34_595e_8931_fa928a9909f4
);
impl windows_core::RuntimeType for SelectionChangedEventHandler {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl SelectionChangedEventHandler {
pub fn new<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<SelectionChangedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(
invoke: F,
) -> Self {
let com = windows_core::imp::DelegateBox::<SelectionChangedEventHandler, F>::new(
&SelectionChangedEventHandlerBox::<F>::VTABLE,
invoke,
);
unsafe { core::mem::transmute(windows_core::imp::Box::new(com)) }
}
pub fn Invoke<P0, P1>(&self, sender: P0, e: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
P1: windows_core::Param<SelectionChangedEventArgs>,
{
unsafe {
(windows_core::Interface::vtable(self).Invoke)(
windows_core::Interface::as_raw(self),
sender.param().abi(),
e.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct SelectionChangedEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl,
Invoke: unsafe extern "system" fn(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
struct SelectionChangedEventHandlerBox<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<SelectionChangedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(core::marker::PhantomData<(fn() -> F,)>);
impl<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<SelectionChangedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
> SelectionChangedEventHandlerBox<F>
{
const VTABLE: SelectionChangedEventHandler_Vtbl = SelectionChangedEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl {
QueryInterface:
windows_core::imp::DelegateBox::<SelectionChangedEventHandler, F>::QueryInterface,
AddRef: windows_core::imp::DelegateBox::<SelectionChangedEventHandler, F>::AddRef,
Release: windows_core::imp::DelegateBox::<SelectionChangedEventHandler, F>::Release,
},
Invoke: Self::Invoke,
};
unsafe extern "system" fn Invoke(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this = &mut *(this as *mut *mut core::ffi::c_void
as *mut windows_core::imp::DelegateBox<SelectionChangedEventHandler, F>);
(this.invoke)(
core::mem::transmute_copy(&sender),
core::mem::transmute_copy(&e),
)
.into()
}
}
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Selector(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
Selector,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
Selector,
IAnimationObject,
IItemContainerMapping,
IVisualElement,
IVisualElement2,
ItemsControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl Selector {
fn ISelectorStatics<R, F: FnOnce(&ISelectorStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Selector, ISelectorStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Selector {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ISelector>();
}
unsafe impl windows_core::Interface for Selector {
type Vtable = <ISelector as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ISelector as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Selector {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Primitives.Selector";
}
unsafe impl Send for Selector {}
unsafe impl Sync for Selector {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct SelectorItem(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
SelectorItem,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
SelectorItem,
IAnimationObject,
IVisualElement,
IVisualElement2,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl SelectorItem {
pub fn new() -> windows_core::Result<SelectorItem> {
Self::ISelectorItemFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<SelectorItem>
where
T: windows_core::Compose,
{
Self::ISelectorItemFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn ISelectorItemFactory<R, F: FnOnce(&ISelectorItemFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<SelectorItem, ISelectorItemFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn ISelectorItemStatics<R, F: FnOnce(&ISelectorItemStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<SelectorItem, ISelectorItemStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for SelectorItem {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ISelectorItem>();
}
unsafe impl windows_core::Interface for SelectorItem {
type Vtable = <ISelectorItem as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ISelectorItem as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for SelectorItem {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Primitives.SelectorItem";
}
unsafe impl Send for SelectorItem {}
unsafe impl Sync for SelectorItem {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Shape(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Shape, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(
Shape,
IAnimationObject,
IVisualElement,
IVisualElement2,
FrameworkElement,
UIElement,
DependencyObject
);
impl Shape {
pub fn new() -> windows_core::Result<Shape> {
Self::IShapeFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<Shape>
where
T: windows_core::Compose,
{
Self::IShapeFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IShapeFactory<R, F: FnOnce(&IShapeFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Shape, IShapeFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IShapeStatics<R, F: FnOnce(&IShapeStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Shape, IShapeStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Shape {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IShape>();
}
unsafe impl windows_core::Interface for Shape {
type Vtable = <IShape as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IShape as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Shape {
const NAME: &'static str = "Microsoft.UI.Xaml.Shapes.Shape";
}
unsafe impl Send for Shape {}
unsafe impl Sync for Shape {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Slider(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Slider, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(
Slider,
IAnimationObject,
IVisualElement,
IVisualElement2,
RangeBase,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl Slider {
pub fn new() -> windows_core::Result<Slider> {
Self::ISliderFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<Slider>
where
T: windows_core::Compose,
{
Self::ISliderFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn ISliderFactory<R, F: FnOnce(&ISliderFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Slider, ISliderFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn ISliderStatics<R, F: FnOnce(&ISliderStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Slider, ISliderStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Slider {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ISlider>();
}
unsafe impl windows_core::Interface for Slider {
type Vtable = <ISlider as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ISlider as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Slider {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Slider";
}
unsafe impl Send for Slider {}
unsafe impl Sync for Slider {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct SolidColorBrush(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
SolidColorBrush,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(SolidColorBrush, IAnimationObject, Brush, DependencyObject);
impl SolidColorBrush {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
SolidColorBrush,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn ISolidColorBrushFactory<
R,
F: FnOnce(&ISolidColorBrushFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<SolidColorBrush, ISolidColorBrushFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn ISolidColorBrushStatics<
R,
F: FnOnce(&ISolidColorBrushStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<SolidColorBrush, ISolidColorBrushStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for SolidColorBrush {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ISolidColorBrush>();
}
unsafe impl windows_core::Interface for SolidColorBrush {
type Vtable = <ISolidColorBrush as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ISolidColorBrush as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for SolidColorBrush {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.SolidColorBrush";
}
unsafe impl Send for SolidColorBrush {}
unsafe impl Sync for SolidColorBrush {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct StackPanel(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
StackPanel,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
StackPanel,
IAnimationObject,
IInsertionPanel,
IScrollSnapPointsInfo,
IVisualElement,
IVisualElement2,
Panel,
FrameworkElement,
UIElement,
DependencyObject
);
impl StackPanel {
pub fn new() -> windows_core::Result<StackPanel> {
Self::IStackPanelFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<StackPanel>
where
T: windows_core::Compose,
{
Self::IStackPanelFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IStackPanelFactory<R, F: FnOnce(&IStackPanelFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<StackPanel, IStackPanelFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IStackPanelStatics<R, F: FnOnce(&IStackPanelStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<StackPanel, IStackPanelStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for StackPanel {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IStackPanel>();
}
unsafe impl windows_core::Interface for StackPanel {
type Vtable = <IStackPanel as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IStackPanel as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for StackPanel {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.StackPanel";
}
unsafe impl Send for StackPanel {}
unsafe impl Sync for StackPanel {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct Stretch(pub i32);
impl Stretch {
pub const None: Self = Self(0i32);
pub const Fill: Self = Self(1i32);
pub const Uniform: Self = Self(2i32);
pub const UniformToFill: Self = Self(3i32);
}
impl windows_core::TypeKind for Stretch {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for Stretch {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::from_slice(b"enum(Microsoft.UI.Xaml.Media.Stretch;i4)");
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct TabView(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
TabView,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
TabView,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl TabView {
pub fn new() -> windows_core::Result<TabView> {
Self::ITabViewFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<TabView>
where
T: windows_core::Compose,
{
Self::ITabViewFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn ITabViewFactory<R, F: FnOnce(&ITabViewFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<TabView, ITabViewFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn ITabViewStatics<R, F: FnOnce(&ITabViewStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<TabView, ITabViewStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn ITabViewStatics2<R, F: FnOnce(&ITabViewStatics2) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<TabView, ITabViewStatics2> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for TabView {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ITabView>();
}
unsafe impl windows_core::Interface for TabView {
type Vtable = <ITabView as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ITabView as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for TabView {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.TabView";
}
unsafe impl Send for TabView {}
unsafe impl Sync for TabView {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct TabViewItem(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
TabViewItem,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
TabViewItem,
IAnimationObject,
IVisualElement,
IVisualElement2,
ListViewItem,
SelectorItem,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl TabViewItem {
pub fn new() -> windows_core::Result<TabViewItem> {
Self::ITabViewItemFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<TabViewItem>
where
T: windows_core::Compose,
{
Self::ITabViewItemFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn ITabViewItemFactory<R, F: FnOnce(&ITabViewItemFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<TabViewItem, ITabViewItemFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn ITabViewItemStatics<R, F: FnOnce(&ITabViewItemStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<TabViewItem, ITabViewItemStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for TabViewItem {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ITabViewItem>();
}
unsafe impl windows_core::Interface for TabViewItem {
type Vtable = <ITabViewItem as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ITabViewItem as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for TabViewItem {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.TabViewItem";
}
unsafe impl Send for TabViewItem {}
unsafe impl Sync for TabViewItem {}
windows_core::imp::define_interface!(
TappedEventHandler,
TappedEventHandler_Vtbl,
0xb60074f3_125b_534e_8f9c_9769bd3f0f64
);
impl windows_core::RuntimeType for TappedEventHandler {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl TappedEventHandler {
pub fn new<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<TappedRoutedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(
invoke: F,
) -> Self {
let com = windows_core::imp::DelegateBox::<TappedEventHandler, F>::new(
&TappedEventHandlerBox::<F>::VTABLE,
invoke,
);
unsafe { core::mem::transmute(windows_core::imp::Box::new(com)) }
}
pub fn Invoke<P0, P1>(&self, sender: P0, e: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
P1: windows_core::Param<TappedRoutedEventArgs>,
{
unsafe {
(windows_core::Interface::vtable(self).Invoke)(
windows_core::Interface::as_raw(self),
sender.param().abi(),
e.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct TappedEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl,
Invoke: unsafe extern "system" fn(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
struct TappedEventHandlerBox<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<TappedRoutedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(core::marker::PhantomData<(fn() -> F,)>);
impl<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<TappedRoutedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
> TappedEventHandlerBox<F>
{
const VTABLE: TappedEventHandler_Vtbl = TappedEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl {
QueryInterface: windows_core::imp::DelegateBox::<TappedEventHandler, F>::QueryInterface,
AddRef: windows_core::imp::DelegateBox::<TappedEventHandler, F>::AddRef,
Release: windows_core::imp::DelegateBox::<TappedEventHandler, F>::Release,
},
Invoke: Self::Invoke,
};
unsafe extern "system" fn Invoke(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this = &mut *(this as *mut *mut core::ffi::c_void
as *mut windows_core::imp::DelegateBox<TappedEventHandler, F>);
(this.invoke)(
core::mem::transmute_copy(&sender),
core::mem::transmute_copy(&e),
)
.into()
}
}
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct TappedRoutedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
TappedRoutedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(TappedRoutedEventArgs, RoutedEventArgs);
impl TappedRoutedEventArgs {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
TappedRoutedEventArgs,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for TappedRoutedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ITappedRoutedEventArgs>();
}
unsafe impl windows_core::Interface for TappedRoutedEventArgs {
type Vtable = <ITappedRoutedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ITappedRoutedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for TappedRoutedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.Input.TappedRoutedEventArgs";
}
unsafe impl Send for TappedRoutedEventArgs {}
unsafe impl Sync for TappedRoutedEventArgs {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct TextBlock(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
TextBlock,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
TextBlock,
IAnimationObject,
IVisualElement,
IVisualElement2,
FrameworkElement,
UIElement,
DependencyObject
);
impl TextBlock {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
TextBlock,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn ITextBlockStatics<R, F: FnOnce(&ITextBlockStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<TextBlock, ITextBlockStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for TextBlock {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ITextBlock>();
}
unsafe impl windows_core::Interface for TextBlock {
type Vtable = <ITextBlock as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ITextBlock as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for TextBlock {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.TextBlock";
}
unsafe impl Send for TextBlock {}
unsafe impl Sync for TextBlock {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct TextBox(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
TextBox,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
TextBox,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl TextBox {
pub fn new() -> windows_core::Result<TextBox> {
Self::ITextBoxFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<TextBox>
where
T: windows_core::Compose,
{
Self::ITextBoxFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn ITextBoxFactory<R, F: FnOnce(&ITextBoxFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<TextBox, ITextBoxFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn ITextBoxStatics<R, F: FnOnce(&ITextBoxStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<TextBox, ITextBoxStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for TextBox {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ITextBox>();
}
unsafe impl windows_core::Interface for TextBox {
type Vtable = <ITextBox as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ITextBox as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for TextBox {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.TextBox";
}
unsafe impl Send for TextBox {}
unsafe impl Sync for TextBox {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct TextChangedEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
TextChangedEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(TextChangedEventArgs, RoutedEventArgs);
impl TextChangedEventArgs {}
impl windows_core::RuntimeType for TextChangedEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ITextChangedEventArgs>();
}
unsafe impl windows_core::Interface for TextChangedEventArgs {
type Vtable = <ITextChangedEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ITextChangedEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for TextChangedEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.TextChangedEventArgs";
}
unsafe impl Send for TextChangedEventArgs {}
unsafe impl Sync for TextChangedEventArgs {}
windows_core::imp::define_interface!(
TextChangedEventHandler,
TextChangedEventHandler_Vtbl,
0x5d8ddcff_45d8_5e7c_9b8b_c41d2893c6a1
);
impl windows_core::RuntimeType for TextChangedEventHandler {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_interface::<Self>();
}
impl TextChangedEventHandler {
pub fn new<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<TextChangedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(
invoke: F,
) -> Self {
let com = windows_core::imp::DelegateBox::<TextChangedEventHandler, F>::new(
&TextChangedEventHandlerBox::<F>::VTABLE,
invoke,
);
unsafe { core::mem::transmute(windows_core::imp::Box::new(com)) }
}
pub fn Invoke<P0, P1>(&self, sender: P0, e: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<windows_core::IInspectable>,
P1: windows_core::Param<TextChangedEventArgs>,
{
unsafe {
(windows_core::Interface::vtable(self).Invoke)(
windows_core::Interface::as_raw(self),
sender.param().abi(),
e.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct TextChangedEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl,
Invoke: unsafe extern "system" fn(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT,
}
struct TextChangedEventHandlerBox<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<TextChangedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
>(core::marker::PhantomData<(fn() -> F,)>);
impl<
F: Fn(
windows_core::Ref<windows_core::IInspectable>,
windows_core::Ref<TextChangedEventArgs>,
) -> windows_core::Result<()>
+ Send
+ 'static,
> TextChangedEventHandlerBox<F>
{
const VTABLE: TextChangedEventHandler_Vtbl = TextChangedEventHandler_Vtbl {
base__: windows_core::IUnknown_Vtbl {
QueryInterface:
windows_core::imp::DelegateBox::<TextChangedEventHandler, F>::QueryInterface,
AddRef: windows_core::imp::DelegateBox::<TextChangedEventHandler, F>::AddRef,
Release: windows_core::imp::DelegateBox::<TextChangedEventHandler, F>::Release,
},
Invoke: Self::Invoke,
};
unsafe extern "system" fn Invoke(
this: *mut core::ffi::c_void,
sender: *mut core::ffi::c_void,
e: *mut core::ffi::c_void,
) -> windows_core::HRESULT {
unsafe {
let this = &mut *(this as *mut *mut core::ffi::c_void
as *mut windows_core::imp::DelegateBox<TextChangedEventHandler, F>);
(this.invoke)(
core::mem::transmute_copy(&sender),
core::mem::transmute_copy(&e),
)
.into()
}
}
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct TextWrapping(pub i32);
impl TextWrapping {
pub const NoWrap: Self = Self(1i32);
pub const Wrap: Self = Self(2i32);
pub const WrapWholeWords: Self = Self(3i32);
}
impl windows_core::TypeKind for TextWrapping {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for TextWrapping {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::from_slice(b"enum(Microsoft.UI.Xaml.TextWrapping;i4)");
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct Thickness {
pub Left: f64,
pub Top: f64,
pub Right: f64,
pub Bottom: f64,
}
impl windows_core::TypeKind for Thickness {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for Thickness {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"struct(Microsoft.UI.Xaml.Thickness;f8;f8;f8;f8)",
);
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct TimeSpan {
pub Duration: i64,
}
impl windows_core::TypeKind for TimeSpan {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for TimeSpan {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::from_slice(b"struct(Windows.Foundation.TimeSpan;i8)");
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct TitleBar(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
TitleBar,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
TitleBar,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl TitleBar {
pub fn new() -> windows_core::Result<TitleBar> {
Self::ITitleBarFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<TitleBar>
where
T: windows_core::Compose,
{
Self::ITitleBarFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn ITitleBarFactory<R, F: FnOnce(&ITitleBarFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<TitleBar, ITitleBarFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn ITitleBarStatics<R, F: FnOnce(&ITitleBarStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<TitleBar, ITitleBarStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for TitleBar {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, ITitleBar>();
}
unsafe impl windows_core::Interface for TitleBar {
type Vtable = <ITitleBar as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <ITitleBar as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for TitleBar {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.TitleBar";
}
unsafe impl Send for TitleBar {}
unsafe impl Sync for TitleBar {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ToggleButton(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ToggleButton,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ToggleButton,
IAnimationObject,
IVisualElement,
IVisualElement2,
ButtonBase,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ToggleButton {
pub fn new() -> windows_core::Result<ToggleButton> {
Self::IToggleButtonFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ToggleButton>
where
T: windows_core::Compose,
{
Self::IToggleButtonFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IToggleButtonFactory<R, F: FnOnce(&IToggleButtonFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ToggleButton, IToggleButtonFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IToggleButtonStatics<R, F: FnOnce(&IToggleButtonStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ToggleButton, IToggleButtonStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ToggleButton {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IToggleButton>();
}
unsafe impl windows_core::Interface for ToggleButton {
type Vtable = <IToggleButton as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IToggleButton as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ToggleButton {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Primitives.ToggleButton";
}
unsafe impl Send for ToggleButton {}
unsafe impl Sync for ToggleButton {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ToggleSwitch(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ToggleSwitch,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ToggleSwitch,
IAnimationObject,
IVisualElement,
IVisualElement2,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ToggleSwitch {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
ToggleSwitch,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IToggleSwitchStatics<R, F: FnOnce(&IToggleSwitchStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ToggleSwitch, IToggleSwitchStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ToggleSwitch {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IToggleSwitch>();
}
unsafe impl windows_core::Interface for ToggleSwitch {
type Vtable = <IToggleSwitch as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IToggleSwitch as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ToggleSwitch {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ToggleSwitch";
}
unsafe impl Send for ToggleSwitch {}
unsafe impl Sync for ToggleSwitch {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ToolTip(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ToolTip,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
ToolTip,
IAnimationObject,
IVisualElement,
IVisualElement2,
ContentControl,
Control,
FrameworkElement,
UIElement,
DependencyObject
);
impl ToolTip {
pub fn new() -> windows_core::Result<ToolTip> {
Self::IToolTipFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<ToolTip>
where
T: windows_core::Compose,
{
Self::IToolTipFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
fn IToolTipFactory<R, F: FnOnce(&IToolTipFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ToolTip, IToolTipFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IToolTipStatics<R, F: FnOnce(&IToolTipStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ToolTip, IToolTipStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ToolTip {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IToolTip>();
}
unsafe impl windows_core::Interface for ToolTip {
type Vtable = <IToolTip as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IToolTip as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ToolTip {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ToolTip";
}
unsafe impl Send for ToolTip {}
unsafe impl Sync for ToolTip {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ToolTipService(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
ToolTipService,
windows_core::IUnknown,
windows_core::IInspectable
);
impl ToolTipService {
pub fn GetPlacement<P0>(element: P0) -> windows_core::Result<PlacementMode>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IToolTipServiceStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetPlacement)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.map(|| result__)
})
}
pub fn SetPlacement<P0>(element: P0, value: PlacementMode) -> windows_core::Result<()>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IToolTipServiceStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetPlacement)(
windows_core::Interface::as_raw(this),
element.param().abi(),
value,
)
.ok()
})
}
pub fn GetToolTip<P0>(element: P0) -> windows_core::Result<windows_core::IInspectable>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IToolTipServiceStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetToolTip)(
windows_core::Interface::as_raw(this),
element.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn SetToolTip<P0, P1>(element: P0, value: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<DependencyObject>,
P1: windows_core::Param<windows_core::IInspectable>,
{
Self::IToolTipServiceStatics(|this| unsafe {
(windows_core::Interface::vtable(this).SetToolTip)(
windows_core::Interface::as_raw(this),
element.param().abi(),
value.param().abi(),
)
.ok()
})
}
fn IToolTipServiceStatics<R, F: FnOnce(&IToolTipServiceStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<ToolTipService, IToolTipServiceStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for ToolTipService {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IToolTipService>();
}
unsafe impl windows_core::Interface for ToolTipService {
type Vtable = <IToolTipService as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IToolTipService as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for ToolTipService {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.ToolTipService";
}
unsafe impl Send for ToolTipService {}
unsafe impl Sync for ToolTipService {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct TypeKind(pub i32);
impl TypeKind {
pub const Primitive: Self = Self(0i32);
pub const Metadata: Self = Self(1i32);
pub const Custom: Self = Self(2i32);
}
impl windows_core::TypeKind for TypeKind {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for TypeKind {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.UI.Xaml.Interop.TypeKind;i4)");
}
#[repr(C)]
#[derive(Clone, Debug, Default, PartialEq)]
pub struct TypeName {
pub Name: windows_core::HSTRING,
pub Kind: TypeKind,
}
impl windows_core::TypeKind for TypeName {
type TypeKind = windows_core::CloneType;
}
impl windows_core::RuntimeType for TypeName {
const SIGNATURE :windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice ( b"struct(Windows.UI.Xaml.Interop.TypeName;string;enum(Windows.UI.Xaml.Interop.TypeKind;i4))" ) ;
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct TypedEventHandler<TSender, TResult>(
windows_core::IUnknown,
core::marker::PhantomData<TSender>,
core::marker::PhantomData<TResult>,
)
where
TSender: windows_core::RuntimeType + 'static,
TResult: windows_core::RuntimeType + 'static;
unsafe impl<
TSender: windows_core::RuntimeType + 'static,
TResult: windows_core::RuntimeType + 'static,
> windows_core::Interface for TypedEventHandler<TSender, TResult>
{
type Vtable = TypedEventHandler_Vtbl<TSender, TResult>;
const IID: windows_core::GUID =
windows_core::GUID::from_signature(<Self as windows_core::RuntimeType>::SIGNATURE);
}
impl<
TSender: windows_core::RuntimeType + 'static,
TResult: windows_core::RuntimeType + 'static,
> windows_core::RuntimeType for TypedEventHandler<TSender, TResult>
{
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::new()
.push_slice(b"pinterface({9de1c534-6ae1-11e0-84e1-18a905bcc53f}")
.push_slice(b";")
.push_other(TSender::SIGNATURE)
.push_slice(b";")
.push_other(TResult::SIGNATURE)
.push_slice(b")");
}
impl<
TSender: windows_core::RuntimeType + 'static,
TResult: windows_core::RuntimeType + 'static,
> TypedEventHandler<TSender, TResult>
{
pub fn new<
F: Fn(windows_core::Ref<TSender>, windows_core::Ref<TResult>) -> windows_core::Result<()>
+ Send
+ 'static,
>(
invoke: F,
) -> Self {
let com = windows_core::imp::DelegateBox::<TypedEventHandler<TSender, TResult>, F>::new(
&TypedEventHandlerBox::<TSender, TResult, F>::VTABLE,
invoke,
);
unsafe { core::mem::transmute(windows_core::imp::Box::new(com)) }
}
pub fn Invoke<P0, P1>(&self, sender: P0, args: P1) -> windows_core::Result<()>
where
P0: windows_core::Param<TSender>,
P1: windows_core::Param<TResult>,
{
unsafe {
(windows_core::Interface::vtable(self).Invoke)(
windows_core::Interface::as_raw(self),
sender.param().abi(),
args.param().abi(),
)
.ok()
}
}
}
#[repr(C)]
#[doc(hidden)]
pub struct TypedEventHandler_Vtbl<TSender, TResult>
where
TSender: windows_core::RuntimeType + 'static,
TResult: windows_core::RuntimeType + 'static,
{
base__: windows_core::IUnknown_Vtbl,
Invoke: unsafe extern "system" fn(
this: *mut core::ffi::c_void,
sender: windows_core::AbiType<TSender>,
args: windows_core::AbiType<TResult>,
) -> windows_core::HRESULT,
TSender: core::marker::PhantomData<TSender>,
TResult: core::marker::PhantomData<TResult>,
}
struct TypedEventHandlerBox<
TSender,
TResult,
F: Fn(windows_core::Ref<TSender>, windows_core::Ref<TResult>) -> windows_core::Result<()>
+ Send
+ 'static,
>(core::marker::PhantomData<(TSender, TResult, fn() -> F)>)
where
TSender: windows_core::RuntimeType + 'static,
TResult: windows_core::RuntimeType + 'static;
impl<
TSender: windows_core::RuntimeType + 'static,
TResult: windows_core::RuntimeType + 'static,
F: Fn(windows_core::Ref<TSender>, windows_core::Ref<TResult>) -> windows_core::Result<()>
+ Send
+ 'static,
> TypedEventHandlerBox<TSender, TResult, F>
{
const VTABLE : TypedEventHandler_Vtbl < TSender , TResult , > = TypedEventHandler_Vtbl:: < TSender , TResult , > { base__ :windows_core::IUnknown_Vtbl { QueryInterface :windows_core::imp::DelegateBox:: < TypedEventHandler < TSender , TResult > , F >::QueryInterface , AddRef :windows_core::imp::DelegateBox:: < TypedEventHandler < TSender , TResult > , F >::AddRef , Release :windows_core::imp::DelegateBox:: < TypedEventHandler < TSender , TResult > , F >::Release , } , Invoke :Self::Invoke , TSender :core::marker::PhantomData:: < TSender > , TResult :core::marker::PhantomData:: < TResult > } ;
unsafe extern "system" fn Invoke(
this: *mut core::ffi::c_void,
sender: windows_core::AbiType<TSender>,
args: windows_core::AbiType<TResult>,
) -> windows_core::HRESULT {
unsafe {
let this = &mut *(this as *mut *mut core::ffi::c_void
as *mut windows_core::imp::DelegateBox<TypedEventHandler<TSender, TResult>, F>);
(this.invoke)(
core::mem::transmute_copy(&sender),
core::mem::transmute_copy(&args),
)
.into()
}
}
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct UIElement(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
UIElement,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
UIElement,
IAnimationObject,
IVisualElement,
IVisualElement2,
DependencyObject
);
impl UIElement {
pub fn RegisterAsScrollPort<P0>(element: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
{
Self::IUIElementStatics(|this| unsafe {
(windows_core::Interface::vtable(this).RegisterAsScrollPort)(
windows_core::Interface::as_raw(this),
element.param().abi(),
)
.ok()
})
}
fn IUIElementStatics<R, F: FnOnce(&IUIElementStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<UIElement, IUIElementStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for UIElement {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IUIElement>();
}
unsafe impl windows_core::Interface for UIElement {
type Vtable = <IUIElement as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IUIElement as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for UIElement {
const NAME: &'static str = "Microsoft.UI.Xaml.UIElement";
}
unsafe impl Send for UIElement {}
unsafe impl Sync for UIElement {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct UIElementCollection(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
UIElementCollection,
windows_core::IUnknown,
windows_core::IInspectable,
windows_collections::IVector<UIElement>
);
windows_core::imp::required_hierarchy!(
UIElementCollection,
windows_collections::IIterable<UIElement>
);
impl UIElementCollection {}
impl windows_core::RuntimeType for UIElementCollection {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, windows_collections::IVector<UIElement>>(
);
}
unsafe impl windows_core::Interface for UIElementCollection {
type Vtable = <windows_collections::IVector<UIElement> as windows_core::Interface>::Vtable;
const IID: windows_core::GUID =
<windows_collections::IVector<UIElement> as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for UIElementCollection {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.UIElementCollection";
}
unsafe impl Send for UIElementCollection {}
unsafe impl Sync for UIElementCollection {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Uri(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Uri, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(Uri, IStringable);
impl Uri {
pub fn CreateUri(uri: &windows_core::HSTRING) -> windows_core::Result<Uri> {
Self::IUriRuntimeClassFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateUri)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(uri),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
fn IUriEscapeStatics<R, F: FnOnce(&IUriEscapeStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Uri, IUriEscapeStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IUriRuntimeClassFactory<
R,
F: FnOnce(&IUriRuntimeClassFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Uri, IUriRuntimeClassFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Uri {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IUriRuntimeClass>();
}
unsafe impl windows_core::Interface for Uri {
type Vtable = <IUriRuntimeClass as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IUriRuntimeClass as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Uri {
const NAME: &'static str = "Windows.Foundation.Uri";
}
unsafe impl Send for Uri {}
unsafe impl Sync for Uri {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Vector3KeyFrameAnimation(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
Vector3KeyFrameAnimation,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
Vector3KeyFrameAnimation,
IAnimationObject,
IClosable,
ICompositionAnimationBase,
KeyFrameAnimation,
CompositionAnimation,
CompositionObject
);
impl Vector3KeyFrameAnimation {}
impl windows_core::RuntimeType for Vector3KeyFrameAnimation {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IVector3KeyFrameAnimation>();
}
unsafe impl windows_core::Interface for Vector3KeyFrameAnimation {
type Vtable = <IVector3KeyFrameAnimation as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IVector3KeyFrameAnimation as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Vector3KeyFrameAnimation {
const NAME: &'static str = "Microsoft.UI.Composition.Vector3KeyFrameAnimation";
}
unsafe impl Send for Vector3KeyFrameAnimation {}
unsafe impl Sync for Vector3KeyFrameAnimation {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct VerticalAlignment(pub i32);
impl VerticalAlignment {
pub const Top: Self = Self(0i32);
pub const Center: Self = Self(1i32);
pub const Bottom: Self = Self(2i32);
pub const Stretch: Self = Self(3i32);
}
impl windows_core::TypeKind for VerticalAlignment {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for VerticalAlignment {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::from_slice(b"enum(Microsoft.UI.Xaml.VerticalAlignment;i4)");
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Viewbox(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
Viewbox,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy!(
Viewbox,
IAnimationObject,
IVisualElement,
IVisualElement2,
FrameworkElement,
UIElement,
DependencyObject
);
impl Viewbox {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
Viewbox,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IViewboxStatics<R, F: FnOnce(&IViewboxStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Viewbox, IViewboxStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Viewbox {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IViewbox>();
}
unsafe impl windows_core::Interface for Viewbox {
type Vtable = <IViewbox as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IViewbox as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Viewbox {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.Viewbox";
}
unsafe impl Send for Viewbox {}
unsafe impl Sync for Viewbox {}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct VirtualKey(pub i32);
impl VirtualKey {
pub const None: Self = Self(0i32);
pub const LeftButton: Self = Self(1i32);
pub const RightButton: Self = Self(2i32);
pub const Cancel: Self = Self(3i32);
pub const MiddleButton: Self = Self(4i32);
pub const XButton1: Self = Self(5i32);
pub const XButton2: Self = Self(6i32);
pub const Back: Self = Self(8i32);
pub const Tab: Self = Self(9i32);
pub const Clear: Self = Self(12i32);
pub const Enter: Self = Self(13i32);
pub const Shift: Self = Self(16i32);
pub const Control: Self = Self(17i32);
pub const Menu: Self = Self(18i32);
pub const Pause: Self = Self(19i32);
pub const CapitalLock: Self = Self(20i32);
pub const Kana: Self = Self(21i32);
pub const Hangul: Self = Self(21i32);
pub const ImeOn: Self = Self(22i32);
pub const Junja: Self = Self(23i32);
pub const Final: Self = Self(24i32);
pub const Hanja: Self = Self(25i32);
pub const Kanji: Self = Self(25i32);
pub const ImeOff: Self = Self(26i32);
pub const Escape: Self = Self(27i32);
pub const Convert: Self = Self(28i32);
pub const NonConvert: Self = Self(29i32);
pub const Accept: Self = Self(30i32);
pub const ModeChange: Self = Self(31i32);
pub const Space: Self = Self(32i32);
pub const PageUp: Self = Self(33i32);
pub const PageDown: Self = Self(34i32);
pub const End: Self = Self(35i32);
pub const Home: Self = Self(36i32);
pub const Left: Self = Self(37i32);
pub const Up: Self = Self(38i32);
pub const Right: Self = Self(39i32);
pub const Down: Self = Self(40i32);
pub const Select: Self = Self(41i32);
pub const Print: Self = Self(42i32);
pub const Execute: Self = Self(43i32);
pub const Snapshot: Self = Self(44i32);
pub const Insert: Self = Self(45i32);
pub const Delete: Self = Self(46i32);
pub const Help: Self = Self(47i32);
pub const Number0: Self = Self(48i32);
pub const Number1: Self = Self(49i32);
pub const Number2: Self = Self(50i32);
pub const Number3: Self = Self(51i32);
pub const Number4: Self = Self(52i32);
pub const Number5: Self = Self(53i32);
pub const Number6: Self = Self(54i32);
pub const Number7: Self = Self(55i32);
pub const Number8: Self = Self(56i32);
pub const Number9: Self = Self(57i32);
pub const A: Self = Self(65i32);
pub const B: Self = Self(66i32);
pub const C: Self = Self(67i32);
pub const D: Self = Self(68i32);
pub const E: Self = Self(69i32);
pub const F: Self = Self(70i32);
pub const G: Self = Self(71i32);
pub const H: Self = Self(72i32);
pub const I: Self = Self(73i32);
pub const J: Self = Self(74i32);
pub const K: Self = Self(75i32);
pub const L: Self = Self(76i32);
pub const M: Self = Self(77i32);
pub const N: Self = Self(78i32);
pub const O: Self = Self(79i32);
pub const P: Self = Self(80i32);
pub const Q: Self = Self(81i32);
pub const R: Self = Self(82i32);
pub const S: Self = Self(83i32);
pub const T: Self = Self(84i32);
pub const U: Self = Self(85i32);
pub const V: Self = Self(86i32);
pub const W: Self = Self(87i32);
pub const X: Self = Self(88i32);
pub const Y: Self = Self(89i32);
pub const Z: Self = Self(90i32);
pub const LeftWindows: Self = Self(91i32);
pub const RightWindows: Self = Self(92i32);
pub const Application: Self = Self(93i32);
pub const Sleep: Self = Self(95i32);
pub const NumberPad0: Self = Self(96i32);
pub const NumberPad1: Self = Self(97i32);
pub const NumberPad2: Self = Self(98i32);
pub const NumberPad3: Self = Self(99i32);
pub const NumberPad4: Self = Self(100i32);
pub const NumberPad5: Self = Self(101i32);
pub const NumberPad6: Self = Self(102i32);
pub const NumberPad7: Self = Self(103i32);
pub const NumberPad8: Self = Self(104i32);
pub const NumberPad9: Self = Self(105i32);
pub const Multiply: Self = Self(106i32);
pub const Add: Self = Self(107i32);
pub const Separator: Self = Self(108i32);
pub const Subtract: Self = Self(109i32);
pub const Decimal: Self = Self(110i32);
pub const Divide: Self = Self(111i32);
pub const F1: Self = Self(112i32);
pub const F2: Self = Self(113i32);
pub const F3: Self = Self(114i32);
pub const F4: Self = Self(115i32);
pub const F5: Self = Self(116i32);
pub const F6: Self = Self(117i32);
pub const F7: Self = Self(118i32);
pub const F8: Self = Self(119i32);
pub const F9: Self = Self(120i32);
pub const F10: Self = Self(121i32);
pub const F11: Self = Self(122i32);
pub const F12: Self = Self(123i32);
pub const F13: Self = Self(124i32);
pub const F14: Self = Self(125i32);
pub const F15: Self = Self(126i32);
pub const F16: Self = Self(127i32);
pub const F17: Self = Self(128i32);
pub const F18: Self = Self(129i32);
pub const F19: Self = Self(130i32);
pub const F20: Self = Self(131i32);
pub const F21: Self = Self(132i32);
pub const F22: Self = Self(133i32);
pub const F23: Self = Self(134i32);
pub const F24: Self = Self(135i32);
pub const NavigationView: Self = Self(136i32);
pub const NavigationMenu: Self = Self(137i32);
pub const NavigationUp: Self = Self(138i32);
pub const NavigationDown: Self = Self(139i32);
pub const NavigationLeft: Self = Self(140i32);
pub const NavigationRight: Self = Self(141i32);
pub const NavigationAccept: Self = Self(142i32);
pub const NavigationCancel: Self = Self(143i32);
pub const NumberKeyLock: Self = Self(144i32);
pub const Scroll: Self = Self(145i32);
pub const LeftShift: Self = Self(160i32);
pub const RightShift: Self = Self(161i32);
pub const LeftControl: Self = Self(162i32);
pub const RightControl: Self = Self(163i32);
pub const LeftMenu: Self = Self(164i32);
pub const RightMenu: Self = Self(165i32);
pub const GoBack: Self = Self(166i32);
pub const GoForward: Self = Self(167i32);
pub const Refresh: Self = Self(168i32);
pub const Stop: Self = Self(169i32);
pub const Search: Self = Self(170i32);
pub const Favorites: Self = Self(171i32);
pub const GoHome: Self = Self(172i32);
pub const GamepadA: Self = Self(195i32);
pub const GamepadB: Self = Self(196i32);
pub const GamepadX: Self = Self(197i32);
pub const GamepadY: Self = Self(198i32);
pub const GamepadRightShoulder: Self = Self(199i32);
pub const GamepadLeftShoulder: Self = Self(200i32);
pub const GamepadLeftTrigger: Self = Self(201i32);
pub const GamepadRightTrigger: Self = Self(202i32);
pub const GamepadDPadUp: Self = Self(203i32);
pub const GamepadDPadDown: Self = Self(204i32);
pub const GamepadDPadLeft: Self = Self(205i32);
pub const GamepadDPadRight: Self = Self(206i32);
pub const GamepadMenu: Self = Self(207i32);
pub const GamepadView: Self = Self(208i32);
pub const GamepadLeftThumbstickButton: Self = Self(209i32);
pub const GamepadRightThumbstickButton: Self = Self(210i32);
pub const GamepadLeftThumbstickUp: Self = Self(211i32);
pub const GamepadLeftThumbstickDown: Self = Self(212i32);
pub const GamepadLeftThumbstickRight: Self = Self(213i32);
pub const GamepadLeftThumbstickLeft: Self = Self(214i32);
pub const GamepadRightThumbstickUp: Self = Self(215i32);
pub const GamepadRightThumbstickDown: Self = Self(216i32);
pub const GamepadRightThumbstickRight: Self = Self(217i32);
pub const GamepadRightThumbstickLeft: Self = Self(218i32);
}
impl windows_core::TypeKind for VirtualKey {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for VirtualKey {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.System.VirtualKey;i4)");
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct VirtualKeyModifiers(pub u32);
impl VirtualKeyModifiers {
pub const None: Self = Self(0u32);
pub const Control: Self = Self(1u32);
pub const Menu: Self = Self(2u32);
pub const Shift: Self = Self(4u32);
pub const Windows: Self = Self(8u32);
}
impl windows_core::TypeKind for VirtualKeyModifiers {
type TypeKind = windows_core::CopyType;
}
impl windows_core::RuntimeType for VirtualKeyModifiers {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::from_slice(b"enum(Windows.System.VirtualKeyModifiers;u4)");
}
impl VirtualKeyModifiers {
pub const fn contains(&self, other: Self) -> bool {
self.0 & other.0 == other.0
}
}
impl core::ops::BitOr for VirtualKeyModifiers {
type Output = Self;
fn bitor(self, other: Self) -> Self {
Self(self.0 | other.0)
}
}
impl core::ops::BitAnd for VirtualKeyModifiers {
type Output = Self;
fn bitand(self, other: Self) -> Self {
Self(self.0 & other.0)
}
}
impl core::ops::BitOrAssign for VirtualKeyModifiers {
fn bitor_assign(&mut self, other: Self) {
self.0.bitor_assign(other.0);
}
}
impl core::ops::BitAndAssign for VirtualKeyModifiers {
fn bitand_assign(&mut self, other: Self) {
self.0.bitand_assign(other.0);
}
}
impl core::ops::Not for VirtualKeyModifiers {
type Output = Self;
fn not(self) -> Self {
Self(self.0.not())
}
}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Visual(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Visual, windows_core::IUnknown, windows_core::IInspectable);
windows_core::imp::required_hierarchy!(Visual, IAnimationObject, IClosable, CompositionObject);
impl Visual {}
impl windows_core::RuntimeType for Visual {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IVisual>();
}
unsafe impl windows_core::Interface for Visual {
type Vtable = <IVisual as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IVisual as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Visual {
const NAME: &'static str = "Microsoft.UI.Composition.Visual";
}
unsafe impl Send for Visual {}
unsafe impl Sync for Visual {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct VisualTreeHelper(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
VisualTreeHelper,
windows_core::IUnknown,
windows_core::IInspectable
);
impl VisualTreeHelper {
pub fn GetChild<P0>(reference: P0, childindex: i32) -> windows_core::Result<DependencyObject>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IVisualTreeHelperStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetChild)(
windows_core::Interface::as_raw(this),
reference.param().abi(),
childindex,
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn GetChildrenCount<P0>(reference: P0) -> windows_core::Result<i32>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IVisualTreeHelperStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetChildrenCount)(
windows_core::Interface::as_raw(this),
reference.param().abi(),
&mut result__,
)
.map(|| result__)
})
}
pub fn GetParent<P0>(reference: P0) -> windows_core::Result<DependencyObject>
where
P0: windows_core::Param<DependencyObject>,
{
Self::IVisualTreeHelperStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).GetParent)(
windows_core::Interface::as_raw(this),
reference.param().abi(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn DisconnectChildrenRecursive<P0>(element: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
{
Self::IVisualTreeHelperStatics(|this| unsafe {
(windows_core::Interface::vtable(this).DisconnectChildrenRecursive)(
windows_core::Interface::as_raw(this),
element.param().abi(),
)
.ok()
})
}
fn IVisualTreeHelperStatics<
R,
F: FnOnce(&IVisualTreeHelperStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<VisualTreeHelper, IVisualTreeHelperStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for VisualTreeHelper {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IVisualTreeHelper>();
}
unsafe impl windows_core::Interface for VisualTreeHelper {
type Vtable = <IVisualTreeHelper as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IVisualTreeHelper as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for VisualTreeHelper {
const NAME: &'static str = "Microsoft.UI.Xaml.Media.VisualTreeHelper";
}
unsafe impl Send for VisualTreeHelper {}
unsafe impl Sync for VisualTreeHelper {}
pub const WM_MOUSEMOVE: u32 = 512u32;
pub const WM_SETCURSOR: u32 = 32u32;
pub type WPARAM = usize;
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Window(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(Window, windows_core::IUnknown, windows_core::IInspectable);
impl Window {
pub fn new() -> windows_core::Result<Window> {
Self::IWindowFactory(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::ptr::null_mut(),
&mut core::ptr::null_mut(),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
pub fn compose<T>(compose: T) -> windows_core::Result<Window>
where
T: windows_core::Compose,
{
Self::IWindowFactory(|this| unsafe {
let (derived__, base__) = windows_core::Compose::compose(compose);
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).CreateInstance)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(&derived__),
base__ as *mut _ as _,
&mut result__,
)
.ok()?;
let _ = &derived__;
windows_core::Type::from_abi(result__)
})
}
pub fn Current() -> windows_core::Result<Window> {
Self::IWindowStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).Current)(
windows_core::Interface::as_raw(this),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
fn IWindowFactory<R, F: FnOnce(&IWindowFactory) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Window, IWindowFactory> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
fn IWindowStatics<R, F: FnOnce(&IWindowStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<Window, IWindowStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for Window {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IWindow>();
}
unsafe impl windows_core::Interface for Window {
type Vtable = <IWindow as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IWindow as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for Window {
const NAME: &'static str = "Microsoft.UI.Xaml.Window";
}
unsafe impl Send for Window {}
unsafe impl Sync for Window {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct WindowEventArgs(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
WindowEventArgs,
windows_core::IUnknown,
windows_core::IInspectable
);
impl WindowEventArgs {}
impl windows_core::RuntimeType for WindowEventArgs {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IWindowEventArgs>();
}
unsafe impl windows_core::Interface for WindowEventArgs {
type Vtable = <IWindowEventArgs as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IWindowEventArgs as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for WindowEventArgs {
const NAME: &'static str = "Microsoft.UI.Xaml.WindowEventArgs";
}
unsafe impl Send for WindowEventArgs {}
unsafe impl Sync for WindowEventArgs {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct XamlControlsResources(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
XamlControlsResources,
windows_core::IUnknown,
windows_core::IInspectable
);
windows_core::imp::required_hierarchy ! ( XamlControlsResources , windows_collections:: IIterable < windows_collections:: IKeyValuePair < windows_core::IInspectable , windows_core::IInspectable > > , windows_collections:: IMap < windows_core::IInspectable , windows_core::IInspectable > , ResourceDictionary , DependencyObject );
impl XamlControlsResources {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
XamlControlsResources,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
pub fn EnsureRevealLights<P0>(element: P0) -> windows_core::Result<()>
where
P0: windows_core::Param<UIElement>,
{
Self::IXamlControlsResourcesStatics(|this| unsafe {
(windows_core::Interface::vtable(this).EnsureRevealLights)(
windows_core::Interface::as_raw(this),
element.param().abi(),
)
.ok()
})
}
fn IXamlControlsResourcesStatics<
R,
F: FnOnce(&IXamlControlsResourcesStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
XamlControlsResources,
IXamlControlsResourcesStatics,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for XamlControlsResources {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IXamlControlsResources>();
}
unsafe impl windows_core::Interface for XamlControlsResources {
type Vtable = <IXamlControlsResources as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IXamlControlsResources as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for XamlControlsResources {
const NAME: &'static str = "Microsoft.UI.Xaml.Controls.XamlControlsResources";
}
unsafe impl Send for XamlControlsResources {}
unsafe impl Sync for XamlControlsResources {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct XamlControlsXamlMetaDataProvider(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
XamlControlsXamlMetaDataProvider,
windows_core::IUnknown,
windows_core::IInspectable,
IXamlMetadataProvider
);
impl XamlControlsXamlMetaDataProvider {
pub fn new() -> windows_core::Result<Self> {
Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
}
fn IActivationFactory<
R,
F: FnOnce(&windows_core::imp::IGenericFactory) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
XamlControlsXamlMetaDataProvider,
windows_core::imp::IGenericFactory,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
pub fn Initialize() -> windows_core::Result<()> {
Self::IXamlControlsXamlMetaDataProviderStatics(|this| unsafe {
(windows_core::Interface::vtable(this).Initialize)(windows_core::Interface::as_raw(
this,
))
.ok()
})
}
fn IXamlControlsXamlMetaDataProviderStatics<
R,
F: FnOnce(&IXamlControlsXamlMetaDataProviderStatics) -> windows_core::Result<R>,
>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<
XamlControlsXamlMetaDataProvider,
IXamlControlsXamlMetaDataProviderStatics,
> = windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for XamlControlsXamlMetaDataProvider {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IXamlMetadataProvider>();
}
unsafe impl windows_core::Interface for XamlControlsXamlMetaDataProvider {
type Vtable = <IXamlMetadataProvider as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IXamlMetadataProvider as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for XamlControlsXamlMetaDataProvider {
const NAME: &'static str = "Microsoft.UI.Xaml.XamlTypeInfo.XamlControlsXamlMetaDataProvider";
}
unsafe impl Send for XamlControlsXamlMetaDataProvider {}
unsafe impl Sync for XamlControlsXamlMetaDataProvider {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct XamlReader(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
XamlReader,
windows_core::IUnknown,
windows_core::IInspectable
);
impl XamlReader {
pub fn Load(xaml: &windows_core::HSTRING) -> windows_core::Result<windows_core::IInspectable> {
Self::IXamlReaderStatics(|this| unsafe {
let mut result__ = core::mem::zeroed();
(windows_core::Interface::vtable(this).Load)(
windows_core::Interface::as_raw(this),
core::mem::transmute_copy(xaml),
&mut result__,
)
.and_then(|| windows_core::Type::from_abi(result__))
})
}
fn IXamlReaderStatics<R, F: FnOnce(&IXamlReaderStatics) -> windows_core::Result<R>>(
callback: F,
) -> windows_core::Result<R> {
static SHARED: windows_core::imp::FactoryCache<XamlReader, IXamlReaderStatics> =
windows_core::imp::FactoryCache::new();
SHARED.call(callback)
}
}
impl windows_core::RuntimeType for XamlReader {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IXamlReader>();
}
unsafe impl windows_core::Interface for XamlReader {
type Vtable = <IXamlReader as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IXamlReader as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for XamlReader {
const NAME: &'static str = "Microsoft.UI.Xaml.Markup.XamlReader";
}
unsafe impl Send for XamlReader {}
unsafe impl Sync for XamlReader {}
#[repr(transparent)]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct XamlRoot(windows_core::IUnknown);
windows_core::imp::interface_hierarchy!(
XamlRoot,
windows_core::IUnknown,
windows_core::IInspectable
);
impl XamlRoot {}
impl windows_core::RuntimeType for XamlRoot {
const SIGNATURE: windows_core::imp::ConstBuffer =
windows_core::imp::ConstBuffer::for_class::<Self, IXamlRoot>();
}
unsafe impl windows_core::Interface for XamlRoot {
type Vtable = <IXamlRoot as windows_core::Interface>::Vtable;
const IID: windows_core::GUID = <IXamlRoot as windows_core::Interface>::IID;
}
impl windows_core::RuntimeName for XamlRoot {
const NAME: &'static str = "Microsoft.UI.Xaml.XamlRoot";
}
unsafe impl Send for XamlRoot {}
unsafe impl Sync for XamlRoot {}
#[repr(C)]
#[derive(Clone, Debug, Default, PartialEq)]
pub struct XmlnsDefinition {
pub XmlNamespace: windows_core::HSTRING,
pub Namespace: windows_core::HSTRING,
}
impl windows_core::TypeKind for XmlnsDefinition {
type TypeKind = windows_core::CloneType;
}
impl windows_core::RuntimeType for XmlnsDefinition {
const SIGNATURE: windows_core::imp::ConstBuffer = windows_core::imp::ConstBuffer::from_slice(
b"struct(Microsoft.UI.Xaml.Markup.XmlnsDefinition;string;string)",
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment