From 8102ccd51ac19cb6b09e97339798bb6a87065d25 Mon Sep 17 00:00:00 2001 From: david-swift Date: Mon, 10 Feb 2025 15:27:20 +0100 Subject: [PATCH] Add support for repeat buttons --- ...soft.UI.Xaml.Controls.Primitives+ABI.swift | 64 ++++++++++++++++++ ...icrosoft.UI.Xaml.Controls.Primitives.swift | 67 +++++++++++++++++++ .../WinUI/Generated/WinUI+MakeFromAbi.swift | 5 ++ projections.json | 1 + 4 files changed, 137 insertions(+) diff --git a/Sources/WinUI/Generated/Microsoft.UI.Xaml.Controls.Primitives+ABI.swift b/Sources/WinUI/Generated/Microsoft.UI.Xaml.Controls.Primitives+ABI.swift index cbd28d2..a5b5f25 100644 --- a/Sources/WinUI/Generated/Microsoft.UI.Xaml.Controls.Primitives+ABI.swift +++ b/Sources/WinUI/Generated/Microsoft.UI.Xaml.Controls.Primitives+ABI.swift @@ -129,6 +129,14 @@ private var IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRangeBaseVa .init(Data1: 0xB0181692, Data2: 0x9578, Data3: 0x51C7, Data4: ( 0x9D,0x1C,0xAD,0xFC,0xF8,0x94,0x5A,0xA9 ))// B0181692-9578-51C7-9D1C-ADFCF8945AA9 } +private var IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton: WindowsFoundation.IID { + .init(Data1: 0x97F4C728, Data2: 0x4A94, Data3: 0x56B5, Data4: ( 0x91,0xE4,0xE7,0xC6,0xF6,0xA1,0x25,0x1A ))// 97F4C728-4A94-56B5-91E4-E7C6F6A1251A +} + +private var IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButtonStatics: WindowsFoundation.IID { + .init(Data1: 0xB57320F6, Data2: 0xA58A, Data3: 0x589C, Data4: ( 0x9F,0x41,0xAA,0xB0,0x2F,0x51,0xE8,0x29 ))// B57320F6-A58A-589C-9F41-AAB02F51E829 +} + private var IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIScrollController: WindowsFoundation.IID { .init(Data1: 0x54396786, Data2: 0x1726, Data3: 0x53D6, Data4: ( 0x97,0xA3,0x40,0xAF,0x08,0x38,0x31,0x4C ))// 54396786-1726-53D6-97A3-40AF0838314C } @@ -1892,6 +1900,62 @@ public enum __ABI_Microsoft_UI_Xaml_Controls_Primitives { } + public class IRepeatButton: WindowsFoundation.IInspectable { + override public class var IID: WindowsFoundation.IID { IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton } + + internal func get_DelayImpl() throws -> Int32 { + var value: INT32 = 0 + _ = try perform(as: __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton.self) { pThis in + try CHECKED(pThis.pointee.lpVtbl.pointee.get_Delay(pThis, &value)) + } + return value + } + + internal func put_DelayImpl(_ value: Int32) throws { + _ = try perform(as: __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton.self) { pThis in + try CHECKED(pThis.pointee.lpVtbl.pointee.put_Delay(pThis, value)) + } + } + + internal func get_IntervalImpl() throws -> Int32 { + var value: INT32 = 0 + _ = try perform(as: __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton.self) { pThis in + try CHECKED(pThis.pointee.lpVtbl.pointee.get_Interval(pThis, &value)) + } + return value + } + + internal func put_IntervalImpl(_ value: Int32) throws { + _ = try perform(as: __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton.self) { pThis in + try CHECKED(pThis.pointee.lpVtbl.pointee.put_Interval(pThis, value)) + } + } + + } + + public class IRepeatButtonStatics: WindowsFoundation.IInspectable { + override public class var IID: WindowsFoundation.IID { IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButtonStatics } + + internal func get_DelayPropertyImpl() throws -> WinUI.DependencyProperty? { + let (value) = try ComPtrs.initialize { valueAbi in + _ = try perform(as: __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButtonStatics.self) { pThis in + try CHECKED(pThis.pointee.lpVtbl.pointee.get_DelayProperty(pThis, &valueAbi)) + } + } + return .from(abi: value) + } + + internal func get_IntervalPropertyImpl() throws -> WinUI.DependencyProperty? { + let (value) = try ComPtrs.initialize { valueAbi in + _ = try perform(as: __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButtonStatics.self) { pThis in + try CHECKED(pThis.pointee.lpVtbl.pointee.get_IntervalProperty(pThis, &valueAbi)) + } + } + return .from(abi: value) + } + + } + public class IScrollController: WindowsFoundation.IInspectable { override public class var IID: WindowsFoundation.IID { IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIScrollController } diff --git a/Sources/WinUI/Generated/Microsoft.UI.Xaml.Controls.Primitives.swift b/Sources/WinUI/Generated/Microsoft.UI.Xaml.Controls.Primitives.swift index 67e8002..d4fe9ce 100644 --- a/Sources/WinUI/Generated/Microsoft.UI.Xaml.Controls.Primitives.swift +++ b/Sources/WinUI/Generated/Microsoft.UI.Xaml.Controls.Primitives.swift @@ -1416,6 +1416,73 @@ public final class RangeBaseValueChangedEventArgs : WinUI.RoutedEventArgs { } } +/// [Open Microsoft documentation](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.repeatbutton) +public final class RepeatButton : WinUI.ButtonBase { + private typealias SwiftABI = __ABI_Microsoft_UI_Xaml_Controls_Primitives.IRepeatButton + private typealias CABI = __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton + private lazy var _default: SwiftABI! = getInterfaceForCaching() + @_spi(WinRTInternal) + override public func _getABI() -> UnsafeMutablePointer? { + if T.self == CABI.self { + return RawPointer(_default) + } + return super._getABI() + } + + @_spi(WinRTInternal) + public static func from(abi: ComPtr<__x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton>?) -> RepeatButton? { + guard let abi = abi else { return nil } + return .init(fromAbi: WindowsFoundation.IInspectable(abi)) + } + + @_spi(WinRTInternal) + override public init(fromAbi: WindowsFoundation.IInspectable) { + super.init(fromAbi: fromAbi) + } + + override public init() { + super.init(fromAbi: try! RoActivateInstance(HString("Microsoft.UI.Xaml.Controls.Primitives.RepeatButton"))) + } + + private static let _IRepeatButtonStatics: __ABI_Microsoft_UI_Xaml_Controls_Primitives.IRepeatButtonStatics = try! RoGetActivationFactory(HString("Microsoft.UI.Xaml.Controls.Primitives.RepeatButton")) + /// [Open Microsoft documentation](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.repeatbutton.delayproperty) + public static var delayProperty : WinUI.DependencyProperty! { + get { try! _IRepeatButtonStatics.get_DelayPropertyImpl() } + } + + /// [Open Microsoft documentation](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.repeatbutton.intervalproperty) + public static var intervalProperty : WinUI.DependencyProperty! { + get { try! _IRepeatButtonStatics.get_IntervalPropertyImpl() } + } + + /// [Open Microsoft documentation](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.repeatbutton.delay) + public var delay : Int32 { + get { try! _default.get_DelayImpl() } + set { try! _default.put_DelayImpl(newValue) } + } + + /// [Open Microsoft documentation](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.repeatbutton.interval) + public var interval : Int32 { + get { try! _default.get_IntervalImpl() } + set { try! _default.put_IntervalImpl(newValue) } + } + + internal enum IContentControlOverrides : ComposableImpl { + internal typealias CABI = __x_ABI_CMicrosoft_CUI_CXaml_CControls_CIContentControlOverrides + internal typealias SwiftABI = __ABI_Microsoft_UI_Xaml_Controls.IContentControlOverrides + internal typealias Class = RepeatButton + internal typealias SwiftProjection = WinRTClassWeakReference + internal enum Default : AbiInterface { + internal typealias CABI = __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton + internal typealias SwiftABI = __ABI_Microsoft_UI_Xaml_Controls_Primitives.IRepeatButton + } + } + internal typealias Composable = IContentControlOverrides + deinit { + _default = nil + } +} + /// [Open Microsoft documentation](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.scrollcontrolleraddscrollvelocityrequestedeventargs) public final class ScrollControllerAddScrollVelocityRequestedEventArgs : WinRTClass { private typealias SwiftABI = __ABI_Microsoft_UI_Xaml_Controls_Primitives.IScrollControllerAddScrollVelocityRequestedEventArgs diff --git a/Sources/WinUI/Generated/WinUI+MakeFromAbi.swift b/Sources/WinUI/Generated/WinUI+MakeFromAbi.swift index 6758584..1fe89c0 100644 --- a/Sources/WinUI/Generated/WinUI+MakeFromAbi.swift +++ b/Sources/WinUI/Generated/WinUI+MakeFromAbi.swift @@ -1141,6 +1141,10 @@ fileprivate func makeRangeBaseValueChangedEventArgsFrom(abi: WindowsFoundation.I return RangeBaseValueChangedEventArgs(fromAbi: abi) } +fileprivate func makeRepeatButtonFrom(abi: WindowsFoundation.IInspectable) -> Any { + return RepeatButton(fromAbi: abi) +} + fileprivate func makeScrollControllerAddScrollVelocityRequestedEventArgsFrom(abi: WindowsFoundation.IInspectable) -> Any { return ScrollControllerAddScrollVelocityRequestedEventArgs(fromAbi: abi) } @@ -2275,6 +2279,7 @@ public class __MakeFromAbi: MakeFromAbi { case "Popup": return makePopupFrom(abi: abi) case "RangeBase": return makeRangeBaseFrom(abi: abi) case "RangeBaseValueChangedEventArgs": return makeRangeBaseValueChangedEventArgsFrom(abi: abi) + case "RepeatButton": return makeRepeatButtonFrom(abi: abi) case "ScrollControllerAddScrollVelocityRequestedEventArgs": return makeScrollControllerAddScrollVelocityRequestedEventArgsFrom(abi: abi) case "ScrollControllerPanRequestedEventArgs": return makeScrollControllerPanRequestedEventArgsFrom(abi: abi) case "ScrollControllerScrollByRequestedEventArgs": return makeScrollControllerScrollByRequestedEventArgsFrom(abi: abi) diff --git a/projections.json b/projections.json index 2dc0b88..37dfec1 100644 --- a/projections.json +++ b/projections.json @@ -54,6 +54,7 @@ "Microsoft.UI.Xaml.Controls.Page", "Microsoft.UI.Xaml.Controls.PasswordBox", "Microsoft.UI.Xaml.Controls.PipsPager", + "Microsoft.UI.Xaml.Controls.Primitives.RepeatButton", "Microsoft.UI.Xaml.Controls.ProgressBar", "Microsoft.UI.Xaml.Controls.ProgressRing", "Microsoft.UI.Xaml.Controls.RadioButton",