diff --git a/.github/workflows/avalonia-rust.yml b/.github/workflows/avalonia-rust.yml index 0204819..d1c2286 100644 --- a/.github/workflows/avalonia-rust.yml +++ b/.github/workflows/avalonia-rust.yml @@ -6,7 +6,9 @@ on: - '**' - '.github/workflows/avalonia-rust.yml' push: - branches: [main] + # The default branch is `master`; targeting `main` (the fork's default) meant the + # upstream repository never ran this gate on its own default branch. + branches: [master] paths: - '**' - '.github/workflows/avalonia-rust.yml' diff --git a/host/Com/AvnApplication.Dialogs.cs b/host/Com/AvnApplication.Dialogs.cs new file mode 100644 index 0000000..e5450f7 --- /dev/null +++ b/host/Com/AvnApplication.Dialogs.cs @@ -0,0 +1,50 @@ +using System; +using System.Threading.Tasks; +using Avalonia.Controls; +using Avalonia.Host.Desktop; + +namespace Avalonia.Host.Com; + +/// +/// Stage 32 modal dialog activation. Window.ShowDialog returns a +/// and never completes synchronously, so it composes onto the +/// shared async operation registry the same way the storage pickers and clipboard do: +/// exactly one completion, cancellable, and the UI thread is never blocked waiting on the +/// dialog. +/// +public partial class AvnApplication : IAvnApplication5 +{ + public int StartShowDialog( + IAvnWindow? owner, + IAvnWindow? dialog, + IAvnAsyncCompletion? completion, + out long operationId) + { + operationId = 0; + if (owner is null || dialog is null) + return HResults.E_POINTER; + try + { + Avalonia.Threading.Dispatcher.UIThread.VerifyAccess(); + var ownerWindow = (Window?)ProjectionRuntime.Unwrap(owner) + ?? throw new ObjectDisposedException(nameof(owner)); + var dialogWindow = (Window?)ProjectionRuntime.Unwrap(dialog) + ?? throw new ObjectDisposedException(nameof(dialog)); + + return _asyncOperations.Start( + completion, + async cancellation => + { + var result = await global::Avalonia.Host.Desktop.Dialogs + .ShowAsync(dialogWindow, ownerWindow, cancellation) + .ConfigureAwait(true); + return AvnAsyncValue.FromString(global::Avalonia.Host.Desktop.Dialogs.ResultToString(result)); + }, + out operationId); + } + catch (Exception e) + { + return AbiError.Capture(e); + } + } +} diff --git a/host/Com/AvnGuids.cs b/host/Com/AvnGuids.cs index a847f1f..2537a77 100644 --- a/host/Com/AvnGuids.cs +++ b/host/Com/AvnGuids.cs @@ -27,4 +27,9 @@ internal static class AvnGuids // file entries back, and nothing below is added to a published vtable. public const string IAvnApplication4 = "6B2E8F10-4C91-4E3A-9A77-1F0C2B3A4D60"; public const string IAvnClipboardData = "6B2E8F10-4C91-4E3A-9A77-1F0C2B3A4D61"; + + // Stage 32 modal dialog activation. Another separately versioned capability; + // the completion rides the shared async operation registry, and nothing below + // is added to a published vtable. + public const string IAvnApplication5 = "6B2E8F10-4C91-4E3A-9A77-1F0C2B3A4D70"; } diff --git a/host/Com/IAvnDialogs.cs b/host/Com/IAvnDialogs.cs new file mode 100644 index 0000000..b16bb24 --- /dev/null +++ b/host/Com/IAvnDialogs.cs @@ -0,0 +1,27 @@ +using System.Runtime.InteropServices; +using System.Runtime.InteropServices.Marshalling; + +namespace Avalonia.Host.Com; + +/// +/// The separately versioned dialog capability, queried from IAvnApplication. +/// Nothing here is ever added to an already published vtable; a consumer that predates +/// the capability reads E_NOINTERFACE from the query instead. +/// +[GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] +[Guid(AvnGuids.IAvnApplication5)] +public partial interface IAvnApplication5 +{ + /// + /// Shows modally over and completes + /// through the shared async operation registry: exactly one completion, cancellable + /// through CancelAsyncOperation, never blocking the UI thread. The result string + /// is the dialog result converted by the host (null when the dialog returned no result). + /// + [PreserveSig] + int StartShowDialog( + IAvnWindow? owner, + IAvnWindow? dialog, + IAvnAsyncCompletion? completion, + out long operationId); +} diff --git a/host/Desktop/Dialogs.cs b/host/Desktop/Dialogs.cs new file mode 100644 index 0000000..153c39d --- /dev/null +++ b/host/Desktop/Dialogs.cs @@ -0,0 +1,68 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using Avalonia.Controls; +using Avalonia.Threading; + +namespace Avalonia.Host.Desktop; + +/// +/// Runs from an ABI request. +/// +/// +/// A modal dialog owns its owner while it is open: the dialog may outlive the originating +/// call, so the caller's window tokens are resolved to managed windows up front and the +/// task is awaited without blocking the UI thread. A cancellation request closes the +/// dialog rather than abandoning the task, because an abandoned ShowDialog task +/// still holds the owner. +/// +internal static class Dialogs +{ + public static async Task ShowAsync( + Window dialog, + Window owner, + CancellationToken cancellationToken) + { + ArgumentNullException.ThrowIfNull(dialog); + ArgumentNullException.ThrowIfNull(owner); + cancellationToken.ThrowIfCancellationRequested(); + + var task = dialog.ShowDialog(owner); + if (!cancellationToken.CanBeCanceled) + return await task.ConfigureAwait(true); + + using var registration = cancellationToken.Register(() => + { + if (Dispatcher.UIThread.CheckAccess()) + TryClose(dialog); + else + Dispatcher.UIThread.Post(() => TryClose(dialog)); + }); + return await task.ConfigureAwait(true); + } + + /// + /// Converts a dialog result to its ABI string form: null stays null (the dialog + /// returned no result), a string crosses as-is, and anything else uses its invariant + /// form. + /// + public static string? ResultToString(object? result) => result switch + { + null => null, + string text => text, + _ => Convert.ToString(result, System.Globalization.CultureInfo.InvariantCulture), + }; + + private static void TryClose(Window dialog) + { + try + { + dialog.Close(); + } + catch + { + // The dialog may already be closing or detached from its owner; a cancellation + // that races the natural close is satisfied either way. + } + } +} diff --git a/host/Generated/ObjectModel/.avalonia-projection.owned.json b/host/Generated/ObjectModel/.avalonia-projection.owned.json index 46442aa..51bb1cc 100644 --- a/host/Generated/ObjectModel/.avalonia-projection.owned.json +++ b/host/Generated/ObjectModel/.avalonia-projection.owned.json @@ -19,11 +19,11 @@ }, { "path": "IAvnArc.g.cs", - "sha256": "cf76c44d5f898f5b96cb700b87000d69025d7736056ef37c2a7e1d9fbfc57c3a" + "sha256": "00e0a44802db1f6eb26fc09b357bbee5552a378b2f35a243dc4a71fef9b17b7a" }, { "path": "IAvnAutoCompleteBox.g.cs", - "sha256": "bd4e9915200011d3ab055e800c8c18427ef19027891e3ab13351f0ae88043096" + "sha256": "0fbdba935bc85cb12fefd86fed7c09fe92ff1c337b9a76e3742616dc10f5a524" }, { "path": "IAvnAutoCompleteBoxDropDownClosedHandler.g.cs", @@ -63,7 +63,7 @@ }, { "path": "IAvnBorder.g.cs", - "sha256": "9b9442d465134725ea84f88e80be8d437e6fe7e6848803e815779f14b3ad6873" + "sha256": "196a716a1a4a29d75b074eacde4f776152c927b736ac36f74b39e774c9672fdc" }, { "path": "IAvnBrush.g.cs", @@ -71,7 +71,7 @@ }, { "path": "IAvnButton.g.cs", - "sha256": "09d31d3f7ddf6570af36f21d0f74557a7103ca25ccbd847a86527c5491803375" + "sha256": "757c07fe3b5ef996fb72038478eab5ffc8effe045b7bbcca6ffad83510acc500" }, { "path": "IAvnButtonClickHandler.g.cs", @@ -79,15 +79,15 @@ }, { "path": "IAvnButtonSpinner.g.cs", - "sha256": "e3e36de62bf8fd9ae2b3ba0d055c8db68a8cb34ad733812b931c72f0a62203df" + "sha256": "0bb43a096e2aa2eab1865dc97a6d3b6aa0e6e88bcb2b8b637318c9e77ee77d8a" }, { "path": "IAvnCalendar.g.cs", - "sha256": "129c6308e54a6db8b564f2362ddcea648df962cf9aa71895ba29f2ac874826e3" + "sha256": "c3575be6210d497b5edcd4c3c8f5d260fe26382df08456b255c26cc68f94850d" }, { "path": "IAvnCalendarDatePicker.g.cs", - "sha256": "3832605d4759411bff694bbbb1ce04bebf7aa56a13b27aace601812f84eeefc1" + "sha256": "7a285fae9b060d74cf29e18b18df31d93778b62a3ea64062d004a92a441b5294" }, { "path": "IAvnCalendarDatePickerCalendarClosedHandler.g.cs", @@ -119,7 +119,7 @@ }, { "path": "IAvnCanvas.g.cs", - "sha256": "00e3546e75469f62329c8a7b5b959e15341b873eae7aa05c02ad090b23d009b8" + "sha256": "2db2a639d6d241455c9f8602edef27ee95e71c54257163233a620f0d9fd24414" }, { "path": "IAvnCanvasStatics.g.cs", @@ -127,15 +127,15 @@ }, { "path": "IAvnCarousel.g.cs", - "sha256": "15e3a6d9f2c3b8d5e5493851cfd3d6cb11193265a0a6b09a79340fc90775e900" + "sha256": "46d71726bc65d7ccce72051744488d4a86fcee87c3f0b82d6c8d6d9567323bde" }, { "path": "IAvnCheckBox.g.cs", - "sha256": "6c19ad7f0277bda1da51f2211f0b08a10cd4b2790e0110e62d75c5d52ffd15a1" + "sha256": "adccd0d5836efe78539167a8e7982f01292184a7bf7a4dbae7b13f7f8028f55b" }, { "path": "IAvnComboBox.g.cs", - "sha256": "13fddbf8a83c68f7862e1298181fc1c1593cdf83b486e7d31d930d4508b8c5c9" + "sha256": "f3a2bea6173d0579da2dd68be648bc8cebc8a422db9238e38b84c9f04dfaa05a" }, { "path": "IAvnComboBoxDropDownClosedHandler.g.cs", @@ -147,7 +147,7 @@ }, { "path": "IAvnComboBoxItem.g.cs", - "sha256": "1b3ee79e6a37333bdd50dae8068c2a1edab11041a97dd00e68fbbebb21c60ce2" + "sha256": "c2bd08dd08ef8a102a45756d4498837ced28da7ed277370fd5edebd0d3a7b14a" }, { "path": "IAvnCommand.g.cs", @@ -155,11 +155,11 @@ }, { "path": "IAvnCommandBar.g.cs", - "sha256": "cec81982e180a2705bdfb16eae9ee6cb549b7bcea04cbc6e43de30007cbd344a" + "sha256": "88dcd3af740ce737cc323c653361bf45ec9979352400ef948b1ab8ab37e051f3" }, { "path": "IAvnCommandBarButton.g.cs", - "sha256": "597a94184c386077fad8e88126b7bb92f430b053cc473830117068445de0dfae" + "sha256": "8bcfe3aa51ca9f07dfd3ca0748fc92758788afb396b60aaaadb4a7aa5a445b78" }, { "path": "IAvnCommandBarClosedHandler.g.cs", @@ -179,19 +179,19 @@ }, { "path": "IAvnCommandBarSeparator.g.cs", - "sha256": "8fd25de5c066083b1ecca93b6a0adf2771ce418c3f99ff74e5178b09488b9953" + "sha256": "b47615bf2b29889d5f1cdb0a806a089f1484827ab4a2380801f8d845552b8540" }, { "path": "IAvnCommandBarToggleButton.g.cs", - "sha256": "92dd6eb5f9ac954a57ceb0e6868dd8e224bdcfd86581ccfeb0073e737616f6e1" + "sha256": "3de431339b94c979b7d114cd52d8120d175db3fcbb6f4e53d1fe022b4c9ce241" }, { "path": "IAvnContentControl.g.cs", - "sha256": "cc0aa04814ce45eb57c62e86dd01173613ef2654143de815e60c9f18c1ebcf9a" + "sha256": "1b8206b9bd96fc8c12b7b5b358748e32b8d74be2e4d6e282b17f3d27ce139686" }, { "path": "IAvnContextMenu.g.cs", - "sha256": "52e5c27095bf38aa7240206533f967cc5bafca0718f441a17dc10e4b8e53e17c" + "sha256": "f8aaf52378fa6ccffe538a2a5594dbdba886f54db741a57914fd823b6085de58" }, { "path": "IAvnContextMenuClosingHandler.g.cs", @@ -203,16 +203,28 @@ }, { "path": "IAvnControl.g.cs", - "sha256": "7c4ad3eae384fee1fbe1322d5e87fd40f2878fc7a4485c8f2777f7e211e22175" + "sha256": "6163875a62d0e969ff7f17675b69e8cfa4ed3777fe9ed467946206a0cc143f2b" + }, + { + "path": "IAvnControlDoubleTappedHandler.g.cs", + "sha256": "3910943c09f6a262602a5fa4b199e8513067ba9fc43857cb2f6dc75a0b6a31d8" }, { "path": "IAvnControlFactory.g.cs", "sha256": "0b16561747ebc843651c90574e80d5b5d4047ed1de15580b1017579f521a3d0d" }, + { + "path": "IAvnControlGotFocusHandler.g.cs", + "sha256": "0710d53e5740ac3fbdc72e7b3383bdd764135bad29cf901d4c1c0c8df19da6d3" + }, { "path": "IAvnControlKeyDownHandler.g.cs", "sha256": "0b187d8c401d810731e7ce37872c7c90d34a855b8b15ccc65f025992cb2e6c5e" }, + { + "path": "IAvnControlKeyUpHandler.g.cs", + "sha256": "5c5b2ef592d3c407b1c77a5fdf2e1856878a2347644182d35f962d585e0b693d" + }, { "path": "IAvnControlList.g.cs", "sha256": "05b3f6dc9d5721431fdb72880db358d77b0243aff3b6f71dfdfe714619126738" @@ -221,18 +233,30 @@ "path": "IAvnControlLoadedHandler.g.cs", "sha256": "f0f5a66674b7a657c5ab2781d729398be89859bae808d536516a3f9b6393228c" }, + { + "path": "IAvnControlLostFocusHandler.g.cs", + "sha256": "685d800933f2f955b85cf11e9eb580977ebd786a911c2163c3aa0c18866bcb6a" + }, { "path": "IAvnControlPointerEnteredHandler.g.cs", - "sha256": "fd84807be1efb7f5509b2c4ae9e456bd06d52c9fc8727fed4dd305540636fbb0" + "sha256": "b5d3ad5ab7d33cdb52a991a61afd3080788561168b64c8c4ce9166dee1fbe69c" }, { "path": "IAvnControlPointerExitedHandler.g.cs", - "sha256": "a86108c11b2bc1fce7052de8052a47320fac06fa01c30bbc9b4f9c200dae0fed" + "sha256": "fdcc1b4e2a736fd3a8486900000883469b18a2d3bda75c3e904e6a53f37e3b82" + }, + { + "path": "IAvnControlPointerWheelChangedHandler.g.cs", + "sha256": "264a6c18e6a73f73b61da627d62ce3c165c8d38ab2ee609d54918661906aa2a2" }, { "path": "IAvnControlSizeChangedHandler.g.cs", "sha256": "5f3f554e45973763235aad7350ad22b0c476e9643857b86a82b4b8b21fd89033" }, + { + "path": "IAvnControlTappedHandler.g.cs", + "sha256": "f6801edfac3857a990f1284eab945d7619cefe5ab6186255fc15dc95b47a2260" + }, { "path": "IAvnControlUnloadedHandler.g.cs", "sha256": "b154f456f0681a13c011d7ff99f5927815c63c24657cc21396ec5d40293ed482" @@ -243,7 +267,7 @@ }, { "path": "IAvnDatePicker.g.cs", - "sha256": "f3d9f55f73f71ce820062b08df524ab67edfb02dd4a8e9148610550e9a035be3" + "sha256": "c47d22bd0e0ff087ce15750f7e8ac3e460db5c629b999ee919e713c1bf9016a4" }, { "path": "IAvnDatePickerSelectedDateChangedHandler.g.cs", @@ -255,11 +279,11 @@ }, { "path": "IAvnDecorator.g.cs", - "sha256": "e88f6411672f29ffdfa08efbb978aba67ca17e6625f98b5bec255d116d637261" + "sha256": "b2d7ad554e5e4a3fe74febfc2eccc0401b12f39377710a6e324dbf4ad40af528" }, { "path": "IAvnDockPanel.g.cs", - "sha256": "c0cfae3ed6ab616eaf82ae461792fa6277c7536bb68252337b8ad979a90bb46f" + "sha256": "4bda4dd0781bed694440963cc6daf25c7810ab6a749ea8376977c78e456b56f0" }, { "path": "IAvnDockPanelStatics.g.cs", @@ -267,15 +291,15 @@ }, { "path": "IAvnDropDownButton.g.cs", - "sha256": "bd086cbf4585a746837b78304891529fba7539a7329374592094d6ce743589af" + "sha256": "4c407ebc8096c3abd9dc200902d0e435c15f8375d52646b61755d7ee22dd1b2f" }, { "path": "IAvnEllipse.g.cs", - "sha256": "a20813f32ac4a0624a948f588203c0dfee506919a7019b2e9ba408ab58219d37" + "sha256": "dbf48e8c902e8eda288915f32d0725059b9e615e999dd1cfbf42674c389a4f23" }, { "path": "IAvnExpander.g.cs", - "sha256": "0f77543fd5f39274aae5c2069e6969cba86c7061ff98665e35bca9e0e06e3769" + "sha256": "7a44a474807c06794ff6163a0e348ac30df51b8f6eb3062ed7cfb2ed34a65a1f" }, { "path": "IAvnExpanderCollapsedHandler.g.cs", @@ -295,7 +319,7 @@ }, { "path": "IAvnFlexPanel.g.cs", - "sha256": "f0d7c81a4187a5d74c71f49ec34e6537f9257a25caccb7f25271ffe08ffed9bf" + "sha256": "7fe2f232e2320b1f1a8a5905fc749b902963b5a31e6a176c4376e9021a26469e" }, { "path": "IAvnFlyout.g.cs", @@ -315,11 +339,11 @@ }, { "path": "IAvnGrid.g.cs", - "sha256": "dc657cbc69548c23cc9323b0b420f65370366147753fa2bb6ffc30144491da68" + "sha256": "7454a3819c730c3ce65e84e0c923321d052bdc231f8aabb178df4b522e4db447" }, { "path": "IAvnGridSplitter.g.cs", - "sha256": "3a40de1ca8f994ec3d91d083bed2d14647185adfdfabb5e2e51eea0ec79040b7" + "sha256": "5e6334c8f2a7d6a7775b3ad3221780e061722c27ff7ad43dd1d555377e1cb113" }, { "path": "IAvnGridStatics.g.cs", @@ -327,31 +351,31 @@ }, { "path": "IAvnGroupBox.g.cs", - "sha256": "8d3ac22d1adc8e41f1d4225845caa309f3b457944c3c7a7dc46b9453f828e645" + "sha256": "012d9f818c079bac409b8f8519ea5a80be7cee39203bda026db438dbfc0b9e78" }, { "path": "IAvnHeaderedContentControl.g.cs", - "sha256": "a03bf91738cb9ddff0c9f12447b745766f3dbf13712a8bf0f40e55c7dc984a11" + "sha256": "27ebce6e0bdf190e7ef92b71b5d7805ea93cc67acde7b95c71dcb3b29de0d716" }, { "path": "IAvnHeaderedItemsControl.g.cs", - "sha256": "598ecbd41eed14b65199417cbd5d7e19310c5a44f232b6a81889704b99d71f14" + "sha256": "fc1889a6dffdbc040c6c6fd829c8da548999dcc015fcc8b807b8dcadf7052928" }, { "path": "IAvnHeaderedSelectingItemsControl.g.cs", - "sha256": "6f2058756b7f1f17faa2d1cc3da8ef76596e435ae05edb75adb2116e9018a999" + "sha256": "19fdb41e38293a3058e8862d099c3ebe68ca2d9d418a83d4d2feb52a5e77baaa" }, { "path": "IAvnHyperlinkButton.g.cs", - "sha256": "009653523b1cbb1d9f26d1f10af36662493ecc50e911773899a45a77f994cb15" + "sha256": "4f6a3119695361f09b85c81a7c9ffb79b0b0efec9737f37cc6e7f173429c0c7e" }, { "path": "IAvnIconElement.g.cs", - "sha256": "8570ceb12f28afb6e337127bbe2b317bc07d67c48c1e3561ba7f68c8e38e9b01" + "sha256": "d20c6c74f37643822d0e9166822c580191299c2e841c56f0531bfe584411a9d4" }, { "path": "IAvnImage.g.cs", - "sha256": "a078374c92658fbed3b03cb9c52c2b71286b1319cb21b5a6da927a8cbd979ab7" + "sha256": "1224a47af364f1ae4d6aa9ac18e0b1b269d877c8e66fe1cfc7f3a4b16a4fa638" }, { "path": "IAvnItemList.g.cs", @@ -359,39 +383,39 @@ }, { "path": "IAvnItemsControl.g.cs", - "sha256": "58826137b148c1c8b9f45aa6d0e2981f8258fa613e1ba9fe41c36c79400cc70f" + "sha256": "0975455292c73f892f3ae86ffeebc5655e7c61d9c5338eb699cba2fb3303871e" }, { "path": "IAvnLabel.g.cs", - "sha256": "6fe6f30b88d6c895310e5f7e2f8bed1c09fc8c910573d0ea096ae3cdf4553ebd" + "sha256": "27606811481f29c5636b6871a80c6aa1b9f8ba854f015f17e76f06fdd82a295b" }, { "path": "IAvnLayoutTransformControl.g.cs", - "sha256": "4a13dce5f3abc824990ba41093f43485a86c62f5c17b1d420365e0256959d437" + "sha256": "24aaa408e170e399306d61f2a4f4fe7d3e3aceff8c726ade8a7e9f2b321ae5ed" }, { "path": "IAvnLine.g.cs", - "sha256": "1a9665cc44fe50b5eaa3acca50afd3e8c911939d2e80846f2ecc874b28632067" + "sha256": "2325afd9e580e3744291543343c990b2a172341bb54fc86ca493fa2dae96d2bf" }, { "path": "IAvnListBox.g.cs", - "sha256": "b5cfd1d0673a227afad783ea8ebddd94abd5dc7173dc9f5ff419710a8045dc6c" + "sha256": "922ec3f6ac3eb868b7c52fe9458b72540e00e4ef514c086747ac1363063da931" }, { "path": "IAvnListBoxItem.g.cs", - "sha256": "72c726a605d4dfcf80d32c4bfd793fd5ad20a49c1d751e4788802c1b6291099c" + "sha256": "29110579bfbf27364f43175fe4334b490e2de1da0cd69f993c1a7d5eb8234940" }, { "path": "IAvnMaskedTextBox.g.cs", - "sha256": "c7e94917d4c63813619dc09c3c5935db256d600cd88796ee6cf9e19dfda63abc" + "sha256": "49afca44798be6ef527ba0602f81022cc38a96f939e660c206eefa3eb586783f" }, { "path": "IAvnMenu.g.cs", - "sha256": "42ca3033d02246c386ac4e653ec5d15a4b3cab69b3828d48b10d849385dc6c1e" + "sha256": "8976fec9cea9f37bd1a9e2db6dad4a1e211f05a5712bf1d777eb494e746f2216" }, { "path": "IAvnMenuBase.g.cs", - "sha256": "014eed75e3fbc261e299fcc563275a9288458711fcd9ab0500a41a1ccc4640ef" + "sha256": "71293d935e47aa3f91421740fc20f740296594bb881c28ac8466b6594f34730e" }, { "path": "IAvnMenuBaseClosedHandler.g.cs", @@ -407,7 +431,7 @@ }, { "path": "IAvnMenuItem.g.cs", - "sha256": "7a24a3d7cf2cf96fccfe56722a2c9da6d649a4342a79ddf4388d8b3184cfb471" + "sha256": "54d95d620186fb51820d1acc5fea022a2be4d11f935440e1d192f8e95a3dcef1" }, { "path": "IAvnMenuItemClickHandler.g.cs", @@ -423,7 +447,7 @@ }, { "path": "IAvnNotificationCard.g.cs", - "sha256": "d1a6f3e925f3b6fe58a33962b7d774b543ab25c8901727feb425b8efea6fdfaf" + "sha256": "7bfe0f57efb3faf751eaab55b65fe92d36a2d1c933c9b8f5e24779646246705d" }, { "path": "IAvnNotificationCardNotificationClosedHandler.g.cs", @@ -431,7 +455,7 @@ }, { "path": "IAvnNumericUpDown.g.cs", - "sha256": "8abc87664fe645c99438748a1f2a92c1a81b7fa3c995798ddb60bbaa26d09523" + "sha256": "b9eb8d91a93969af7323473d7e24ca2b965582f63f11b46026f0f6e71e1e320f" }, { "path": "IAvnNumericUpDownSpinnedHandler.g.cs", @@ -439,23 +463,23 @@ }, { "path": "IAvnNumericUpDownValueChangedHandler.g.cs", - "sha256": "9becd19a0ca1df6bfd0b9c858c2b05ede19d28f783461941373d8e94983959fd" + "sha256": "7f759b9baccf1a0c98d4c5783e3d5dea7d60e50c557354f3d4b24e751336d8e3" }, { "path": "IAvnPanel.g.cs", - "sha256": "22a0029f737e24708c749fd8683a8717a4dbcaf6f0d8d133a32cf1dbbabec97a" + "sha256": "23f271f40ed2b48be39b922df0b6f3513fd6bbc36550d90529051c7f0d9e41ce" }, { "path": "IAvnPath.g.cs", - "sha256": "3bef1e24d4e7e1474be698fe5e7696c22d8df13c41f97551ad5c1514dc7e9b17" + "sha256": "fc235b9360a7329a30e6f685faa667e508e343f54939e6cdfd21020f2f0af26b" }, { "path": "IAvnPathIcon.g.cs", - "sha256": "fe01de95ae12514ed529a0441d59e8d51c39e1aac6d7b93e9e22c5fb155de761" + "sha256": "90d16b24aa62c71045d21481e1ffe3b4e7ff65f3d923fc8b7a44f4aade9d79b3" }, { "path": "IAvnPipsPager.g.cs", - "sha256": "032a107f435761d27f7946930d41df132ad19be95ca1a310cb85afb01a022adc" + "sha256": "96f751be02d3cb9b995a7201e8433fc36343a745e1d2c0bb66a24c8a26ff04d8" }, { "path": "IAvnPipsPagerSelectedIndexChangedHandler.g.cs", @@ -463,15 +487,15 @@ }, { "path": "IAvnPolygon.g.cs", - "sha256": "690bf87e16b2a64df999f5e3d76e5bc3623dc717029385e11dde104461901bff" + "sha256": "5937a73857c8a024e1857c0345ad4390a5bbc8b8fa1545f68ab1598c0b941ee8" }, { "path": "IAvnPolyline.g.cs", - "sha256": "b43472481ac14f8565c6c2e0ce2300db603407961a2d68b19cacb1813c476d64" + "sha256": "edfcfc9b9eaea88a6fc5deea161f5fcf1232f8a62343a2601395ddc43621fa37" }, { "path": "IAvnPopup.g.cs", - "sha256": "591223ebea51227778c11141d841b402e4d4e4800d3e7d450bb97193f746588d" + "sha256": "f78224f32e4710af43cc8f67fdaec0dab5973c638511757a0bfddfc1be0288e7" }, { "path": "IAvnPopupClosedHandler.g.cs", @@ -495,27 +519,27 @@ }, { "path": "IAvnProgressBar.g.cs", - "sha256": "6750e0644e98fe809333a1f39dcbddb07fa26d43dbe63f907dcd14c8c8da7058" + "sha256": "53fd7d42021c311ef40fa06c43ac5039d7b9213d646b523b6fc0a815b2b0f1da" }, { "path": "IAvnRadioButton.g.cs", - "sha256": "cf816262a98c157f64ded99510fb83e2af0b5bd59a3b5fa4a00b5c328e610bcd" + "sha256": "0ca82f80529567ee5a431b382007eb442fa6b3396a4f752a1bc8ccb6d4ed4f17" }, { "path": "IAvnRangeBase.g.cs", - "sha256": "31a161e0b4e367d37276b0fb185281f3fa537fb40b89a6b196256f3eb32283a5" + "sha256": "a7a3065b908d47d94ee4b80ded9fc25dc3a23d86ec698d613192768c822b0a86" }, { "path": "IAvnRangeBaseValueChangedHandler.g.cs", - "sha256": "33ffa6b1abdc3eb6d61b66c55eb107905272e0a0cf0629ec039d3c34d04094b6" + "sha256": "7907d0cc1291c5b40c079e95265c55826fc1c3f3f40c2a401a00b6750cd842fc" }, { "path": "IAvnRectangle.g.cs", - "sha256": "db506b168e776f3ab4503511a0649893d63356b7fd303180e105a6f5f6a73d2f" + "sha256": "f418a458349ec6d2b9c09bea6011c8d7f1c2919331518ad4e327b59303d101de" }, { "path": "IAvnRefreshContainer.g.cs", - "sha256": "552d5713fa1c0a279373a66b8199b16879dadfc5d3ddad23f05f2a11d7b4a083" + "sha256": "67a46c1cba92690fd2d49ac4f45abf514dbaf57c3861e8a4cc87e59284aa82e7" }, { "path": "IAvnRefreshContainerRefreshRequestedHandler.g.cs", @@ -523,7 +547,7 @@ }, { "path": "IAvnRelativePanel.g.cs", - "sha256": "1fea4e93fc172deff8f26887a97cbb9b04ac3def99cd30d7f7d6be6e7a49b250" + "sha256": "a865c89796e6ad943f0dfd8fc6db716daa6af4d4b2699bd05fdfb7ab115855e3" }, { "path": "IAvnRelativePanelStatics.g.cs", @@ -531,11 +555,11 @@ }, { "path": "IAvnRepeatButton.g.cs", - "sha256": "272ea31c7d619dda2399bed6224433af503a5924533fc60595f380dd23f4b7fe" + "sha256": "0e6b71ccb689f728dce351520514b41434c62e925df6338be56196156139d50f" }, { "path": "IAvnScrollViewer.g.cs", - "sha256": "194bef1f63869856fffb597b42c435687d95411b00998d75d02eb1d6ba62a213" + "sha256": "3d14db2c119c494fb8731e439f83cae3d76f249d7b218480a741f529c05c4537" }, { "path": "IAvnScrollViewerScrollChangedHandler.g.cs", @@ -543,11 +567,11 @@ }, { "path": "IAvnSector.g.cs", - "sha256": "c343262c56d93a33284df114670c6a9e74c00d8b6fe29121d59ae5de539b29af" + "sha256": "ed43a68670b29d34842d7cdb946e39df8e58c7b9d3a33dd65757c5286229bdad" }, { "path": "IAvnSelectableTextBlock.g.cs", - "sha256": "cbe1e9113f8f97a92640ea2334b597224fa6cf9de4cb0373dfed90b52566c728" + "sha256": "fe23a1791ce3e725b5dbc28b4f91f432bff3a5349de5ca585848ea64393e22da" }, { "path": "IAvnSelectableTextBlockCopyingToClipboardHandler.g.cs", @@ -559,27 +583,27 @@ }, { "path": "IAvnSelectingItemsControl.g.cs", - "sha256": "3cf409bc49a05c89847845b9bf2a273b7356a42b021ead86e572c83b9d0b7ab2" + "sha256": "a4a0e86f83dba5828a22dc0732a786bd29bf1151b01ff3e05e082adf4df66b16" }, { "path": "IAvnSelectingItemsControlSelectionChangedHandler.g.cs", - "sha256": "4cae2baaa187b918a00b828e5e9778170b1288283dfc551737afc447658503df" + "sha256": "e991504e74d731418b19868ecee9edfd62c4e342aa59a8979b6b7b13a4fc7856" }, { "path": "IAvnSeparator.g.cs", - "sha256": "096179351875e2648923a249660bf34fb660259460342684a0b47d665e269b1b" + "sha256": "88bb1b9bc22a7ffd6488aa32a5dec48c9d92a15d93ac0042323464a74c4b5699" }, { "path": "IAvnShape.g.cs", - "sha256": "7e6666c36266a9e1423199a058ba2005b9fb700ea2858a6d0bfdb7cd3c021c0b" + "sha256": "7d5c3f6893e2fc53ac11f6b89ae3bd098e3156c9d1ebb125b3f5265e69c8d8a6" }, { "path": "IAvnSlider.g.cs", - "sha256": "22a164334a903b4249c5bade1bea5b468e4bbaec0840f414d5c0ba07c4cb859e" + "sha256": "011cc94cf97a5d987e82c0a5d0a0402bacc0fa1cdb13a6c9e7c309214ef69cf3" }, { "path": "IAvnSpinner.g.cs", - "sha256": "5af8f13b3a84a2b5a2b600c07c46f66a02e2d8b95147bbe1819da14af3236724" + "sha256": "7a5976ad4798646874bfd5c7a9efb167f79646301c08a1ca352b41d02bbfd6d6" }, { "path": "IAvnSpinnerSpinHandler.g.cs", @@ -587,7 +611,7 @@ }, { "path": "IAvnSplitButton.g.cs", - "sha256": "faf86530faa1083290c2aae0583e13bc816fbb129336f26f7388afdad53f6101" + "sha256": "d44ed0ffb7a0f6d16fec418e62715f6fde6c5471768dac14ad79c44c8c9f08d2" }, { "path": "IAvnSplitButtonClickHandler.g.cs", @@ -595,7 +619,7 @@ }, { "path": "IAvnSplitView.g.cs", - "sha256": "73e61c5ad47bfbbd4927832c213449b23804ffb051097d8c8f188fca6d2d447f" + "sha256": "8f36899220cf8440bb98bff13f55d34194e4814711da0b25781141b7dfc07801" }, { "path": "IAvnSplitViewPaneClosedHandler.g.cs", @@ -615,7 +639,7 @@ }, { "path": "IAvnStackPanel.g.cs", - "sha256": "6391c33268fb7e921dadf1dcdead13629caf8e0a2295f6040037bb4f94d10272" + "sha256": "5e04aab867a33da9770c8c922079a9795208c8983f08c43cfbb810f2ce29a56e" }, { "path": "IAvnStringList.g.cs", @@ -651,19 +675,19 @@ }, { "path": "IAvnTabControl.g.cs", - "sha256": "78d1cb91ca9d95b464edbc837e053ecb0a0b8567f2a3b093e527f1384c369090" + "sha256": "0579dacc0253cbcf140404782fe90ea7ef1d020ed5910efbbd9126366a87526d" }, { "path": "IAvnTabItem.g.cs", - "sha256": "9e7ca461d2aff8a0724dc611f549b6988f551c9ee090ee369c911dbc4e3eccb1" + "sha256": "6c4052bcbae857dc875f4fbae638def215d96ed3b3d8df1eb13bd8cdc15bc9b0" }, { "path": "IAvnTableView.g.cs", - "sha256": "0558cfb03d0cb8a994e34826c5ce5107b1722da38f6b361cdc11a0033c0e51b5" + "sha256": "3fb60c1c96e940e291770f68f966f2d763e863d3df5a378df3ee136ec54a3e49" }, { "path": "IAvnTableViewCell.g.cs", - "sha256": "30cad4cc82f06b89f620bca8a3bd362f76be4a5d5a44c62fca9f5c8b4809ec32" + "sha256": "f1dcc70e28d67011b1bd636888e61304b9d9f7da2f569d407a165cbe11e9e346" }, { "path": "IAvnTableViewColumn.g.cs", @@ -671,19 +695,19 @@ }, { "path": "IAvnTableViewRow.g.cs", - "sha256": "91bd6ae3f4da55e9a473e44d4d6e6e50ceec91ca20fcb1114572fb3cb92a0af4" + "sha256": "bc72771e6a88c2ebcd9a8a36effcd0f2b1a12e613fbdcc00bc6f145633a48d43" }, { "path": "IAvnTemplatedControl.g.cs", - "sha256": "f8d9df6840076db806935a8519abf31b6c3369e7194937fd870241c1c44278b0" + "sha256": "25163bdcfa3e98ca3a61e7d10a9483c57521d6639d29b3904022d3078dd61d24" }, { "path": "IAvnTextBlock.g.cs", - "sha256": "fa3d4dc2cb40892612c595f86e415a619fc23d133fcaef5ba6ee11859f99aa43" + "sha256": "8b786ca8df751727ab64c4702cec0ce5aad200e14727046d39140d802406fe8f" }, { "path": "IAvnTextBox.g.cs", - "sha256": "20d5eeb221afcb9264aa78172ed5437def531ffecaca18eb2fd3711507f51399" + "sha256": "6e45247b03594f39d816ffd23b80e1c5be30b18cf5a4336eef571dac4370186a" }, { "path": "IAvnTextBoxCopyingToClipboardHandler.g.cs", @@ -707,11 +731,11 @@ }, { "path": "IAvnThemeVariantScope.g.cs", - "sha256": "41e18d283f253862ef215ce36ba30adfbe2369038974700baa3689c7545ea8ab" + "sha256": "29fa26948c0501a53aa7b61e9cf792f15ce86814db984ffe9c18027288b8d57d" }, { "path": "IAvnThumb.g.cs", - "sha256": "024cdb96ff4164e79bb5414ff08e334d352c915977f70ccf7759c1d656e1a12f" + "sha256": "6bdebdb9a78e38b3c72a569531e7bda268518c5f1aa416c2e59009ab6224b28e" }, { "path": "IAvnThumbDragCompletedHandler.g.cs", @@ -727,7 +751,7 @@ }, { "path": "IAvnTimePicker.g.cs", - "sha256": "fa0a06e02dc51c2acbaccdd821c2946c5665b1807e3e0c0dec21313cfe6ac1d4" + "sha256": "c2df238b0b786754d344930aa3c7206b0996ed7ca110ca47050aad738eec2e8d" }, { "path": "IAvnTimePickerSelectedTimeChangedHandler.g.cs", @@ -735,7 +759,7 @@ }, { "path": "IAvnToggleButton.g.cs", - "sha256": "15c556ef23f2893bba1d624ab58b7fcff9b8cfe999675659ed89613b11ebd030" + "sha256": "05a4e0496706f032e15698ff35e7ba84ee4a86fc9887e479bea57fa3646ccf11" }, { "path": "IAvnToggleButtonIsCheckedChangedHandler.g.cs", @@ -743,7 +767,7 @@ }, { "path": "IAvnToggleSplitButton.g.cs", - "sha256": "6cbec36127112fc5fd38533e84a6f383861e09dc90dd92e125a453aa3160189c" + "sha256": "9be104b557e92ea5af2a03690e4813363a71b3afed5883d889ea9e9bcc93a737" }, { "path": "IAvnToggleSplitButtonIsCheckedChangedHandler.g.cs", @@ -751,11 +775,11 @@ }, { "path": "IAvnToggleSwitch.g.cs", - "sha256": "0bef03f0aea59b43d00203f2e1c427b7805f81a33fd84797804841409f9d8b9d" + "sha256": "14d3d4d19e855bcd874192f1736ab104b195c4de677b596f6e959c474cd4b0b8" }, { "path": "IAvnToolTip.g.cs", - "sha256": "3506635f21f669f8b3ffcbed985159d17b46ae602812ecb1332957c8118f13a2" + "sha256": "4a499259a9c6054d75f1c777d302be1982e357a73f88cae5d2667d6a3b6fac89" }, { "path": "IAvnToolTipStatics.g.cs", @@ -763,7 +787,7 @@ }, { "path": "IAvnTransitioningContentControl.g.cs", - "sha256": "2b159ba0d27f1aaa9b795f0d6b054eb7497f4a2e7e0028bf758354afff4d4dc2" + "sha256": "8c0446b5019c4b4e3f7c4fed39da553e7910208806e3d9eabdb705b3012076b4" }, { "path": "IAvnTransitioningContentControlTransitionCompletedHandler.g.cs", @@ -779,11 +803,11 @@ }, { "path": "IAvnTreeView.g.cs", - "sha256": "e511f48ca6f83685ae570b7f10ea11203e98bfe5f6686fb5db5c8f54148fc8d5" + "sha256": "106fd13fbbeb42a06c3c9f6b17c14823658089d1bcfdbc1a395893ca47fc607a" }, { "path": "IAvnTreeViewItem.g.cs", - "sha256": "60b2e912018528c8e4b210a00cfe89a362516f27df83968fdac55c815c58a9f0" + "sha256": "1a9a7ec479dd0bc186de56bcbd62d7606063efa7521d50010b33d71ae45f947d" }, { "path": "IAvnTreeViewItemCollapsedHandler.g.cs", @@ -795,15 +819,15 @@ }, { "path": "IAvnTreeViewSelectionChangedHandler.g.cs", - "sha256": "b12b8768eac176770ba3afa59846d31cb1fda1bf8815372f0b7e01c05a08c8cc" + "sha256": "01b826adb47611cb9281d075c7c397c6615a05a0e4a571bc665a4cca2b3e8655" }, { "path": "IAvnUniformGrid.g.cs", - "sha256": "9bea5d2135ba8aeec70ec4d72be3aead2424fc5823fcaa7c162705ea6be3af01" + "sha256": "f026632e46c72f856075c50ad8ca5bae288dbf9022e6380c397a116ae4ba452f" }, { "path": "IAvnUserControl.g.cs", - "sha256": "155e77dcd2abee2cf2a9ffecd98ce841fd3ba70ec16d62cc11e7d57b6e1adbcd" + "sha256": "9a26c05cfb34644014a601f6a45c161025116868675eccdcc09a572a0eb2c3c1" }, { "path": "IAvnVariantList.g.cs", @@ -811,11 +835,11 @@ }, { "path": "IAvnViewbox.g.cs", - "sha256": "4e025bc31e0a358bc8710b2e952f0f838564f214207aa8586d8745fd82379795" + "sha256": "0d9fe54d76a203a6399567f1264dffaf64e1c74af3d3d43cd7bac5930686ae54" }, { "path": "IAvnWindow.g.cs", - "sha256": "c9153c57041331265ecca0e7c35f35131768819bb7eae89a2e5905dd5f85cddd" + "sha256": "58fc4e7e8363d734b81f22fcec467782d09782b3949acb77f6f48202a962f46f" }, { "path": "IAvnWindowClosingHandler.g.cs", @@ -823,11 +847,11 @@ }, { "path": "IAvnWindowNotificationManager.g.cs", - "sha256": "e52935ea45263f5c45745cd3ff003f85be2ddda1e4430dfe3cc97bb86566d0f1" + "sha256": "045ed08dfb347d9d10b4bb473ba2832ef9d0a99b87ee2f2e307c8e7a829885e6" }, { "path": "IAvnWrapPanel.g.cs", - "sha256": "aa430137c7221d737ae2652b78883575a409f8770725dc2dd2c17b1f4977025e" + "sha256": "de88b27dc869fe6b6544fa236ffe2d0751c09559cd435537a9fc08c4756a6b77" }, { "path": "ProjectionAotRoots.g.cs", diff --git a/host/Generated/ObjectModel/IAvnArc.g.cs b/host/Generated/ObjectModel/IAvnArc.g.cs index ee3dcc5..076fe31 100644 --- a/host/Generated/ObjectModel/IAvnArc.g.cs +++ b/host/Generated/ObjectModel/IAvnArc.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("80597080-EEDD-5CAA-B4F1-88D78CA23B79")] +[Guid("2DACA1F8-5364-5CB5-B471-81682B00E389")] public partial interface IAvnArc : IAvnShape { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnArc : IAvnArc private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnArc(global::Avalonia.Controls.Shapes.Arc value) { @@ -959,6 +971,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -990,6 +1033,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1128,6 +1187,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,6 +1327,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,7 +1387,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1234,7 +1433,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1268,6 +1467,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetFill(out IAvnBrush? value) { value = default; @@ -1665,12 +2002,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1683,5 +2038,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnAutoCompleteBox.g.cs b/host/Generated/ObjectModel/IAvnAutoCompleteBox.g.cs index d797ed2..734a172 100644 --- a/host/Generated/ObjectModel/IAvnAutoCompleteBox.g.cs +++ b/host/Generated/ObjectModel/IAvnAutoCompleteBox.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("92CEFC39-4E40-5193-893F-F3E2C77ED24C")] +[Guid("6D1670C7-0D52-5BB1-8289-6C2617B74A6C")] public partial interface IAvnAutoCompleteBox : IAvnTemplatedControl { [PreserveSig] @@ -221,12 +221,24 @@ public sealed partial class AvnAutoCompleteBox : IAvnAutoCompleteBox private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _textChangedSubscriptions = new(); private long _nextTextChangedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _populatingSubscriptions = new(); @@ -1149,6 +1161,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1180,6 +1223,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1318,6 +1377,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1366,6 +1517,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1378,7 +1577,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1424,7 +1623,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1458,6 +1657,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -3039,12 +3376,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -3057,6 +3412,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _textChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnBorder.g.cs b/host/Generated/ObjectModel/IAvnBorder.g.cs index 7d53c87..0162400 100644 --- a/host/Generated/ObjectModel/IAvnBorder.g.cs +++ b/host/Generated/ObjectModel/IAvnBorder.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("80C1079E-AFDF-5483-A560-2DDB475CF894")] +[Guid("430F4A36-8B46-5F3C-8E4D-BD11AA522969")] public partial interface IAvnBorder : IAvnDecorator { [PreserveSig] @@ -74,12 +74,24 @@ public sealed partial class AvnBorder : IAvnBorder private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnBorder(global::Avalonia.Controls.Border value) { @@ -986,6 +998,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1017,6 +1060,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1155,6 +1214,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1203,6 +1354,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1215,7 +1414,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1261,7 +1460,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1295,6 +1494,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChild(out IAvnControl? value) { value = default; @@ -1615,12 +1952,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1633,5 +1988,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnButton.g.cs b/host/Generated/ObjectModel/IAvnButton.g.cs index bdc6215..43c1e7d 100644 --- a/host/Generated/ObjectModel/IAvnButton.g.cs +++ b/host/Generated/ObjectModel/IAvnButton.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("62D66949-2173-5007-9613-1F4B3E7C144E")] +[Guid("085861C8-F91D-5AFE-B57A-E601477FC2D2")] public partial interface IAvnButton : IAvnContentControl { [PreserveSig] @@ -86,12 +86,24 @@ public sealed partial class AvnButton : IAvnButton private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); private long _nextClickSubscriptionId; @@ -1000,6 +1012,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1031,6 +1074,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1169,6 +1228,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1217,6 +1368,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1229,7 +1428,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1275,7 +1474,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1309,6 +1508,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2202,12 +2539,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2220,6 +2575,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _clickSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnButtonSpinner.g.cs b/host/Generated/ObjectModel/IAvnButtonSpinner.g.cs index 2324351..1e9f75f 100644 --- a/host/Generated/ObjectModel/IAvnButtonSpinner.g.cs +++ b/host/Generated/ObjectModel/IAvnButtonSpinner.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("046C4736-CECE-5455-98A8-F2DD3C84C846")] +[Guid("907404D5-1DE4-574D-990E-2D8A79373D6D")] public partial interface IAvnButtonSpinner : IAvnSpinner { [PreserveSig] @@ -53,12 +53,24 @@ public sealed partial class AvnButtonSpinner : IAvnButtonSpinner private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _spinSubscriptions = new(); private long _nextSpinSubscriptionId; @@ -967,6 +979,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -998,6 +1041,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1136,6 +1195,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1184,6 +1335,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1196,7 +1395,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1242,7 +1441,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1276,6 +1475,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2060,12 +2397,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2078,6 +2433,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _spinSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnCalendar.g.cs b/host/Generated/ObjectModel/IAvnCalendar.g.cs index dbbb56d..8d71dae 100644 --- a/host/Generated/ObjectModel/IAvnCalendar.g.cs +++ b/host/Generated/ObjectModel/IAvnCalendar.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("F1D659B7-93E5-5093-9D16-C480F7520E14")] +[Guid("2ECA7A03-1AA5-5FC5-B1CC-7ECDDCF200D1")] public partial interface IAvnCalendar : IAvnTemplatedControl { [PreserveSig] @@ -131,12 +131,24 @@ public sealed partial class AvnCalendar : IAvnCalendar private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectedDatesChangedSubscriptions = new(); private long _nextSelectedDatesChangedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _displayDateChangedSubscriptions = new(); @@ -1049,6 +1061,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1080,6 +1123,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1218,6 +1277,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1266,6 +1417,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1278,7 +1477,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1324,7 +1523,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1358,6 +1557,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2392,12 +2729,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2410,6 +2765,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectedDatesChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnCalendarDatePicker.g.cs b/host/Generated/ObjectModel/IAvnCalendarDatePicker.g.cs index b27fe39..7ad5467 100644 --- a/host/Generated/ObjectModel/IAvnCalendarDatePicker.g.cs +++ b/host/Generated/ObjectModel/IAvnCalendarDatePicker.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("DC5958DB-F3AD-5B9F-9C86-7B66DD3D2429")] +[Guid("3CB1E562-6FEB-5E8B-A79A-9C1B3DB4AE62")] public partial interface IAvnCalendarDatePicker : IAvnTemplatedControl { [PreserveSig] @@ -167,12 +167,24 @@ public sealed partial class AvnCalendarDatePicker : IAvnCalendarDatePicker private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _calendarClosedSubscriptions = new(); private long _nextCalendarClosedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _calendarOpenedSubscriptions = new(); @@ -1087,6 +1099,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1118,6 +1161,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1256,6 +1315,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1304,6 +1455,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1316,7 +1515,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1362,7 +1561,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1396,6 +1595,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2632,12 +2969,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2650,6 +3005,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _calendarClosedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnCanvas.g.cs b/host/Generated/ObjectModel/IAvnCanvas.g.cs index 000d9bf..0650c2f 100644 --- a/host/Generated/ObjectModel/IAvnCanvas.g.cs +++ b/host/Generated/ObjectModel/IAvnCanvas.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("D9F89602-BD30-55F3-84C5-69EF65A6D0DA")] +[Guid("DB97347A-FE7E-5006-93B7-E4B555A261A9")] public partial interface IAvnCanvas : IAvnPanel { } @@ -35,12 +35,24 @@ public sealed partial class AvnCanvas : IAvnCanvas private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnCanvas(global::Avalonia.Controls.Canvas value) { @@ -947,6 +959,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -978,6 +1021,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1116,6 +1175,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1164,6 +1315,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,7 +1375,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1222,7 +1421,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1256,6 +1455,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChildren(out IAvnControlList? value) { value = default; @@ -1359,12 +1696,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1377,5 +1732,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnCarousel.g.cs b/host/Generated/ObjectModel/IAvnCarousel.g.cs index 89d719e..e3d3365 100644 --- a/host/Generated/ObjectModel/IAvnCarousel.g.cs +++ b/host/Generated/ObjectModel/IAvnCarousel.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("14D0DA2B-D8DF-5816-8B51-455DCF738DF0")] +[Guid("062C586F-DB97-53CF-8DC3-A2F159E0BD23")] public partial interface IAvnCarousel : IAvnSelectingItemsControl { [PreserveSig] @@ -56,12 +56,24 @@ public sealed partial class AvnCarousel : IAvnCarousel private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectionChangedSubscriptions = new(); private long _nextSelectionChangedSubscriptionId; @@ -970,6 +982,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1001,6 +1044,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1139,6 +1198,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1187,6 +1338,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1199,7 +1398,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1245,7 +1444,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1279,6 +1478,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2099,7 +2436,9 @@ public int AdviseSelectionChanged(IAvnSelectingItemsControlSelectionChangedHandl var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var args = new AvnSelectingItemsControlSelectionChangedArgs(new global::System.Collections.IEnumerable?[] + {eventArgs.AddedItems, eventArgs.RemovedItems}); + var hr = handler.Invoke(args); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2297,12 +2636,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2315,6 +2672,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectionChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnCheckBox.g.cs b/host/Generated/ObjectModel/IAvnCheckBox.g.cs index 4a3c2a6..a5eb910 100644 --- a/host/Generated/ObjectModel/IAvnCheckBox.g.cs +++ b/host/Generated/ObjectModel/IAvnCheckBox.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("2D002AFC-AAFB-5C2D-B747-D08DF78AC852")] +[Guid("7A084E79-BA86-55BF-A9E8-E7786F3D4242")] public partial interface IAvnCheckBox : IAvnToggleButton { } @@ -35,12 +35,24 @@ public sealed partial class AvnCheckBox : IAvnCheckBox private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); private long _nextClickSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _isCheckedChangedSubscriptions = new(); @@ -951,6 +963,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -982,6 +1025,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1120,6 +1179,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1168,6 +1319,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1180,7 +1379,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1226,7 +1425,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1260,6 +1459,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2261,12 +2598,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2279,6 +2634,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _clickSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnComboBox.g.cs b/host/Generated/ObjectModel/IAvnComboBox.g.cs index df2b423..7c27da8 100644 --- a/host/Generated/ObjectModel/IAvnComboBox.g.cs +++ b/host/Generated/ObjectModel/IAvnComboBox.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("86CA773B-56AB-521C-BA29-D2579C59F7F3")] +[Guid("1DA7FC0F-6D3F-5669-8644-030686AD4FD3")] public partial interface IAvnComboBox : IAvnSelectingItemsControl { [PreserveSig] @@ -95,12 +95,24 @@ public sealed partial class AvnComboBox : IAvnComboBox private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectionChangedSubscriptions = new(); private long _nextSelectionChangedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _dropDownClosedSubscriptions = new(); @@ -1013,6 +1025,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1044,6 +1087,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1182,6 +1241,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1230,6 +1381,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1242,7 +1441,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1288,7 +1487,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1322,6 +1521,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2142,7 +2479,9 @@ public int AdviseSelectionChanged(IAvnSelectingItemsControlSelectionChangedHandl var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var args = new AvnSelectingItemsControlSelectionChangedArgs(new global::System.Collections.IEnumerable?[] + {eventArgs.AddedItems, eventArgs.RemovedItems}); + var hr = handler.Invoke(args); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2572,12 +2911,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2590,6 +2947,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectionChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnComboBoxItem.g.cs b/host/Generated/ObjectModel/IAvnComboBoxItem.g.cs index a3eb79d..63da94c 100644 --- a/host/Generated/ObjectModel/IAvnComboBoxItem.g.cs +++ b/host/Generated/ObjectModel/IAvnComboBoxItem.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("2B9D2E17-500A-56F0-A0DB-14B92FF28CCB")] +[Guid("2D2F584F-6CD6-59C9-B536-463E6CC21B72")] public partial interface IAvnComboBoxItem : IAvnListBoxItem { } @@ -35,12 +35,24 @@ public sealed partial class AvnComboBoxItem : IAvnComboBoxItem private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnComboBoxItem(global::Avalonia.Controls.ComboBoxItem value) { @@ -947,6 +959,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -978,6 +1021,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1116,6 +1175,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1164,6 +1315,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,7 +1375,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1222,7 +1421,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1256,6 +1455,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1901,12 +2238,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1919,5 +2274,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnCommandBar.g.cs b/host/Generated/ObjectModel/IAvnCommandBar.g.cs index e433f9b..9ffeb38 100644 --- a/host/Generated/ObjectModel/IAvnCommandBar.g.cs +++ b/host/Generated/ObjectModel/IAvnCommandBar.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("1A9B7C3D-4D24-5330-9F8F-D9D0BC712695")] +[Guid("19280D2B-7145-59DC-AD55-557541EC0147")] public partial interface IAvnCommandBar : IAvnTemplatedControl { [PreserveSig] @@ -137,12 +137,24 @@ public sealed partial class AvnCommandBar : IAvnCommandBar private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _openingSubscriptions = new(); private long _nextOpeningSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _openedSubscriptions = new(); @@ -1057,6 +1069,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1088,6 +1131,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1226,6 +1285,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1274,6 +1425,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1286,7 +1485,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1332,7 +1531,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1366,6 +1565,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2445,12 +2782,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2463,6 +2818,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _openingSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnCommandBarButton.g.cs b/host/Generated/ObjectModel/IAvnCommandBarButton.g.cs index fa1e448..5bdb58f 100644 --- a/host/Generated/ObjectModel/IAvnCommandBarButton.g.cs +++ b/host/Generated/ObjectModel/IAvnCommandBarButton.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("427EE3EA-2EA0-5FF8-B413-7D989D892604")] +[Guid("45F67F66-ADC9-5D8D-9D41-8749F537025E")] public partial interface IAvnCommandBarButton : IAvnButton { [PreserveSig] @@ -71,12 +71,24 @@ public sealed partial class AvnCommandBarButton : IAvnCommandBarButton private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); private long _nextClickSubscriptionId; @@ -985,6 +997,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1016,6 +1059,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1154,6 +1213,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1202,6 +1353,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1214,7 +1413,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1260,7 +1459,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1294,6 +1493,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2373,12 +2710,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2391,6 +2746,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _clickSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnCommandBarSeparator.g.cs b/host/Generated/ObjectModel/IAvnCommandBarSeparator.g.cs index e29a0ea..b8baf91 100644 --- a/host/Generated/ObjectModel/IAvnCommandBarSeparator.g.cs +++ b/host/Generated/ObjectModel/IAvnCommandBarSeparator.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("3D86A39E-0EC3-58FA-BE17-2F3CE4E95021")] +[Guid("7A5D6F68-43D8-5F3C-B7A3-09C4440A3EF7")] public partial interface IAvnCommandBarSeparator : IAvnSeparator { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnCommandBarSeparator : IAvnCommandBarSeparator private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnCommandBarSeparator(global::Avalonia.Controls.CommandBarSeparator value) { @@ -959,6 +971,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -990,6 +1033,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1128,6 +1187,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,6 +1327,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,7 +1387,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1234,7 +1433,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1268,6 +1467,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1820,12 +2157,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1838,5 +2193,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnCommandBarToggleButton.g.cs b/host/Generated/ObjectModel/IAvnCommandBarToggleButton.g.cs index f262e29..4eca4d8 100644 --- a/host/Generated/ObjectModel/IAvnCommandBarToggleButton.g.cs +++ b/host/Generated/ObjectModel/IAvnCommandBarToggleButton.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("7E7CC18B-4E66-5650-8FE4-1ACA445FA907")] +[Guid("3E3D29A6-520A-5B09-81E3-6395784D2C55")] public partial interface IAvnCommandBarToggleButton : IAvnToggleButton { [PreserveSig] @@ -71,12 +71,24 @@ public sealed partial class AvnCommandBarToggleButton : IAvnCommandBarToggleButt private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); private long _nextClickSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _isCheckedChangedSubscriptions = new(); @@ -987,6 +999,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1018,6 +1061,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1156,6 +1215,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1204,6 +1355,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1216,7 +1415,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1262,7 +1461,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1296,6 +1495,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2483,12 +2820,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2501,6 +2856,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _clickSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnContentControl.g.cs b/host/Generated/ObjectModel/IAvnContentControl.g.cs index 311fdd5..ccb0fee 100644 --- a/host/Generated/ObjectModel/IAvnContentControl.g.cs +++ b/host/Generated/ObjectModel/IAvnContentControl.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("F3CE3FB2-CD2D-5839-81C7-3DF70C3AD2F5")] +[Guid("7312A513-1E46-5A98-9507-851220C7A465")] public partial interface IAvnContentControl : IAvnTemplatedControl { [PreserveSig] @@ -59,12 +59,24 @@ public sealed partial class AvnContentControl : IAvnContentControl private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnContentControl(global::Avalonia.Controls.ContentControl value) { @@ -971,6 +983,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1002,6 +1045,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1140,6 +1199,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,6 +1339,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1200,7 +1399,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1246,7 +1445,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1280,6 +1479,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1894,12 +2231,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1912,5 +2267,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnContextMenu.g.cs b/host/Generated/ObjectModel/IAvnContextMenu.g.cs index 16184a4..c93c83b 100644 --- a/host/Generated/ObjectModel/IAvnContextMenu.g.cs +++ b/host/Generated/ObjectModel/IAvnContextMenu.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("A5BAC0B5-5163-5500-8C58-629BE7DE3037")] +[Guid("58A98293-5AA3-59E4-AB2B-CE021C5A5CCA")] public partial interface IAvnContextMenu : IAvnMenuBase { [PreserveSig] @@ -110,12 +110,24 @@ public sealed partial class AvnContextMenu : IAvnContextMenu private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectionChangedSubscriptions = new(); private long _nextSelectionChangedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _openedSubscriptions = new(); @@ -1032,6 +1044,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1063,6 +1106,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1201,6 +1260,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1249,6 +1400,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1261,7 +1460,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1307,7 +1506,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1341,6 +1540,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2161,7 +2498,9 @@ public int AdviseSelectionChanged(IAvnSelectingItemsControlSelectionChangedHandl var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var args = new AvnSelectingItemsControlSelectionChangedArgs(new global::System.Collections.IEnumerable?[] + {eventArgs.AddedItems, eventArgs.RemovedItems}); + var hr = handler.Invoke(args); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2810,12 +3149,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2828,6 +3185,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectionChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnControl.g.cs b/host/Generated/ObjectModel/IAvnControl.g.cs index 35c929c..599d434 100644 --- a/host/Generated/ObjectModel/IAvnControl.g.cs +++ b/host/Generated/ObjectModel/IAvnControl.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("06D79016-63D8-5035-B293-19969F0BB3C6")] +[Guid("8B272500-09E4-535F-ABF1-14992E90E778")] public partial interface IAvnControl : IAvnStyledElement { [PreserveSig] @@ -97,12 +97,21 @@ public partial interface IAvnControl : IAvnStyledElement [PreserveSig] int SetVerticalAlignment(int value); + [PreserveSig] + int GetFocusable(out int value); + + [PreserveSig] + int SetFocusable(int value); + [PreserveSig] int GetIsEnabled(out int value); [PreserveSig] int SetIsEnabled(int value); + [PreserveSig] + int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value); + [PreserveSig] int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId); @@ -121,12 +130,30 @@ public partial interface IAvnControl : IAvnStyledElement [PreserveSig] int UnadviseSizeChanged(long subscriptionId); + [PreserveSig] + int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId); + + [PreserveSig] + int UnadviseGotFocus(long subscriptionId); + + [PreserveSig] + int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId); + + [PreserveSig] + int UnadviseLostFocus(long subscriptionId); + [PreserveSig] int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId); [PreserveSig] int UnadviseKeyDown(long subscriptionId); + [PreserveSig] + int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId); + + [PreserveSig] + int UnadviseKeyUp(long subscriptionId); + [PreserveSig] int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId); @@ -139,6 +166,24 @@ public partial interface IAvnControl : IAvnStyledElement [PreserveSig] int UnadvisePointerExited(long subscriptionId); + [PreserveSig] + int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId); + + [PreserveSig] + int UnadvisePointerWheelChanged(long subscriptionId); + + [PreserveSig] + int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId); + + [PreserveSig] + int UnadviseTapped(long subscriptionId); + + [PreserveSig] + int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId); + + [PreserveSig] + int UnadviseDoubleTapped(long subscriptionId); + } [GeneratedComClass] @@ -164,12 +209,24 @@ public sealed partial class AvnControl : IAvnControl private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnControl(global::Avalonia.Controls.Control value) { @@ -1076,6 +1133,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1107,6 +1195,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1245,6 +1349,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1293,6 +1489,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1305,7 +1549,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1351,7 +1595,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1385,6 +1629,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + private void ReleaseSubscriptions() { foreach (var subscription in _attachedToLogicalTreeSubscriptions.Values) @@ -1441,12 +1823,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1459,5 +1859,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnControlDoubleTappedHandler.g.cs b/host/Generated/ObjectModel/IAvnControlDoubleTappedHandler.g.cs new file mode 100644 index 0000000..a2a5639 --- /dev/null +++ b/host/Generated/ObjectModel/IAvnControlDoubleTappedHandler.g.cs @@ -0,0 +1,14 @@ +// +#nullable enable +using System.Runtime.InteropServices; +using System.Runtime.InteropServices.Marshalling; + +namespace Avalonia.Host.Com; + +[GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] +[Guid("11D5E069-AEFD-566B-92CC-CDB483877C33")] +public partial interface IAvnControlDoubleTappedHandler +{ + [PreserveSig] + int Invoke(); +} diff --git a/host/Generated/ObjectModel/IAvnControlGotFocusHandler.g.cs b/host/Generated/ObjectModel/IAvnControlGotFocusHandler.g.cs new file mode 100644 index 0000000..8311efe --- /dev/null +++ b/host/Generated/ObjectModel/IAvnControlGotFocusHandler.g.cs @@ -0,0 +1,14 @@ +// +#nullable enable +using System.Runtime.InteropServices; +using System.Runtime.InteropServices.Marshalling; + +namespace Avalonia.Host.Com; + +[GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] +[Guid("6621A073-4D3B-54C6-A32E-5701CDB745AD")] +public partial interface IAvnControlGotFocusHandler +{ + [PreserveSig] + int Invoke(int NavigationMethod, int KeyModifiers); +} diff --git a/host/Generated/ObjectModel/IAvnControlKeyUpHandler.g.cs b/host/Generated/ObjectModel/IAvnControlKeyUpHandler.g.cs new file mode 100644 index 0000000..756d12d --- /dev/null +++ b/host/Generated/ObjectModel/IAvnControlKeyUpHandler.g.cs @@ -0,0 +1,14 @@ +// +#nullable enable +using System.Runtime.InteropServices; +using System.Runtime.InteropServices.Marshalling; + +namespace Avalonia.Host.Com; + +[GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] +[Guid("B4FC3B9A-CF71-5EBB-9852-A46AEC80C6FE")] +public partial interface IAvnControlKeyUpHandler +{ + [PreserveSig] + int Invoke(int Key, int PhysicalKey, int KeyModifiers, string? KeySymbol, ref int Handled); +} diff --git a/host/Generated/ObjectModel/IAvnControlLostFocusHandler.g.cs b/host/Generated/ObjectModel/IAvnControlLostFocusHandler.g.cs new file mode 100644 index 0000000..b5de3bf --- /dev/null +++ b/host/Generated/ObjectModel/IAvnControlLostFocusHandler.g.cs @@ -0,0 +1,14 @@ +// +#nullable enable +using System.Runtime.InteropServices; +using System.Runtime.InteropServices.Marshalling; + +namespace Avalonia.Host.Com; + +[GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] +[Guid("BB0FBAD2-DB37-56AE-A3C2-73BC2030BD06")] +public partial interface IAvnControlLostFocusHandler +{ + [PreserveSig] + int Invoke(); +} diff --git a/host/Generated/ObjectModel/IAvnControlPointerEnteredHandler.g.cs b/host/Generated/ObjectModel/IAvnControlPointerEnteredHandler.g.cs index 4788397..c47215c 100644 --- a/host/Generated/ObjectModel/IAvnControlPointerEnteredHandler.g.cs +++ b/host/Generated/ObjectModel/IAvnControlPointerEnteredHandler.g.cs @@ -10,5 +10,5 @@ namespace Avalonia.Host.Com; public partial interface IAvnControlPointerEnteredHandler { [PreserveSig] - int Invoke(); + int Invoke(int KeyModifiers); } diff --git a/host/Generated/ObjectModel/IAvnControlPointerExitedHandler.g.cs b/host/Generated/ObjectModel/IAvnControlPointerExitedHandler.g.cs index b2accb1..9a49ab0 100644 --- a/host/Generated/ObjectModel/IAvnControlPointerExitedHandler.g.cs +++ b/host/Generated/ObjectModel/IAvnControlPointerExitedHandler.g.cs @@ -10,5 +10,5 @@ namespace Avalonia.Host.Com; public partial interface IAvnControlPointerExitedHandler { [PreserveSig] - int Invoke(); + int Invoke(int KeyModifiers); } diff --git a/host/Generated/ObjectModel/IAvnControlPointerWheelChangedHandler.g.cs b/host/Generated/ObjectModel/IAvnControlPointerWheelChangedHandler.g.cs new file mode 100644 index 0000000..cbe4a0a --- /dev/null +++ b/host/Generated/ObjectModel/IAvnControlPointerWheelChangedHandler.g.cs @@ -0,0 +1,14 @@ +// +#nullable enable +using System.Runtime.InteropServices; +using System.Runtime.InteropServices.Marshalling; + +namespace Avalonia.Host.Com; + +[GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] +[Guid("4318E60A-86C6-5142-8600-0D61AA20CE93")] +public partial interface IAvnControlPointerWheelChangedHandler +{ + [PreserveSig] + int Invoke(AvnVector Delta, int KeyModifiers); +} diff --git a/host/Generated/ObjectModel/IAvnControlTappedHandler.g.cs b/host/Generated/ObjectModel/IAvnControlTappedHandler.g.cs new file mode 100644 index 0000000..6eac2d3 --- /dev/null +++ b/host/Generated/ObjectModel/IAvnControlTappedHandler.g.cs @@ -0,0 +1,14 @@ +// +#nullable enable +using System.Runtime.InteropServices; +using System.Runtime.InteropServices.Marshalling; + +namespace Avalonia.Host.Com; + +[GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] +[Guid("7784D53F-FAEE-5089-8844-C9F5CC3E8632")] +public partial interface IAvnControlTappedHandler +{ + [PreserveSig] + int Invoke(int KeyModifiers); +} diff --git a/host/Generated/ObjectModel/IAvnDatePicker.g.cs b/host/Generated/ObjectModel/IAvnDatePicker.g.cs index ddc0d23..5ce85ea 100644 --- a/host/Generated/ObjectModel/IAvnDatePicker.g.cs +++ b/host/Generated/ObjectModel/IAvnDatePicker.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("5C7D5B90-EC20-5621-BE13-EADAB8A0701B")] +[Guid("2AAFC151-688F-5326-B651-D022BD55487D")] public partial interface IAvnDatePicker : IAvnTemplatedControl { [PreserveSig] @@ -104,12 +104,24 @@ public sealed partial class AvnDatePicker : IAvnDatePicker private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectedDateChangedSubscriptions = new(); private long _nextSelectedDateChangedSubscriptionId; @@ -1018,6 +1030,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1049,6 +1092,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1187,6 +1246,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1235,6 +1386,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1247,7 +1446,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1293,7 +1492,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1327,6 +1526,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2188,12 +2525,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2206,6 +2561,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectedDateChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnDecorator.g.cs b/host/Generated/ObjectModel/IAvnDecorator.g.cs index 850b7b3..0ec5e16 100644 --- a/host/Generated/ObjectModel/IAvnDecorator.g.cs +++ b/host/Generated/ObjectModel/IAvnDecorator.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("57E09C6B-A22C-5F01-B65C-E54C3DD55E6C")] +[Guid("F8530439-ABA5-5B16-9C0B-2132D4EFD205")] public partial interface IAvnDecorator : IAvnControl { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnDecorator : IAvnDecorator private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnDecorator(global::Avalonia.Controls.Decorator value) { @@ -959,6 +971,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -990,6 +1033,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1128,6 +1187,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,6 +1327,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,7 +1387,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1234,7 +1433,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1268,6 +1467,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChild(out IAvnControl? value) { value = default; @@ -1386,12 +1723,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1404,5 +1759,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnDockPanel.g.cs b/host/Generated/ObjectModel/IAvnDockPanel.g.cs index 35aa273..a3ab645 100644 --- a/host/Generated/ObjectModel/IAvnDockPanel.g.cs +++ b/host/Generated/ObjectModel/IAvnDockPanel.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("F0C3E239-81CB-544D-9CEF-73B1D04C1FB3")] +[Guid("63D1EF80-EEE5-50CA-B1A7-C6008560BFD3")] public partial interface IAvnDockPanel : IAvnPanel { [PreserveSig] @@ -53,12 +53,24 @@ public sealed partial class AvnDockPanel : IAvnDockPanel private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnDockPanel(global::Avalonia.Controls.DockPanel value) { @@ -965,6 +977,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -996,6 +1039,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1134,6 +1193,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1182,6 +1333,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1194,7 +1393,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1240,7 +1439,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1274,6 +1473,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChildren(out IAvnControlList? value) { value = default; @@ -1470,12 +1807,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1488,5 +1843,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnDropDownButton.g.cs b/host/Generated/ObjectModel/IAvnDropDownButton.g.cs index d07b342..33c0f21 100644 --- a/host/Generated/ObjectModel/IAvnDropDownButton.g.cs +++ b/host/Generated/ObjectModel/IAvnDropDownButton.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("7CDEF76D-7FD4-5552-B591-2D98140A7A63")] +[Guid("99F4E9B6-DAAC-55B1-AFDE-75D38A5C2491")] public partial interface IAvnDropDownButton : IAvnButton { } @@ -35,12 +35,24 @@ public sealed partial class AvnDropDownButton : IAvnDropDownButton private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); private long _nextClickSubscriptionId; @@ -949,6 +961,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -980,6 +1023,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1118,6 +1177,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1166,6 +1317,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1178,7 +1377,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1224,7 +1423,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1258,6 +1457,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2151,12 +2488,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2169,6 +2524,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _clickSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnEllipse.g.cs b/host/Generated/ObjectModel/IAvnEllipse.g.cs index de771a2..20fc802 100644 --- a/host/Generated/ObjectModel/IAvnEllipse.g.cs +++ b/host/Generated/ObjectModel/IAvnEllipse.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("613206FF-5917-53D8-A928-1BDE309FB7F1")] +[Guid("71442BCB-5E0D-53BF-B4C8-4BE39A9E1910")] public partial interface IAvnEllipse : IAvnShape { } @@ -35,12 +35,24 @@ public sealed partial class AvnEllipse : IAvnEllipse private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnEllipse(global::Avalonia.Controls.Shapes.Ellipse value) { @@ -947,6 +959,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -978,6 +1021,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1116,6 +1175,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1164,6 +1315,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,7 +1375,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1222,7 +1421,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1256,6 +1455,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetFill(out IAvnBrush? value) { value = default; @@ -1591,12 +1928,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1609,5 +1964,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnExpander.g.cs b/host/Generated/ObjectModel/IAvnExpander.g.cs index e4eaa64..616c3e2 100644 --- a/host/Generated/ObjectModel/IAvnExpander.g.cs +++ b/host/Generated/ObjectModel/IAvnExpander.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("24CFAB36-1C9D-5E25-AE07-E91DA6B3A21C")] +[Guid("014D8342-03F6-590B-AFF5-A82C0EB376BB")] public partial interface IAvnExpander : IAvnHeaderedContentControl { [PreserveSig] @@ -71,12 +71,24 @@ public sealed partial class AvnExpander : IAvnExpander private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _collapsedSubscriptions = new(); private long _nextCollapsedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _collapsingSubscriptions = new(); @@ -991,6 +1003,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1022,6 +1065,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1160,6 +1219,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1208,6 +1359,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1220,7 +1419,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1266,7 +1465,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1300,6 +1499,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2226,12 +2563,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2244,6 +2599,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _collapsedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnFlexPanel.g.cs b/host/Generated/ObjectModel/IAvnFlexPanel.g.cs index 6fe6bc4..24bdcdf 100644 --- a/host/Generated/ObjectModel/IAvnFlexPanel.g.cs +++ b/host/Generated/ObjectModel/IAvnFlexPanel.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("299F0D1D-2C19-5531-A4C9-327C784B297D")] +[Guid("82049C23-F315-5A82-86D9-845D8B82BA59")] public partial interface IAvnFlexPanel : IAvnPanel { [PreserveSig] @@ -77,12 +77,24 @@ public sealed partial class AvnFlexPanel : IAvnFlexPanel private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnFlexPanel(global::Avalonia.Controls.FlexPanel value) { @@ -989,6 +1001,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1020,6 +1063,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1158,6 +1217,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1206,6 +1357,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1218,7 +1417,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1264,7 +1463,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1298,6 +1497,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChildren(out IAvnControlList? value) { value = default; @@ -1618,12 +1955,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1636,5 +1991,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnGrid.g.cs b/host/Generated/ObjectModel/IAvnGrid.g.cs index 67eb8ce..35ae2ea 100644 --- a/host/Generated/ObjectModel/IAvnGrid.g.cs +++ b/host/Generated/ObjectModel/IAvnGrid.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("55E75D4C-FC75-51A9-BA87-6D28704EAFC8")] +[Guid("028C589C-2C52-5505-9CD2-36A25B4F43A6")] public partial interface IAvnGrid : IAvnPanel { [PreserveSig] @@ -65,12 +65,24 @@ public sealed partial class AvnGrid : IAvnGrid private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnGrid(global::Avalonia.Controls.Grid value) { @@ -977,6 +989,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1008,6 +1051,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1146,6 +1205,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1194,6 +1345,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1206,7 +1405,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1252,7 +1451,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1286,6 +1485,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChildren(out IAvnControlList? value) { value = default; @@ -1544,12 +1881,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1562,5 +1917,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnGridSplitter.g.cs b/host/Generated/ObjectModel/IAvnGridSplitter.g.cs index 553515b..05896bf 100644 --- a/host/Generated/ObjectModel/IAvnGridSplitter.g.cs +++ b/host/Generated/ObjectModel/IAvnGridSplitter.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("DBCA4F68-AFEE-5885-938A-194E7DE5C551")] +[Guid("135352FD-917A-577E-A428-D1B608274411")] public partial interface IAvnGridSplitter : IAvnThumb { [PreserveSig] @@ -65,12 +65,24 @@ public sealed partial class AvnGridSplitter : IAvnGridSplitter private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _dragStartedSubscriptions = new(); private long _nextDragStartedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _dragDeltaSubscriptions = new(); @@ -983,6 +995,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1014,6 +1057,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1152,6 +1211,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1200,6 +1351,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1212,7 +1411,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1258,7 +1457,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1292,6 +1491,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2075,12 +2412,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2093,6 +2448,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _dragStartedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnGroupBox.g.cs b/host/Generated/ObjectModel/IAvnGroupBox.g.cs index 881a69f..19d50bf 100644 --- a/host/Generated/ObjectModel/IAvnGroupBox.g.cs +++ b/host/Generated/ObjectModel/IAvnGroupBox.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("48EE658E-57F1-5550-AEB5-766477C616BD")] +[Guid("83F8FB71-5FB5-5C67-9EDA-9B1948172B9E")] public partial interface IAvnGroupBox : IAvnHeaderedContentControl { } @@ -35,12 +35,24 @@ public sealed partial class AvnGroupBox : IAvnGroupBox private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnGroupBox(global::Avalonia.Controls.GroupBox value) { @@ -947,6 +959,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -978,6 +1021,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1116,6 +1175,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1164,6 +1315,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,7 +1375,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1222,7 +1421,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1256,6 +1455,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1932,12 +2269,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1950,5 +2305,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnHeaderedContentControl.g.cs b/host/Generated/ObjectModel/IAvnHeaderedContentControl.g.cs index 107d708..8f4042a 100644 --- a/host/Generated/ObjectModel/IAvnHeaderedContentControl.g.cs +++ b/host/Generated/ObjectModel/IAvnHeaderedContentControl.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("326C8A38-FA42-51F4-9041-E7FD0FFFB696")] +[Guid("0408F0EA-5BA0-54C6-A8E6-979328FBE88C")] public partial interface IAvnHeaderedContentControl : IAvnContentControl { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnHeaderedContentControl : IAvnHeaderedContentContr private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnHeaderedContentControl(global::Avalonia.Controls.Primitives.HeaderedContentControl value) { @@ -959,6 +971,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -990,6 +1033,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1128,6 +1187,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,6 +1327,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,7 +1387,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1234,7 +1433,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1268,6 +1467,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1944,12 +2281,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1962,5 +2317,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnHeaderedItemsControl.g.cs b/host/Generated/ObjectModel/IAvnHeaderedItemsControl.g.cs index ae616f0..03d63ff 100644 --- a/host/Generated/ObjectModel/IAvnHeaderedItemsControl.g.cs +++ b/host/Generated/ObjectModel/IAvnHeaderedItemsControl.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("E4AB3702-5F01-59CF-9F5E-3C3DD281533F")] +[Guid("2E4EBFCB-EA24-5842-ABC1-0DC137ED31DA")] public partial interface IAvnHeaderedItemsControl : IAvnItemsControl { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnHeaderedItemsControl : IAvnHeaderedItemsControl private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnHeaderedItemsControl(global::Avalonia.Controls.Primitives.HeaderedItemsControl value) { @@ -959,6 +971,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -990,6 +1033,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1128,6 +1187,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,6 +1327,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,7 +1387,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1234,7 +1433,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1268,6 +1467,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2008,12 +2345,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2026,5 +2381,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnHeaderedSelectingItemsControl.g.cs b/host/Generated/ObjectModel/IAvnHeaderedSelectingItemsControl.g.cs index 8566049..89a5a3f 100644 --- a/host/Generated/ObjectModel/IAvnHeaderedSelectingItemsControl.g.cs +++ b/host/Generated/ObjectModel/IAvnHeaderedSelectingItemsControl.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("E0CB1C51-192B-5B9B-8A19-72EE4C68C27D")] +[Guid("723DA9D6-8356-5967-83E1-0E0A4B1C1B2C")] public partial interface IAvnHeaderedSelectingItemsControl : IAvnSelectingItemsControl { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnHeaderedSelectingItemsControl : IAvnHeaderedSelec private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectionChangedSubscriptions = new(); private long _nextSelectionChangedSubscriptionId; @@ -961,6 +973,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -992,6 +1035,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1130,6 +1189,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1178,6 +1329,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1190,7 +1389,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1236,7 +1435,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1270,6 +1469,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2090,7 +2427,9 @@ public int AdviseSelectionChanged(IAvnSelectingItemsControlSelectionChangedHandl var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var args = new AvnSelectingItemsControlSelectionChangedArgs(new global::System.Collections.IEnumerable?[] + {eventArgs.AddedItems, eventArgs.RemovedItems}); + var hr = handler.Invoke(args); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2242,12 +2581,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2260,6 +2617,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectionChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnHyperlinkButton.g.cs b/host/Generated/ObjectModel/IAvnHyperlinkButton.g.cs index feff9ba..d3d5b77 100644 --- a/host/Generated/ObjectModel/IAvnHyperlinkButton.g.cs +++ b/host/Generated/ObjectModel/IAvnHyperlinkButton.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("BA5D6CE2-B42B-5ED0-B288-9775606E1802")] +[Guid("8130735B-8051-5246-9914-2489E9C8BEA6")] public partial interface IAvnHyperlinkButton : IAvnButton { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnHyperlinkButton : IAvnHyperlinkButton private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); private long _nextClickSubscriptionId; @@ -961,6 +973,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -992,6 +1035,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1130,6 +1189,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1178,6 +1329,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1190,7 +1389,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1236,7 +1435,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1270,6 +1469,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2225,12 +2562,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2243,6 +2598,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _clickSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnIconElement.g.cs b/host/Generated/ObjectModel/IAvnIconElement.g.cs index 2cac31c..e1c16cf 100644 --- a/host/Generated/ObjectModel/IAvnIconElement.g.cs +++ b/host/Generated/ObjectModel/IAvnIconElement.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("27129D51-9086-5E87-97F2-A7B30B2F7A32")] +[Guid("32A49476-DB0C-5038-B888-A66D122EC557")] public partial interface IAvnIconElement : IAvnTemplatedControl { } @@ -35,12 +35,24 @@ public sealed partial class AvnIconElement : IAvnIconElement private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnIconElement(global::Avalonia.Controls.IconElement value) { @@ -947,6 +959,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -978,6 +1021,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1116,6 +1175,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1164,6 +1315,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,7 +1375,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1222,7 +1421,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1256,6 +1455,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1746,12 +2083,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1764,5 +2119,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnImage.g.cs b/host/Generated/ObjectModel/IAvnImage.g.cs index 9ec378e..d6c49bc 100644 --- a/host/Generated/ObjectModel/IAvnImage.g.cs +++ b/host/Generated/ObjectModel/IAvnImage.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("ACC338F6-8C35-57F4-BB82-4A3F397B130F")] +[Guid("3BE59E46-0ECC-595F-85C0-3CD46F76D9B7")] public partial interface IAvnImage : IAvnControl { [PreserveSig] @@ -59,12 +59,24 @@ public sealed partial class AvnImage : IAvnImage private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnImage(global::Avalonia.Controls.Image value) { @@ -971,6 +983,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1002,6 +1045,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1140,6 +1199,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,6 +1339,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1200,7 +1399,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1246,7 +1445,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1280,6 +1479,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetSource(out string? value) { value = default; @@ -1460,12 +1797,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1478,5 +1833,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnItemsControl.g.cs b/host/Generated/ObjectModel/IAvnItemsControl.g.cs index 74ec833..87d8398 100644 --- a/host/Generated/ObjectModel/IAvnItemsControl.g.cs +++ b/host/Generated/ObjectModel/IAvnItemsControl.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("D985D274-6EFC-5423-B74F-7A73133992FC")] +[Guid("C6061984-593E-5875-8956-4B5C4B6D886C")] public partial interface IAvnItemsControl : IAvnTemplatedControl { [PreserveSig] @@ -71,12 +71,24 @@ public sealed partial class AvnItemsControl : IAvnItemsControl private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnItemsControl(global::Avalonia.Controls.ItemsControl value) { @@ -983,6 +995,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1014,6 +1057,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1152,6 +1211,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1200,6 +1351,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1212,7 +1411,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1258,7 +1457,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1292,6 +1491,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1970,12 +2307,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1988,5 +2343,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnLabel.g.cs b/host/Generated/ObjectModel/IAvnLabel.g.cs index 882c904..78815d9 100644 --- a/host/Generated/ObjectModel/IAvnLabel.g.cs +++ b/host/Generated/ObjectModel/IAvnLabel.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("621B0405-7E33-56EE-8FF0-E1CA604209BD")] +[Guid("C85D82E9-5381-5B73-BB11-C547CEFA8A19")] public partial interface IAvnLabel : IAvnContentControl { [PreserveSig] @@ -41,12 +41,24 @@ public sealed partial class AvnLabel : IAvnLabel private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnLabel(global::Avalonia.Controls.Label value) { @@ -953,6 +965,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -984,6 +1027,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1122,6 +1181,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1170,6 +1321,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1182,7 +1381,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1228,7 +1427,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1262,6 +1461,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1907,12 +2244,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1925,5 +2280,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnLayoutTransformControl.g.cs b/host/Generated/ObjectModel/IAvnLayoutTransformControl.g.cs index a2f0dda..dcbc097 100644 --- a/host/Generated/ObjectModel/IAvnLayoutTransformControl.g.cs +++ b/host/Generated/ObjectModel/IAvnLayoutTransformControl.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("39D82382-98B4-510A-AE62-19E9BBA13698")] +[Guid("D19B8CD6-21FB-5F7C-985B-A486532461A7")] public partial interface IAvnLayoutTransformControl : IAvnDecorator { [PreserveSig] @@ -41,12 +41,24 @@ public sealed partial class AvnLayoutTransformControl : IAvnLayoutTransformContr private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnLayoutTransformControl(global::Avalonia.Controls.LayoutTransformControl value) { @@ -953,6 +965,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -984,6 +1027,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1122,6 +1181,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1170,6 +1321,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1182,7 +1381,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1228,7 +1427,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1262,6 +1461,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChild(out IAvnControl? value) { value = default; @@ -1411,12 +1748,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1429,5 +1784,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnLine.g.cs b/host/Generated/ObjectModel/IAvnLine.g.cs index 8c4b61e..dc354a1 100644 --- a/host/Generated/ObjectModel/IAvnLine.g.cs +++ b/host/Generated/ObjectModel/IAvnLine.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("F302A345-5295-5A86-B520-224278B68EAB")] +[Guid("E432CA0E-417D-584A-A0AB-884ACB73A6F6")] public partial interface IAvnLine : IAvnShape { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnLine : IAvnLine private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnLine(global::Avalonia.Controls.Shapes.Line value) { @@ -959,6 +971,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -990,6 +1033,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1128,6 +1187,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,6 +1327,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,7 +1387,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1234,7 +1433,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1268,6 +1467,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetFill(out IAvnBrush? value) { value = default; @@ -1665,12 +2002,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1683,5 +2038,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnListBox.g.cs b/host/Generated/ObjectModel/IAvnListBox.g.cs index ee90106..662645d 100644 --- a/host/Generated/ObjectModel/IAvnListBox.g.cs +++ b/host/Generated/ObjectModel/IAvnListBox.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("B5B6A7D1-B302-56BB-93A9-D53237708632")] +[Guid("FD704B9F-4E33-516E-B48D-B1DC9AA44DCA")] public partial interface IAvnListBox : IAvnSelectingItemsControl { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnListBox : IAvnListBox private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectionChangedSubscriptions = new(); private long _nextSelectionChangedSubscriptionId; @@ -961,6 +973,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -992,6 +1035,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1130,6 +1189,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1178,6 +1329,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1190,7 +1389,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1236,7 +1435,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1270,6 +1469,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2090,7 +2427,9 @@ public int AdviseSelectionChanged(IAvnSelectingItemsControlSelectionChangedHandl var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var args = new AvnSelectingItemsControlSelectionChangedArgs(new global::System.Collections.IEnumerable?[] + {eventArgs.AddedItems, eventArgs.RemovedItems}); + var hr = handler.Invoke(args); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2241,12 +2580,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2259,6 +2616,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectionChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnListBoxItem.g.cs b/host/Generated/ObjectModel/IAvnListBoxItem.g.cs index 429108b..86552ce 100644 --- a/host/Generated/ObjectModel/IAvnListBoxItem.g.cs +++ b/host/Generated/ObjectModel/IAvnListBoxItem.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("19A8B0AF-1926-5DE4-B6EC-5E2F026831B6")] +[Guid("D177A044-40A9-5BD2-B9D5-BC3B24F6F87E")] public partial interface IAvnListBoxItem : IAvnContentControl { [PreserveSig] @@ -41,12 +41,24 @@ public sealed partial class AvnListBoxItem : IAvnListBoxItem private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnListBoxItem(global::Avalonia.Controls.ListBoxItem value) { @@ -953,6 +965,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -984,6 +1027,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1122,6 +1181,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1170,6 +1321,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1182,7 +1381,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1228,7 +1427,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1262,6 +1461,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1907,12 +2244,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1925,5 +2280,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnMaskedTextBox.g.cs b/host/Generated/ObjectModel/IAvnMaskedTextBox.g.cs index 729fd07..ed57911 100644 --- a/host/Generated/ObjectModel/IAvnMaskedTextBox.g.cs +++ b/host/Generated/ObjectModel/IAvnMaskedTextBox.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("C7B40FDD-3EBA-55CF-84BF-5FAD22229908")] +[Guid("1C1A91B2-4417-5AB6-A25A-AF72F57B5640")] public partial interface IAvnMaskedTextBox : IAvnTextBox { [PreserveSig] @@ -77,12 +77,24 @@ public sealed partial class AvnMaskedTextBox : IAvnMaskedTextBox private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _copyingToClipboardSubscriptions = new(); private long _nextCopyingToClipboardSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _cuttingToClipboardSubscriptions = new(); @@ -999,6 +1011,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1030,6 +1073,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1168,6 +1227,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1216,6 +1367,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1228,7 +1427,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1274,7 +1473,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1308,6 +1507,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -3469,12 +3806,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -3487,6 +3842,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _copyingToClipboardSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnMenu.g.cs b/host/Generated/ObjectModel/IAvnMenu.g.cs index 26a739b..2e65f10 100644 --- a/host/Generated/ObjectModel/IAvnMenu.g.cs +++ b/host/Generated/ObjectModel/IAvnMenu.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("E97435D8-8BC7-5A16-B1D1-4B976008F341")] +[Guid("7494D34A-1A50-5EB7-8532-D5A9CA3992B5")] public partial interface IAvnMenu : IAvnMenuBase { } @@ -35,12 +35,24 @@ public sealed partial class AvnMenu : IAvnMenu private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectionChangedSubscriptions = new(); private long _nextSelectionChangedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _openedSubscriptions = new(); @@ -953,6 +965,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -984,6 +1027,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1122,6 +1181,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1170,6 +1321,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1182,7 +1381,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1228,7 +1427,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1262,6 +1461,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2082,7 +2419,9 @@ public int AdviseSelectionChanged(IAvnSelectingItemsControlSelectionChangedHandl var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var args = new AvnSelectingItemsControlSelectionChangedArgs(new global::System.Collections.IEnumerable?[] + {eventArgs.AddedItems, eventArgs.RemovedItems}); + var hr = handler.Invoke(args); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2310,12 +2649,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2328,6 +2685,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectionChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnMenuBase.g.cs b/host/Generated/ObjectModel/IAvnMenuBase.g.cs index b4026fd..f9b7246 100644 --- a/host/Generated/ObjectModel/IAvnMenuBase.g.cs +++ b/host/Generated/ObjectModel/IAvnMenuBase.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("BAB46325-4D7E-54C4-B8E0-69A647E2BFC6")] +[Guid("A5A9B117-B812-50DC-BEAA-D81CDAE4070D")] public partial interface IAvnMenuBase : IAvnSelectingItemsControl { [PreserveSig] @@ -56,12 +56,24 @@ public sealed partial class AvnMenuBase : IAvnMenuBase private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectionChangedSubscriptions = new(); private long _nextSelectionChangedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _openedSubscriptions = new(); @@ -974,6 +986,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1005,6 +1048,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1143,6 +1202,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1191,6 +1342,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1203,7 +1402,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1249,7 +1448,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1283,6 +1482,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2103,7 +2440,9 @@ public int AdviseSelectionChanged(IAvnSelectingItemsControlSelectionChangedHandl var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var args = new AvnSelectingItemsControlSelectionChangedArgs(new global::System.Collections.IEnumerable?[] + {eventArgs.AddedItems, eventArgs.RemovedItems}); + var hr = handler.Invoke(args); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2331,12 +2670,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2349,6 +2706,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectionChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnMenuItem.g.cs b/host/Generated/ObjectModel/IAvnMenuItem.g.cs index 5f9d765..c44d938 100644 --- a/host/Generated/ObjectModel/IAvnMenuItem.g.cs +++ b/host/Generated/ObjectModel/IAvnMenuItem.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("1A9E2536-7437-553C-AFB6-681CF15021FF")] +[Guid("1863F45C-1039-5C4E-9668-433606E91AB9")] public partial interface IAvnMenuItem : IAvnHeaderedSelectingItemsControl { [PreserveSig] @@ -125,12 +125,24 @@ public sealed partial class AvnMenuItem : IAvnMenuItem private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectionChangedSubscriptions = new(); private long _nextSelectionChangedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); @@ -1043,6 +1055,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1074,6 +1117,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1212,6 +1271,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1260,6 +1411,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1272,7 +1471,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1318,7 +1517,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1352,6 +1551,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2172,7 +2509,9 @@ public int AdviseSelectionChanged(IAvnSelectingItemsControlSelectionChangedHandl var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var args = new AvnSelectingItemsControlSelectionChangedArgs(new global::System.Collections.IEnumerable?[] + {eventArgs.AddedItems, eventArgs.RemovedItems}); + var hr = handler.Invoke(args); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2819,12 +3158,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2837,6 +3194,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectionChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnNotificationCard.g.cs b/host/Generated/ObjectModel/IAvnNotificationCard.g.cs index c795d8d..2a551f3 100644 --- a/host/Generated/ObjectModel/IAvnNotificationCard.g.cs +++ b/host/Generated/ObjectModel/IAvnNotificationCard.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("DF540B6A-58F6-59F6-B3DB-F8FD04665402")] +[Guid("9E79955D-2569-59C2-9A3A-25FE0AE56026")] public partial interface IAvnNotificationCard : IAvnContentControl { [PreserveSig] @@ -59,12 +59,24 @@ public sealed partial class AvnNotificationCard : IAvnNotificationCard private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _notificationClosedSubscriptions = new(); private long _nextNotificationClosedSubscriptionId; @@ -973,6 +985,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1004,6 +1047,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1142,6 +1201,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1190,6 +1341,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1202,7 +1401,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1248,7 +1447,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1282,6 +1481,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2035,12 +2372,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2053,6 +2408,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _notificationClosedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnNumericUpDown.g.cs b/host/Generated/ObjectModel/IAvnNumericUpDown.g.cs index 7639d40..173d2a6 100644 --- a/host/Generated/ObjectModel/IAvnNumericUpDown.g.cs +++ b/host/Generated/ObjectModel/IAvnNumericUpDown.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("5F487A30-39D1-524A-9A6E-01E584452E03")] +[Guid("5B2AA4AD-E367-58A1-99ED-8122D7C9B209")] public partial interface IAvnNumericUpDown : IAvnTemplatedControl { [PreserveSig] @@ -155,12 +155,24 @@ public sealed partial class AvnNumericUpDown : IAvnNumericUpDown private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _spinnedSubscriptions = new(); private long _nextSpinnedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _valueChangedSubscriptions = new(); @@ -1071,6 +1083,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1102,6 +1145,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1240,6 +1299,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1288,6 +1439,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1300,7 +1499,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1346,7 +1545,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1380,6 +1579,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2430,7 +2767,7 @@ public int AdviseValueChanged(IAvnNumericUpDownValueChangedHandler? handler, out var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke(global::Avalonia.Host.Com.AvnDecimal.ToAbi(eventArgs.OldValue), global::Avalonia.Host.Com.AvnDecimal.ToAbi(eventArgs.NewValue)); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2520,12 +2857,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2538,6 +2893,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _spinnedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnNumericUpDownValueChangedHandler.g.cs b/host/Generated/ObjectModel/IAvnNumericUpDownValueChangedHandler.g.cs index a3f65ed..37efc0e 100644 --- a/host/Generated/ObjectModel/IAvnNumericUpDownValueChangedHandler.g.cs +++ b/host/Generated/ObjectModel/IAvnNumericUpDownValueChangedHandler.g.cs @@ -6,9 +6,9 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("68A72F63-B469-5312-925F-F7FCCF35A0DF")] +[Guid("A605166E-63BA-5359-A3F5-997F780B611B")] public partial interface IAvnNumericUpDownValueChangedHandler { [PreserveSig] - int Invoke(); + int Invoke(string? OldValue, string? NewValue); } diff --git a/host/Generated/ObjectModel/IAvnPanel.g.cs b/host/Generated/ObjectModel/IAvnPanel.g.cs index b8cc13d..a01651d 100644 --- a/host/Generated/ObjectModel/IAvnPanel.g.cs +++ b/host/Generated/ObjectModel/IAvnPanel.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("79DAA937-B232-5B99-84FB-E3D64124EDA5")] +[Guid("FE37643D-BDE5-511B-AB66-CB66B73F685F")] public partial interface IAvnPanel : IAvnControl { [PreserveSig] @@ -44,12 +44,24 @@ public sealed partial class AvnPanel : IAvnPanel private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnPanel(global::Avalonia.Controls.Panel value) { @@ -956,6 +968,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -987,6 +1030,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1125,6 +1184,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1173,6 +1324,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1185,7 +1384,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1231,7 +1430,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1265,6 +1464,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChildren(out IAvnControlList? value) { value = default; @@ -1368,12 +1705,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1386,5 +1741,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnPath.g.cs b/host/Generated/ObjectModel/IAvnPath.g.cs index 936e5d5..4c7d09e 100644 --- a/host/Generated/ObjectModel/IAvnPath.g.cs +++ b/host/Generated/ObjectModel/IAvnPath.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("4EC11C5B-9EAE-57CB-ACC2-EB2E609490AC")] +[Guid("E663EA07-D965-5E67-922A-CA932B4883EF")] public partial interface IAvnPath : IAvnShape { [PreserveSig] @@ -41,12 +41,24 @@ public sealed partial class AvnPath : IAvnPath private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnPath(global::Avalonia.Controls.Shapes.Path value) { @@ -953,6 +965,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -984,6 +1027,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1122,6 +1181,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1170,6 +1321,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1182,7 +1381,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1228,7 +1427,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1262,6 +1461,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetFill(out IAvnBrush? value) { value = default; @@ -1628,12 +1965,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1646,5 +2001,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnPathIcon.g.cs b/host/Generated/ObjectModel/IAvnPathIcon.g.cs index e01b042..0cdc744 100644 --- a/host/Generated/ObjectModel/IAvnPathIcon.g.cs +++ b/host/Generated/ObjectModel/IAvnPathIcon.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("F220C58A-4D65-5882-8D9D-EBE5F0A1D9A4")] +[Guid("9C821A9C-6A11-5E74-8D69-A637662CD292")] public partial interface IAvnPathIcon : IAvnIconElement { [PreserveSig] @@ -41,12 +41,24 @@ public sealed partial class AvnPathIcon : IAvnPathIcon private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnPathIcon(global::Avalonia.Controls.PathIcon value) { @@ -953,6 +965,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -984,6 +1027,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1122,6 +1181,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1170,6 +1321,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1182,7 +1381,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1228,7 +1427,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1262,6 +1461,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1783,12 +2120,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1801,5 +2156,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnPipsPager.g.cs b/host/Generated/ObjectModel/IAvnPipsPager.g.cs index 6cb97fa..86b4857 100644 --- a/host/Generated/ObjectModel/IAvnPipsPager.g.cs +++ b/host/Generated/ObjectModel/IAvnPipsPager.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("03DEC932-3B73-5A8C-9CE7-9E82F4FADE70")] +[Guid("B23699D7-ACE9-5D8F-85ED-216C49DEBE3E")] public partial interface IAvnPipsPager : IAvnTemplatedControl { [PreserveSig] @@ -77,12 +77,24 @@ public sealed partial class AvnPipsPager : IAvnPipsPager private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectedIndexChangedSubscriptions = new(); private long _nextSelectedIndexChangedSubscriptionId; @@ -991,6 +1003,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1022,6 +1065,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1160,6 +1219,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1208,6 +1359,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1220,7 +1419,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1266,7 +1465,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1300,6 +1499,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2022,12 +2359,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2040,6 +2395,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectedIndexChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnPolygon.g.cs b/host/Generated/ObjectModel/IAvnPolygon.g.cs index 77554c8..533c2e7 100644 --- a/host/Generated/ObjectModel/IAvnPolygon.g.cs +++ b/host/Generated/ObjectModel/IAvnPolygon.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("48E18C96-9363-5066-9A67-123E153A0919")] +[Guid("0AAD3814-FD24-5051-AED3-FB090E1C0A3F")] public partial interface IAvnPolygon : IAvnShape { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnPolygon : IAvnPolygon private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnPolygon(global::Avalonia.Controls.Shapes.Polygon value) { @@ -959,6 +971,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -990,6 +1033,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1128,6 +1187,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,6 +1327,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,7 +1387,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1234,7 +1433,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1268,6 +1467,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetFill(out IAvnBrush? value) { value = default; @@ -1665,12 +2002,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1683,5 +2038,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnPolyline.g.cs b/host/Generated/ObjectModel/IAvnPolyline.g.cs index 9d04012..f4e7cae 100644 --- a/host/Generated/ObjectModel/IAvnPolyline.g.cs +++ b/host/Generated/ObjectModel/IAvnPolyline.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("9BACEFB3-B663-55EB-AF28-46001BA3A32B")] +[Guid("5CBDF633-9B36-5DDE-BFBE-48FD2FA54C99")] public partial interface IAvnPolyline : IAvnShape { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnPolyline : IAvnPolyline private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnPolyline(global::Avalonia.Controls.Shapes.Polyline value) { @@ -959,6 +971,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -990,6 +1033,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1128,6 +1187,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,6 +1327,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,7 +1387,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1234,7 +1433,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1268,6 +1467,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetFill(out IAvnBrush? value) { value = default; @@ -1665,12 +2002,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1683,5 +2038,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnPopup.g.cs b/host/Generated/ObjectModel/IAvnPopup.g.cs index f0b71e9..2a6c945 100644 --- a/host/Generated/ObjectModel/IAvnPopup.g.cs +++ b/host/Generated/ObjectModel/IAvnPopup.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("4F10A2E5-D393-52F5-97CB-0DDA9411F6E4")] +[Guid("C8FAC379-F367-5D83-9ABF-46EF6FCB778B")] public partial interface IAvnPopup : IAvnControl { [PreserveSig] @@ -173,12 +173,24 @@ public sealed partial class AvnPopup : IAvnPopup private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _closedSubscriptions = new(); private long _nextClosedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _openedSubscriptions = new(); @@ -1089,6 +1101,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1120,6 +1163,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1258,6 +1317,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1306,6 +1457,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1318,7 +1517,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1364,7 +1563,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1398,6 +1597,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetWindowManagerAddShadowHint(out int value) { value = default; @@ -2197,12 +2534,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2215,6 +2570,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _closedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnProgressBar.g.cs b/host/Generated/ObjectModel/IAvnProgressBar.g.cs index 00051b5..ace9742 100644 --- a/host/Generated/ObjectModel/IAvnProgressBar.g.cs +++ b/host/Generated/ObjectModel/IAvnProgressBar.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("54861122-E527-532B-A444-76CB502B041E")] +[Guid("5B810486-98CC-51F9-8F12-46A095595BB4")] public partial interface IAvnProgressBar : IAvnRangeBase { [PreserveSig] @@ -62,12 +62,24 @@ public sealed partial class AvnProgressBar : IAvnProgressBar private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _valueChangedSubscriptions = new(); private long _nextValueChangedSubscriptionId; @@ -976,6 +988,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1007,6 +1050,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1145,6 +1204,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1193,6 +1344,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1205,7 +1404,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1251,7 +1450,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1285,6 +1484,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1886,7 +2223,7 @@ public int AdviseValueChanged(IAvnRangeBaseValueChangedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke(eventArgs.OldValue, eventArgs.NewValue); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2116,12 +2453,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2134,6 +2489,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _valueChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnRadioButton.g.cs b/host/Generated/ObjectModel/IAvnRadioButton.g.cs index d4fe92b..372a3f9 100644 --- a/host/Generated/ObjectModel/IAvnRadioButton.g.cs +++ b/host/Generated/ObjectModel/IAvnRadioButton.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("45D712D8-A144-589A-9053-4333B61428BF")] +[Guid("FBEA357A-8E1A-5579-A0CF-4FD48895DADB")] public partial interface IAvnRadioButton : IAvnToggleButton { [PreserveSig] @@ -41,12 +41,24 @@ public sealed partial class AvnRadioButton : IAvnRadioButton private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); private long _nextClickSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _isCheckedChangedSubscriptions = new(); @@ -957,6 +969,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -988,6 +1031,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1126,6 +1185,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1174,6 +1325,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1186,7 +1385,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1232,7 +1431,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1266,6 +1465,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2298,12 +2635,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2316,6 +2671,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _clickSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnRangeBase.g.cs b/host/Generated/ObjectModel/IAvnRangeBase.g.cs index a9bee68..3858417 100644 --- a/host/Generated/ObjectModel/IAvnRangeBase.g.cs +++ b/host/Generated/ObjectModel/IAvnRangeBase.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("C2C5CCBC-F621-560A-B6F6-87A286DAB50B")] +[Guid("4B50BE51-3AF1-5ED3-B29F-61E8728F05C9")] public partial interface IAvnRangeBase : IAvnTemplatedControl { [PreserveSig] @@ -71,12 +71,24 @@ public sealed partial class AvnRangeBase : IAvnRangeBase private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _valueChangedSubscriptions = new(); private long _nextValueChangedSubscriptionId; @@ -985,6 +997,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1016,6 +1059,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1154,6 +1213,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1202,6 +1353,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1214,7 +1413,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1260,7 +1459,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1294,6 +1493,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1895,7 +2232,7 @@ public int AdviseValueChanged(IAvnRangeBaseValueChangedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke(eventArgs.OldValue, eventArgs.NewValue); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1985,12 +2322,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2003,6 +2358,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _valueChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnRangeBaseValueChangedHandler.g.cs b/host/Generated/ObjectModel/IAvnRangeBaseValueChangedHandler.g.cs index d37c39f..141ce00 100644 --- a/host/Generated/ObjectModel/IAvnRangeBaseValueChangedHandler.g.cs +++ b/host/Generated/ObjectModel/IAvnRangeBaseValueChangedHandler.g.cs @@ -6,9 +6,9 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("DAEDA8F7-D1F6-54B6-900D-4AAB0B0C72BA")] +[Guid("D71E5403-7A7E-5C5A-8A48-4C89346F0179")] public partial interface IAvnRangeBaseValueChangedHandler { [PreserveSig] - int Invoke(); + int Invoke(double OldValue, double NewValue); } diff --git a/host/Generated/ObjectModel/IAvnRectangle.g.cs b/host/Generated/ObjectModel/IAvnRectangle.g.cs index 585f42b..b3ed02e 100644 --- a/host/Generated/ObjectModel/IAvnRectangle.g.cs +++ b/host/Generated/ObjectModel/IAvnRectangle.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("4C789DD6-03C9-5FC7-A38E-050060C28908")] +[Guid("18F60995-254F-5AC8-8101-5DF9A44EE488")] public partial interface IAvnRectangle : IAvnShape { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnRectangle : IAvnRectangle private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnRectangle(global::Avalonia.Controls.Shapes.Rectangle value) { @@ -959,6 +971,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -990,6 +1033,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1128,6 +1187,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,6 +1327,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,7 +1387,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1234,7 +1433,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1268,6 +1467,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetFill(out IAvnBrush? value) { value = default; @@ -1665,12 +2002,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1683,5 +2038,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnRefreshContainer.g.cs b/host/Generated/ObjectModel/IAvnRefreshContainer.g.cs index dc9fec4..f74e681 100644 --- a/host/Generated/ObjectModel/IAvnRefreshContainer.g.cs +++ b/host/Generated/ObjectModel/IAvnRefreshContainer.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("C83268B7-A9D2-51FA-B7C7-E9891E412A9B")] +[Guid("8A61432D-C34F-51D2-8ACC-E36D3D639DC7")] public partial interface IAvnRefreshContainer : IAvnContentControl { [PreserveSig] @@ -56,12 +56,24 @@ public sealed partial class AvnRefreshContainer : IAvnRefreshContainer private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _refreshRequestedSubscriptions = new(); private long _nextRefreshRequestedSubscriptionId; @@ -970,6 +982,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1001,6 +1044,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1139,6 +1198,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1187,6 +1338,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1199,7 +1398,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1245,7 +1444,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1279,6 +1478,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2016,12 +2353,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2034,6 +2389,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _refreshRequestedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnRelativePanel.g.cs b/host/Generated/ObjectModel/IAvnRelativePanel.g.cs index 5206c1c..134e44f 100644 --- a/host/Generated/ObjectModel/IAvnRelativePanel.g.cs +++ b/host/Generated/ObjectModel/IAvnRelativePanel.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("4A52A408-9843-5FFA-B1CC-4575FA75B2D5")] +[Guid("65247A43-88C6-51B3-91A5-4DD646410156")] public partial interface IAvnRelativePanel : IAvnPanel { } @@ -35,12 +35,24 @@ public sealed partial class AvnRelativePanel : IAvnRelativePanel private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnRelativePanel(global::Avalonia.Controls.RelativePanel value) { @@ -947,6 +959,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -978,6 +1021,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1116,6 +1175,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1164,6 +1315,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,7 +1375,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1222,7 +1421,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1256,6 +1455,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChildren(out IAvnControlList? value) { value = default; @@ -1359,12 +1696,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1377,5 +1732,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnRepeatButton.g.cs b/host/Generated/ObjectModel/IAvnRepeatButton.g.cs index 413b5f3..d2a16ca 100644 --- a/host/Generated/ObjectModel/IAvnRepeatButton.g.cs +++ b/host/Generated/ObjectModel/IAvnRepeatButton.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("A0647C03-65F2-5FE4-A38E-B4A610F740A0")] +[Guid("4F04D781-4A77-5C93-812D-3D1DFC10627C")] public partial interface IAvnRepeatButton : IAvnButton { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnRepeatButton : IAvnRepeatButton private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); private long _nextClickSubscriptionId; @@ -961,6 +973,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -992,6 +1035,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1130,6 +1189,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1178,6 +1329,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1190,7 +1389,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1236,7 +1435,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1270,6 +1469,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2225,12 +2562,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2243,6 +2598,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _clickSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnScrollViewer.g.cs b/host/Generated/ObjectModel/IAvnScrollViewer.g.cs index 92011c6..036571d 100644 --- a/host/Generated/ObjectModel/IAvnScrollViewer.g.cs +++ b/host/Generated/ObjectModel/IAvnScrollViewer.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("597E4640-680B-5499-A4F0-D90B8F0539C7")] +[Guid("1D6C37FA-326B-57A1-A084-7790E0CE2973")] public partial interface IAvnScrollViewer : IAvnContentControl { [PreserveSig] @@ -170,12 +170,24 @@ public sealed partial class AvnScrollViewer : IAvnScrollViewer private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _scrollChangedSubscriptions = new(); private long _nextScrollChangedSubscriptionId; @@ -1084,6 +1096,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1115,6 +1158,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1253,6 +1312,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1301,6 +1452,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1313,7 +1512,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1359,7 +1558,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1393,6 +1592,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2717,12 +3054,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2735,6 +3090,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _scrollChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnSector.g.cs b/host/Generated/ObjectModel/IAvnSector.g.cs index 02c39b6..2345c92 100644 --- a/host/Generated/ObjectModel/IAvnSector.g.cs +++ b/host/Generated/ObjectModel/IAvnSector.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("BEB2012E-DE97-5F61-B066-1E1D924A192A")] +[Guid("B5A66A03-1739-5B83-B5BB-748E76AF1B27")] public partial interface IAvnSector : IAvnShape { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnSector : IAvnSector private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnSector(global::Avalonia.Controls.Shapes.Sector value) { @@ -959,6 +971,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -990,6 +1033,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1128,6 +1187,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,6 +1327,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,7 +1387,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1234,7 +1433,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1268,6 +1467,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetFill(out IAvnBrush? value) { value = default; @@ -1665,12 +2002,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1683,5 +2038,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnSelectableTextBlock.g.cs b/host/Generated/ObjectModel/IAvnSelectableTextBlock.g.cs index 1262563..bc97f41 100644 --- a/host/Generated/ObjectModel/IAvnSelectableTextBlock.g.cs +++ b/host/Generated/ObjectModel/IAvnSelectableTextBlock.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("4C1CFF48-0D3A-5934-A1DA-6939E75C5678")] +[Guid("11DADAD8-19AB-5C0C-9614-00DD412570F8")] public partial interface IAvnSelectableTextBlock : IAvnTextBlock { [PreserveSig] @@ -80,12 +80,24 @@ public sealed partial class AvnSelectableTextBlock : IAvnSelectableTextBlock private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _copyingToClipboardSubscriptions = new(); private long _nextCopyingToClipboardSubscriptionId; @@ -994,6 +1006,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1025,6 +1068,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1163,6 +1222,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1211,6 +1362,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1223,7 +1422,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1269,7 +1468,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1303,6 +1502,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetPadding(out AvnThickness value) { value = default; @@ -2164,12 +2501,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2182,6 +2537,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _copyingToClipboardSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnSelectingItemsControl.g.cs b/host/Generated/ObjectModel/IAvnSelectingItemsControl.g.cs index 9c0b777..831f62a 100644 --- a/host/Generated/ObjectModel/IAvnSelectingItemsControl.g.cs +++ b/host/Generated/ObjectModel/IAvnSelectingItemsControl.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("B2D5F624-DE4C-5278-977F-9EB764DD6B2F")] +[Guid("BF3CA6E3-C054-5059-AFE7-20E38D9B9DE8")] public partial interface IAvnSelectingItemsControl : IAvnItemsControl { [PreserveSig] @@ -77,12 +77,24 @@ public sealed partial class AvnSelectingItemsControl : IAvnSelectingItemsControl private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectionChangedSubscriptions = new(); private long _nextSelectionChangedSubscriptionId; @@ -991,6 +1003,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1022,6 +1065,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1160,6 +1219,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1208,6 +1359,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1220,7 +1419,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1266,7 +1465,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1300,6 +1499,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2120,7 +2457,9 @@ public int AdviseSelectionChanged(IAvnSelectingItemsControlSelectionChangedHandl var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var args = new AvnSelectingItemsControlSelectionChangedArgs(new global::System.Collections.IEnumerable?[] + {eventArgs.AddedItems, eventArgs.RemovedItems}); + var hr = handler.Invoke(args); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2210,12 +2549,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2228,6 +2585,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectionChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnSelectingItemsControlSelectionChangedHandler.g.cs b/host/Generated/ObjectModel/IAvnSelectingItemsControlSelectionChangedHandler.g.cs index 4727770..56a64ff 100644 --- a/host/Generated/ObjectModel/IAvnSelectingItemsControlSelectionChangedHandler.g.cs +++ b/host/Generated/ObjectModel/IAvnSelectingItemsControlSelectionChangedHandler.g.cs @@ -2,13 +2,103 @@ #nullable enable using System.Runtime.InteropServices; using System.Runtime.InteropServices.Marshalling; +using System.Linq; namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("80E817ED-8F0E-5208-9EFD-ECBDEBC56A46")] +[Guid("A5A998E3-805F-5BB9-BE35-4ACCDA82BD37")] +public partial interface IAvnSelectingItemsControlSelectionChangedArgs +{ + [PreserveSig] + int GetAddedItemsCount(out int value); + + [PreserveSig] + int GetAddedItemsAt(int index, out AvnVariant value); + + [PreserveSig] + int GetRemovedItemsCount(out int value); + + [PreserveSig] + int GetRemovedItemsAt(int index, out AvnVariant value); + +} + +[GeneratedComClass] +public sealed partial class AvnSelectingItemsControlSelectionChangedArgs : IAvnSelectingItemsControlSelectionChangedArgs +{ + private readonly global::System.Collections.IEnumerable?[] _collections = new global::System.Collections.IEnumerable?[2]; + + internal AvnSelectingItemsControlSelectionChangedArgs(global::System.Collections.IEnumerable?[] collections) => _collections = collections; + + public int GetAddedItemsCount(out int value) + { + value = 0; + try + { + value = _collections[0]?.Cast().Count() ?? 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int GetAddedItemsAt(int index, out AvnVariant value) + { + value = default; + try + { + var item = _collections[0]?.Cast().ElementAtOrDefault(index); + if (index < 0 || item is null) + return global::Avalonia.Host.HResults.E_INVALIDARG; + value = AvnVariant.FromObject(item); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int GetRemovedItemsCount(out int value) + { + value = 0; + try + { + value = _collections[1]?.Cast().Count() ?? 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int GetRemovedItemsAt(int index, out AvnVariant value) + { + value = default; + try + { + var item = _collections[1]?.Cast().ElementAtOrDefault(index); + if (index < 0 || item is null) + return global::Avalonia.Host.HResults.E_INVALIDARG; + value = AvnVariant.FromObject(item); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + +} + +[GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] +[Guid("D9AAACF6-E516-52AC-ABBE-3E0210379161")] public partial interface IAvnSelectingItemsControlSelectionChangedHandler { [PreserveSig] - int Invoke(); + int Invoke(IAvnSelectingItemsControlSelectionChangedArgs args); } diff --git a/host/Generated/ObjectModel/IAvnSeparator.g.cs b/host/Generated/ObjectModel/IAvnSeparator.g.cs index 536d6ec..431233c 100644 --- a/host/Generated/ObjectModel/IAvnSeparator.g.cs +++ b/host/Generated/ObjectModel/IAvnSeparator.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("FD4ADF2C-46AF-58ED-B8D1-2B813D56A4C0")] +[Guid("81DB67FE-E07A-5DD4-B16C-1E099FC059FB")] public partial interface IAvnSeparator : IAvnTemplatedControl { } @@ -35,12 +35,24 @@ public sealed partial class AvnSeparator : IAvnSeparator private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnSeparator(global::Avalonia.Controls.Separator value) { @@ -947,6 +959,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -978,6 +1021,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1116,6 +1175,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1164,6 +1315,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,7 +1375,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1222,7 +1421,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1256,6 +1455,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1746,12 +2083,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1764,5 +2119,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnShape.g.cs b/host/Generated/ObjectModel/IAvnShape.g.cs index bc3a8dc..4bedb0a 100644 --- a/host/Generated/ObjectModel/IAvnShape.g.cs +++ b/host/Generated/ObjectModel/IAvnShape.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("68C7A91F-DBEE-56E2-9A87-24B2B66D30AC")] +[Guid("9B09B01F-E387-5C6F-BB9B-605FC43BA233")] public partial interface IAvnShape : IAvnControl { [PreserveSig] @@ -89,12 +89,24 @@ public sealed partial class AvnShape : IAvnShape private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnShape(global::Avalonia.Controls.Shapes.Shape value) { @@ -1001,6 +1013,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1032,6 +1075,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1170,6 +1229,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1218,6 +1369,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1230,7 +1429,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1276,7 +1475,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1310,6 +1509,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetFill(out IAvnBrush? value) { value = default; @@ -1645,12 +1982,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1663,5 +2018,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnSlider.g.cs b/host/Generated/ObjectModel/IAvnSlider.g.cs index 2d75f43..a180761 100644 --- a/host/Generated/ObjectModel/IAvnSlider.g.cs +++ b/host/Generated/ObjectModel/IAvnSlider.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("704B6BAF-7A44-5CFE-A14B-440A8471D0B9")] +[Guid("87C098D1-E3D8-5297-8EFB-B039EF2C9CB5")] public partial interface IAvnSlider : IAvnRangeBase { [PreserveSig] @@ -71,12 +71,24 @@ public sealed partial class AvnSlider : IAvnSlider private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _valueChangedSubscriptions = new(); private long _nextValueChangedSubscriptionId; @@ -985,6 +997,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1016,6 +1059,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1154,6 +1213,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1202,6 +1353,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1214,7 +1413,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1260,7 +1459,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1294,6 +1493,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1895,7 +2232,7 @@ public int AdviseValueChanged(IAvnRangeBaseValueChangedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke(eventArgs.OldValue, eventArgs.NewValue); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2171,12 +2508,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2189,6 +2544,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _valueChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnSpinner.g.cs b/host/Generated/ObjectModel/IAvnSpinner.g.cs index 6091cba..775fea2 100644 --- a/host/Generated/ObjectModel/IAvnSpinner.g.cs +++ b/host/Generated/ObjectModel/IAvnSpinner.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("6AAEEDDC-0307-57B2-9FA5-30A27DC1958E")] +[Guid("B3D288E3-9138-530A-96BE-4B274DF115F2")] public partial interface IAvnSpinner : IAvnContentControl { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnSpinner : IAvnSpinner private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _spinSubscriptions = new(); private long _nextSpinSubscriptionId; @@ -961,6 +973,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -992,6 +1035,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1130,6 +1189,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1178,6 +1329,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1190,7 +1389,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1236,7 +1435,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1270,6 +1469,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1961,12 +2298,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1979,6 +2334,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _spinSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnSplitButton.g.cs b/host/Generated/ObjectModel/IAvnSplitButton.g.cs index a16f58f..5ebc7e3 100644 --- a/host/Generated/ObjectModel/IAvnSplitButton.g.cs +++ b/host/Generated/ObjectModel/IAvnSplitButton.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("1937A395-DF68-5F9F-94C1-07246380573C")] +[Guid("E162F1F5-7BC8-59CB-82D6-9A2A47F68884")] public partial interface IAvnSplitButton : IAvnContentControl { [PreserveSig] @@ -65,12 +65,24 @@ public sealed partial class AvnSplitButton : IAvnSplitButton private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); private long _nextClickSubscriptionId; @@ -979,6 +991,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1010,6 +1053,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1148,6 +1207,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1196,6 +1347,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1208,7 +1407,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1254,7 +1453,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1288,6 +1487,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2072,12 +2409,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2090,6 +2445,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _clickSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnSplitView.g.cs b/host/Generated/ObjectModel/IAvnSplitView.g.cs index c1f5b1b..aab61ab 100644 --- a/host/Generated/ObjectModel/IAvnSplitView.g.cs +++ b/host/Generated/ObjectModel/IAvnSplitView.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("51ED3B0D-0AAB-5AA3-9C4E-501C6027E774")] +[Guid("5AA9070F-D947-566B-931C-EF80550EE63E")] public partial interface IAvnSplitView : IAvnContentControl { [PreserveSig] @@ -113,12 +113,24 @@ public sealed partial class AvnSplitView : IAvnSplitView private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _paneClosedSubscriptions = new(); private long _nextPaneClosedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _paneClosingSubscriptions = new(); @@ -1033,6 +1045,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1064,6 +1107,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1202,6 +1261,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1250,6 +1401,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1262,7 +1461,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1308,7 +1507,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1342,6 +1541,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2423,12 +2760,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2441,6 +2796,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _paneClosedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnStackPanel.g.cs b/host/Generated/ObjectModel/IAvnStackPanel.g.cs index e90e380..753ec64 100644 --- a/host/Generated/ObjectModel/IAvnStackPanel.g.cs +++ b/host/Generated/ObjectModel/IAvnStackPanel.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("2104EA3B-6DCB-5691-AE36-AB75B819F283")] +[Guid("6CBE349A-E815-55A1-BBD8-B43951567DC1")] public partial interface IAvnStackPanel : IAvnPanel { [PreserveSig] @@ -59,12 +59,24 @@ public sealed partial class AvnStackPanel : IAvnStackPanel private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnStackPanel(global::Avalonia.Controls.StackPanel value) { @@ -971,6 +983,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1002,6 +1045,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1140,6 +1199,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,6 +1339,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1200,7 +1399,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1246,7 +1445,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1280,6 +1479,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChildren(out IAvnControlList? value) { value = default; @@ -1507,12 +1844,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1525,5 +1880,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnTabControl.g.cs b/host/Generated/ObjectModel/IAvnTabControl.g.cs index 6e69960..45455ca 100644 --- a/host/Generated/ObjectModel/IAvnTabControl.g.cs +++ b/host/Generated/ObjectModel/IAvnTabControl.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("C4664936-3D85-52A7-B48C-4CC32CA9B3A1")] +[Guid("08959EF6-348B-51EC-8BE3-D3AE47B861BF")] public partial interface IAvnTabControl : IAvnSelectingItemsControl { [PreserveSig] @@ -71,12 +71,24 @@ public sealed partial class AvnTabControl : IAvnTabControl private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectionChangedSubscriptions = new(); private long _nextSelectionChangedSubscriptionId; @@ -985,6 +997,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1016,6 +1059,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1154,6 +1213,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1202,6 +1353,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1214,7 +1413,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1260,7 +1459,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1294,6 +1493,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2114,7 +2451,9 @@ public int AdviseSelectionChanged(IAvnSelectingItemsControlSelectionChangedHandl var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var args = new AvnSelectingItemsControlSelectionChangedArgs(new global::System.Collections.IEnumerable?[] + {eventArgs.AddedItems, eventArgs.RemovedItems}); + var hr = handler.Invoke(args); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2391,12 +2730,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2409,6 +2766,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectionChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnTabItem.g.cs b/host/Generated/ObjectModel/IAvnTabItem.g.cs index c270cb7..a9c03b8 100644 --- a/host/Generated/ObjectModel/IAvnTabItem.g.cs +++ b/host/Generated/ObjectModel/IAvnTabItem.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("F2FF8148-506B-5823-B99B-F10DD06AC7DE")] +[Guid("7FFA8FBC-579E-5152-A5D1-AFE128CCB470")] public partial interface IAvnTabItem : IAvnHeaderedContentControl { [PreserveSig] @@ -62,12 +62,24 @@ public sealed partial class AvnTabItem : IAvnTabItem private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnTabItem(global::Avalonia.Controls.TabItem value) { @@ -974,6 +986,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1005,6 +1048,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1143,6 +1202,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1191,6 +1342,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1203,7 +1402,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1249,7 +1448,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1283,6 +1482,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2099,12 +2436,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2117,5 +2472,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnTableView.g.cs b/host/Generated/ObjectModel/IAvnTableView.g.cs index ba42887..a9661e0 100644 --- a/host/Generated/ObjectModel/IAvnTableView.g.cs +++ b/host/Generated/ObjectModel/IAvnTableView.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("B0C8BD3E-D92C-542C-8E78-9020F9F5D0D8")] +[Guid("8653BEA5-66FE-5479-87D0-45C9D8FDC7EC")] public partial interface IAvnTableView : IAvnListBox { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnTableView : IAvnTableView private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectionChangedSubscriptions = new(); private long _nextSelectionChangedSubscriptionId; @@ -961,6 +973,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -992,6 +1035,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1130,6 +1189,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1178,6 +1329,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1190,7 +1389,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1236,7 +1435,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1270,6 +1469,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2090,7 +2427,9 @@ public int AdviseSelectionChanged(IAvnSelectingItemsControlSelectionChangedHandl var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var args = new AvnSelectingItemsControlSelectionChangedArgs(new global::System.Collections.IEnumerable?[] + {eventArgs.AddedItems, eventArgs.RemovedItems}); + var hr = handler.Invoke(args); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2303,12 +2642,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2321,6 +2678,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectionChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnTableViewCell.g.cs b/host/Generated/ObjectModel/IAvnTableViewCell.g.cs index a45adfb..fb33503 100644 --- a/host/Generated/ObjectModel/IAvnTableViewCell.g.cs +++ b/host/Generated/ObjectModel/IAvnTableViewCell.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("5FFBD394-21E2-5FA0-A738-F81CA24CA198")] +[Guid("FB82C6E3-9041-5212-B897-E3DEC7EA6360")] public partial interface IAvnTableViewCell : IAvnContentControl { } @@ -35,12 +35,24 @@ public sealed partial class AvnTableViewCell : IAvnTableViewCell private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnTableViewCell(global::Avalonia.Controls.TableViewCell value) { @@ -947,6 +959,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -978,6 +1021,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1116,6 +1175,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1164,6 +1315,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,7 +1375,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1222,7 +1421,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1256,6 +1455,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1870,12 +2207,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1888,5 +2243,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnTableViewRow.g.cs b/host/Generated/ObjectModel/IAvnTableViewRow.g.cs index 3f069c9..de5ab9d 100644 --- a/host/Generated/ObjectModel/IAvnTableViewRow.g.cs +++ b/host/Generated/ObjectModel/IAvnTableViewRow.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("785207CE-7A58-5074-9CCD-5DFA0771DF61")] +[Guid("25F888AF-361C-5B20-ACB7-CC9D1770D898")] public partial interface IAvnTableViewRow : IAvnListBoxItem { } @@ -35,12 +35,24 @@ public sealed partial class AvnTableViewRow : IAvnTableViewRow private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnTableViewRow(global::Avalonia.Controls.TableViewRow value) { @@ -947,6 +959,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -978,6 +1021,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1116,6 +1175,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1164,6 +1315,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,7 +1375,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1222,7 +1421,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1256,6 +1455,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1901,12 +2238,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1919,5 +2274,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnTemplatedControl.g.cs b/host/Generated/ObjectModel/IAvnTemplatedControl.g.cs index 26c6dd0..c647619 100644 --- a/host/Generated/ObjectModel/IAvnTemplatedControl.g.cs +++ b/host/Generated/ObjectModel/IAvnTemplatedControl.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("D71DF481-E9FE-5463-BDA3-7C0546C5716A")] +[Guid("1863F34C-F21F-5977-A305-5939D80CB8C5")] public partial interface IAvnTemplatedControl : IAvnControl { [PreserveSig] @@ -119,12 +119,24 @@ public sealed partial class AvnTemplatedControl : IAvnTemplatedControl private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnTemplatedControl(global::Avalonia.Controls.Primitives.TemplatedControl value) { @@ -1031,6 +1043,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1062,6 +1105,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1200,6 +1259,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1248,6 +1399,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1260,7 +1459,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1306,7 +1505,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1340,6 +1539,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1830,12 +2167,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1848,5 +2203,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnTextBlock.g.cs b/host/Generated/ObjectModel/IAvnTextBlock.g.cs index ceeb5c8..c7c2a54 100644 --- a/host/Generated/ObjectModel/IAvnTextBlock.g.cs +++ b/host/Generated/ObjectModel/IAvnTextBlock.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("70059000-39BE-58FA-9621-50CB7BBF46B1")] +[Guid("47E06BD1-10DC-5267-A55F-A5C3BB536285")] public partial interface IAvnTextBlock : IAvnControl { [PreserveSig] @@ -143,12 +143,24 @@ public sealed partial class AvnTextBlock : IAvnTextBlock private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnTextBlock(global::Avalonia.Controls.TextBlock value) { @@ -1055,6 +1067,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1086,6 +1129,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1224,6 +1283,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1272,6 +1423,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1284,7 +1483,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1330,7 +1529,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1364,6 +1563,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetPadding(out AvnThickness value) { value = default; @@ -1978,12 +2315,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1996,5 +2351,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnTextBox.g.cs b/host/Generated/ObjectModel/IAvnTextBox.g.cs index e3a14f2..044a2e9 100644 --- a/host/Generated/ObjectModel/IAvnTextBox.g.cs +++ b/host/Generated/ObjectModel/IAvnTextBox.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("B1615F3B-C31D-56CC-A999-064FAC4EFDF8")] +[Guid("2CECBBEF-9113-5262-B44C-4CFD61373281")] public partial interface IAvnTextBox : IAvnTemplatedControl { [PreserveSig] @@ -302,12 +302,24 @@ public sealed partial class AvnTextBox : IAvnTextBox private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _copyingToClipboardSubscriptions = new(); private long _nextCopyingToClipboardSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _cuttingToClipboardSubscriptions = new(); @@ -1224,6 +1236,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1255,6 +1298,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1393,6 +1452,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1441,6 +1592,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1453,7 +1652,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1499,7 +1698,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1533,6 +1732,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -3476,12 +3813,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -3494,6 +3849,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _copyingToClipboardSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnThemeVariantScope.g.cs b/host/Generated/ObjectModel/IAvnThemeVariantScope.g.cs index 7dd1bcd..ecec85c 100644 --- a/host/Generated/ObjectModel/IAvnThemeVariantScope.g.cs +++ b/host/Generated/ObjectModel/IAvnThemeVariantScope.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("F8DF5A10-5406-5E10-A614-F50B8A8BE5A6")] +[Guid("0C7665EE-7E88-5B31-AA6C-0B7BE88EA14B")] public partial interface IAvnThemeVariantScope : IAvnDecorator { [PreserveSig] @@ -41,12 +41,24 @@ public sealed partial class AvnThemeVariantScope : IAvnThemeVariantScope private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnThemeVariantScope(global::Avalonia.Controls.ThemeVariantScope value) { @@ -953,6 +965,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -984,6 +1027,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1122,6 +1181,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1170,6 +1321,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1182,7 +1381,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1228,7 +1427,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1262,6 +1461,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChild(out IAvnControl? value) { value = default; @@ -1411,12 +1748,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1429,5 +1784,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnThumb.g.cs b/host/Generated/ObjectModel/IAvnThumb.g.cs index c58b904..aa25d64 100644 --- a/host/Generated/ObjectModel/IAvnThumb.g.cs +++ b/host/Generated/ObjectModel/IAvnThumb.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("D4BA0A24-A5D3-56FE-B486-868C8C5A52B6")] +[Guid("E465D453-88D0-5CD1-AF2C-389B5D80BE4D")] public partial interface IAvnThumb : IAvnTemplatedControl { [PreserveSig] @@ -53,12 +53,24 @@ public sealed partial class AvnThumb : IAvnThumb private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _dragStartedSubscriptions = new(); private long _nextDragStartedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _dragDeltaSubscriptions = new(); @@ -971,6 +983,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1002,6 +1045,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1140,6 +1199,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1188,6 +1339,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1200,7 +1399,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1246,7 +1445,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1280,6 +1479,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1908,12 +2245,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1926,6 +2281,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _dragStartedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnTimePicker.g.cs b/host/Generated/ObjectModel/IAvnTimePicker.g.cs index 932eccf..9096145 100644 --- a/host/Generated/ObjectModel/IAvnTimePicker.g.cs +++ b/host/Generated/ObjectModel/IAvnTimePicker.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("512BDA86-7718-5F1E-B2DE-8BCC7534AA46")] +[Guid("B5A38C06-2DB2-5199-83DC-05C28A15DA69")] public partial interface IAvnTimePicker : IAvnTemplatedControl { [PreserveSig] @@ -80,12 +80,24 @@ public sealed partial class AvnTimePicker : IAvnTimePicker private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectedTimeChangedSubscriptions = new(); private long _nextSelectedTimeChangedSubscriptionId; @@ -994,6 +1006,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1025,6 +1068,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1163,6 +1222,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1211,6 +1362,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1223,7 +1422,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1269,7 +1468,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1303,6 +1502,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2040,12 +2377,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2058,6 +2413,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectedTimeChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnToggleButton.g.cs b/host/Generated/ObjectModel/IAvnToggleButton.g.cs index 29e5bac..6f89e28 100644 --- a/host/Generated/ObjectModel/IAvnToggleButton.g.cs +++ b/host/Generated/ObjectModel/IAvnToggleButton.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("978AD791-8ABE-5494-B9AB-B29937062870")] +[Guid("AA447DC6-1470-599E-B0F5-27BF313DC7E7")] public partial interface IAvnToggleButton : IAvnButton { [PreserveSig] @@ -53,12 +53,24 @@ public sealed partial class AvnToggleButton : IAvnToggleButton private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); private long _nextClickSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _isCheckedChangedSubscriptions = new(); @@ -969,6 +981,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1000,6 +1043,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1138,6 +1197,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1186,6 +1337,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1198,7 +1397,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1244,7 +1443,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1278,6 +1477,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2279,12 +2616,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2297,6 +2652,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _clickSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnToggleSplitButton.g.cs b/host/Generated/ObjectModel/IAvnToggleSplitButton.g.cs index 14dee6f..abe1771 100644 --- a/host/Generated/ObjectModel/IAvnToggleSplitButton.g.cs +++ b/host/Generated/ObjectModel/IAvnToggleSplitButton.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("DD4F3760-D88D-5551-BD80-CA8721DEA1E9")] +[Guid("A8024AE3-3329-57D6-AE6C-1E3BBAD7A7E6")] public partial interface IAvnToggleSplitButton : IAvnSplitButton { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnToggleSplitButton : IAvnToggleSplitButton private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); private long _nextClickSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _isCheckedChangedSubscriptions = new(); @@ -963,6 +975,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -994,6 +1037,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1132,6 +1191,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1180,6 +1331,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1192,7 +1391,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1238,7 +1437,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1272,6 +1471,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2133,12 +2470,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2151,6 +2506,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _clickSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnToggleSwitch.g.cs b/host/Generated/ObjectModel/IAvnToggleSwitch.g.cs index 43ee754..5a6ed88 100644 --- a/host/Generated/ObjectModel/IAvnToggleSwitch.g.cs +++ b/host/Generated/ObjectModel/IAvnToggleSwitch.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("D36D16B3-4A9B-5BD6-9258-7125ED95B433")] +[Guid("EB2E63C7-1C28-5754-B26B-64BC0C2641BF")] public partial interface IAvnToggleSwitch : IAvnToggleButton { [PreserveSig] @@ -59,12 +59,24 @@ public sealed partial class AvnToggleSwitch : IAvnToggleSwitch private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _clickSubscriptions = new(); private long _nextClickSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _isCheckedChangedSubscriptions = new(); @@ -975,6 +987,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1006,6 +1049,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1144,6 +1203,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1192,6 +1343,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1204,7 +1403,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1250,7 +1449,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1284,6 +1483,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2409,12 +2746,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2427,6 +2782,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _clickSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnToolTip.g.cs b/host/Generated/ObjectModel/IAvnToolTip.g.cs index fb2094c..e5716a9 100644 --- a/host/Generated/ObjectModel/IAvnToolTip.g.cs +++ b/host/Generated/ObjectModel/IAvnToolTip.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("25BC085F-0BDB-59F4-B689-A1F0A8489B19")] +[Guid("04F8776B-9CD2-58D3-9004-AA6B0C12E902")] public partial interface IAvnToolTip : IAvnContentControl { } @@ -35,12 +35,24 @@ public sealed partial class AvnToolTip : IAvnToolTip private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnToolTip(global::Avalonia.Controls.ToolTip value) { @@ -947,6 +959,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -978,6 +1021,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1116,6 +1175,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1164,6 +1315,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,7 +1375,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1222,7 +1421,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1256,6 +1455,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1870,12 +2207,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1888,5 +2243,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnTransitioningContentControl.g.cs b/host/Generated/ObjectModel/IAvnTransitioningContentControl.g.cs index 2375239..d7c7adc 100644 --- a/host/Generated/ObjectModel/IAvnTransitioningContentControl.g.cs +++ b/host/Generated/ObjectModel/IAvnTransitioningContentControl.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("6A3336CC-B09A-5484-BB6B-3E74C762E577")] +[Guid("2B88F131-4CA4-529F-AA60-ED2BE719BE10")] public partial interface IAvnTransitioningContentControl : IAvnContentControl { [PreserveSig] @@ -47,12 +47,24 @@ public sealed partial class AvnTransitioningContentControl : IAvnTransitioningCo private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _transitionCompletedSubscriptions = new(); private long _nextTransitionCompletedSubscriptionId; @@ -961,6 +973,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -992,6 +1035,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1130,6 +1189,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1178,6 +1329,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1190,7 +1389,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1236,7 +1435,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1270,6 +1469,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1961,12 +2298,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1979,6 +2334,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _transitionCompletedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnTreeView.g.cs b/host/Generated/ObjectModel/IAvnTreeView.g.cs index a370f49..b94deec 100644 --- a/host/Generated/ObjectModel/IAvnTreeView.g.cs +++ b/host/Generated/ObjectModel/IAvnTreeView.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("AD4500EF-D3C0-5798-BF90-5E7515E85BEE")] +[Guid("51F6F3E1-06E8-563F-A834-CA7D3C751B4D")] public partial interface IAvnTreeView : IAvnItemsControl { [PreserveSig] @@ -83,12 +83,24 @@ public sealed partial class AvnTreeView : IAvnTreeView private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _selectionChangedSubscriptions = new(); private long _nextSelectionChangedSubscriptionId; @@ -997,6 +1009,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1028,6 +1071,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1166,6 +1225,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1214,6 +1365,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1226,7 +1425,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1272,7 +1471,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1306,6 +1505,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2156,7 +2493,9 @@ public int AdviseSelectionChanged(IAvnTreeViewSelectionChangedHandler? handler, var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var args = new AvnTreeViewSelectionChangedArgs(new global::System.Collections.IEnumerable?[] + {eventArgs.AddedItems, eventArgs.RemovedItems}); + var hr = handler.Invoke(args); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -2246,12 +2585,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2264,6 +2621,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _selectionChangedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnTreeViewItem.g.cs b/host/Generated/ObjectModel/IAvnTreeViewItem.g.cs index b860d2a..02b9753 100644 --- a/host/Generated/ObjectModel/IAvnTreeViewItem.g.cs +++ b/host/Generated/ObjectModel/IAvnTreeViewItem.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("B4B4B178-BF7A-52CD-8B27-EFEDBEA8C60E")] +[Guid("489990A9-1ED5-5772-AEE6-25C4E8B8612A")] public partial interface IAvnTreeViewItem : IAvnHeaderedItemsControl { [PreserveSig] @@ -62,12 +62,24 @@ public sealed partial class AvnTreeViewItem : IAvnTreeViewItem private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _expandedSubscriptions = new(); private long _nextExpandedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _collapsedSubscriptions = new(); @@ -978,6 +990,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1009,6 +1052,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1147,6 +1206,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1195,6 +1346,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1207,7 +1406,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1253,7 +1452,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1287,6 +1486,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2197,12 +2534,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2215,6 +2570,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _expandedSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnTreeViewSelectionChangedHandler.g.cs b/host/Generated/ObjectModel/IAvnTreeViewSelectionChangedHandler.g.cs index 409916b..7baf25f 100644 --- a/host/Generated/ObjectModel/IAvnTreeViewSelectionChangedHandler.g.cs +++ b/host/Generated/ObjectModel/IAvnTreeViewSelectionChangedHandler.g.cs @@ -2,13 +2,103 @@ #nullable enable using System.Runtime.InteropServices; using System.Runtime.InteropServices.Marshalling; +using System.Linq; namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("ED72A060-42CB-5648-804F-C5DCAB3CD87A")] +[Guid("A29EDF0E-EBE4-5118-99EB-615AE00A6BD5")] +public partial interface IAvnTreeViewSelectionChangedArgs +{ + [PreserveSig] + int GetAddedItemsCount(out int value); + + [PreserveSig] + int GetAddedItemsAt(int index, out AvnVariant value); + + [PreserveSig] + int GetRemovedItemsCount(out int value); + + [PreserveSig] + int GetRemovedItemsAt(int index, out AvnVariant value); + +} + +[GeneratedComClass] +public sealed partial class AvnTreeViewSelectionChangedArgs : IAvnTreeViewSelectionChangedArgs +{ + private readonly global::System.Collections.IEnumerable?[] _collections = new global::System.Collections.IEnumerable?[2]; + + internal AvnTreeViewSelectionChangedArgs(global::System.Collections.IEnumerable?[] collections) => _collections = collections; + + public int GetAddedItemsCount(out int value) + { + value = 0; + try + { + value = _collections[0]?.Cast().Count() ?? 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int GetAddedItemsAt(int index, out AvnVariant value) + { + value = default; + try + { + var item = _collections[0]?.Cast().ElementAtOrDefault(index); + if (index < 0 || item is null) + return global::Avalonia.Host.HResults.E_INVALIDARG; + value = AvnVariant.FromObject(item); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int GetRemovedItemsCount(out int value) + { + value = 0; + try + { + value = _collections[1]?.Cast().Count() ?? 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int GetRemovedItemsAt(int index, out AvnVariant value) + { + value = default; + try + { + var item = _collections[1]?.Cast().ElementAtOrDefault(index); + if (index < 0 || item is null) + return global::Avalonia.Host.HResults.E_INVALIDARG; + value = AvnVariant.FromObject(item); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + +} + +[GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] +[Guid("9F8E36AD-6E33-5211-B570-EB8B0C949511")] public partial interface IAvnTreeViewSelectionChangedHandler { [PreserveSig] - int Invoke(); + int Invoke(IAvnTreeViewSelectionChangedArgs args); } diff --git a/host/Generated/ObjectModel/IAvnUniformGrid.g.cs b/host/Generated/ObjectModel/IAvnUniformGrid.g.cs index a9c650c..6f5c716 100644 --- a/host/Generated/ObjectModel/IAvnUniformGrid.g.cs +++ b/host/Generated/ObjectModel/IAvnUniformGrid.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("B6DABE9A-7AED-5BCF-B889-A715EC08D5E4")] +[Guid("8B8511AD-3289-5415-A03D-E0265549A876")] public partial interface IAvnUniformGrid : IAvnPanel { [PreserveSig] @@ -65,12 +65,24 @@ public sealed partial class AvnUniformGrid : IAvnUniformGrid private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnUniformGrid(global::Avalonia.Controls.Primitives.UniformGrid value) { @@ -977,6 +989,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1008,6 +1051,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1146,6 +1205,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1194,6 +1345,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1206,7 +1405,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1252,7 +1451,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1286,6 +1485,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChildren(out IAvnControlList? value) { value = default; @@ -1544,12 +1881,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1562,5 +1917,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnUserControl.g.cs b/host/Generated/ObjectModel/IAvnUserControl.g.cs index eda9c76..71abb76 100644 --- a/host/Generated/ObjectModel/IAvnUserControl.g.cs +++ b/host/Generated/ObjectModel/IAvnUserControl.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("61A53A49-AD6E-58C8-88DF-DC3B769CF013")] +[Guid("0529D537-1B91-5234-8480-855B56086322")] public partial interface IAvnUserControl : IAvnContentControl { } @@ -35,12 +35,24 @@ public sealed partial class AvnUserControl : IAvnUserControl private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnUserControl(global::Avalonia.Controls.UserControl value) { @@ -947,6 +959,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -978,6 +1021,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1116,6 +1175,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1164,6 +1315,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1176,7 +1375,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1222,7 +1421,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1256,6 +1455,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1870,12 +2207,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1888,5 +2243,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnViewbox.g.cs b/host/Generated/ObjectModel/IAvnViewbox.g.cs index f1f1a92..b7452b9 100644 --- a/host/Generated/ObjectModel/IAvnViewbox.g.cs +++ b/host/Generated/ObjectModel/IAvnViewbox.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("4F61E1E8-F773-5195-B8BF-89EF6E8F6C44")] +[Guid("EFA9084A-769B-55F4-8101-3B6D4CB524D7")] public partial interface IAvnViewbox : IAvnControl { [PreserveSig] @@ -53,12 +53,24 @@ public sealed partial class AvnViewbox : IAvnViewbox private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnViewbox(global::Avalonia.Controls.Viewbox value) { @@ -965,6 +977,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -996,6 +1039,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1134,6 +1193,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1182,6 +1333,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1194,7 +1393,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1240,7 +1439,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1274,6 +1473,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetStretch(out int value) { value = default; @@ -1423,12 +1760,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1441,5 +1796,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnWindow.g.cs b/host/Generated/ObjectModel/IAvnWindow.g.cs index 3b24904..162ead1 100644 --- a/host/Generated/ObjectModel/IAvnWindow.g.cs +++ b/host/Generated/ObjectModel/IAvnWindow.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("BEAAC3C0-855F-5FC1-9750-80C538F7EE87")] +[Guid("9A01C107-BB12-5AFE-9DAA-C5AACEF2D879")] public partial interface IAvnWindow : IAvnContentControl { [PreserveSig] @@ -158,12 +158,24 @@ public sealed partial class AvnWindow : IAvnWindow private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _closingSubscriptions = new(); private long _nextClosingSubscriptionId; @@ -1072,6 +1084,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1103,6 +1146,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1241,6 +1300,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1289,6 +1440,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1301,7 +1500,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1347,7 +1546,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1381,6 +1580,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -2647,12 +2984,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -2665,6 +3020,24 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); foreach (var subscription in _closingSubscriptions.Values) { subscription.Unsubscribe(); diff --git a/host/Generated/ObjectModel/IAvnWindowNotificationManager.g.cs b/host/Generated/ObjectModel/IAvnWindowNotificationManager.g.cs index 7a7e0a6..84308ef 100644 --- a/host/Generated/ObjectModel/IAvnWindowNotificationManager.g.cs +++ b/host/Generated/ObjectModel/IAvnWindowNotificationManager.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("D4C37646-AAD1-5B56-A260-D0AB8CFE0936")] +[Guid("C159F361-BE6C-5268-8A0B-E12F633F395C")] public partial interface IAvnWindowNotificationManager : IAvnTemplatedControl { [PreserveSig] @@ -62,12 +62,24 @@ public sealed partial class AvnWindowNotificationManager : IAvnWindowNotificatio private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnWindowNotificationManager(global::Avalonia.Controls.Notifications.WindowNotificationManager value) { @@ -974,6 +986,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1005,6 +1048,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1143,6 +1202,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1191,6 +1342,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1203,7 +1402,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1249,7 +1448,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1283,6 +1482,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetBackground(out IAvnBrush? value) { value = default; @@ -1910,12 +2247,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1928,5 +2283,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/host/Generated/ObjectModel/IAvnWrapPanel.g.cs b/host/Generated/ObjectModel/IAvnWrapPanel.g.cs index 1f21e4d..c01b1d7 100644 --- a/host/Generated/ObjectModel/IAvnWrapPanel.g.cs +++ b/host/Generated/ObjectModel/IAvnWrapPanel.g.cs @@ -7,7 +7,7 @@ namespace Avalonia.Host.Com; [GeneratedComInterface(StringMarshalling = StringMarshalling.Utf16)] -[Guid("92500527-364F-542C-8DF0-37F08036D83F")] +[Guid("71831219-F14C-5D2F-A2F1-49FB979605D4")] public partial interface IAvnWrapPanel : IAvnPanel { [PreserveSig] @@ -71,12 +71,24 @@ public sealed partial class AvnWrapPanel : IAvnWrapPanel private long _nextUnloadedSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _sizeChangedSubscriptions = new(); private long _nextSizeChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _gotFocusSubscriptions = new(); + private long _nextGotFocusSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _lostFocusSubscriptions = new(); + private long _nextLostFocusSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _keyDownSubscriptions = new(); private long _nextKeyDownSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _keyUpSubscriptions = new(); + private long _nextKeyUpSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerEnteredSubscriptions = new(); private long _nextPointerEnteredSubscriptionId; private readonly global::System.Collections.Generic.Dictionary _pointerExitedSubscriptions = new(); private long _nextPointerExitedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _pointerWheelChangedSubscriptions = new(); + private long _nextPointerWheelChangedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _tappedSubscriptions = new(); + private long _nextTappedSubscriptionId; + private readonly global::System.Collections.Generic.Dictionary _doubleTappedSubscriptions = new(); + private long _nextDoubleTappedSubscriptionId; internal AvnWrapPanel(global::Avalonia.Controls.WrapPanel value) { @@ -983,6 +995,37 @@ public int SetVerticalAlignment(int value) } } + public int GetFocusable(out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focusable ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int SetFocusable(int value) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + _value.Focusable = value != 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetIsEnabled(out int value) { value = default; @@ -1014,6 +1057,22 @@ public int SetIsEnabled(int value) } } + public int FocusWithNavigationMethodAndKeyModifiers(int method, int keyModifiers, out int value) + { + value = default; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + value = _value.Focus((global::Avalonia.Input.NavigationMethod)method, (global::Avalonia.Input.KeyModifiers)keyModifiers) ? 1 : 0; + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseLoaded(IAvnControlLoadedHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1152,6 +1211,98 @@ public int UnadviseSizeChanged(long subscriptionId) } } + public int AdviseGotFocus(IAvnControlGotFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.NavigationMethod, (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.GotFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextGotFocusSubscriptionId); + _gotFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.GotFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseGotFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_gotFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseLostFocus(IAvnControlLostFocusHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.LostFocus += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextLostFocusSubscriptionId); + _lostFocusSubscriptions.Add(subscriptionId, (handler, () => eventSource.LostFocus -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseLostFocus(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_lostFocusSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdviseKeyDown(IAvnControlKeyDownHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1200,6 +1351,54 @@ public int UnadviseKeyDown(long subscriptionId) } } + public int AdviseKeyUp(IAvnControlKeyUpHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var handled = eventArgs.Handled ? 1 : 0; + var hr = handler.Invoke((int)eventArgs.Key, (int)eventArgs.PhysicalKey, (int)eventArgs.KeyModifiers, eventArgs.KeySymbol, ref handled); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + eventArgs.Handled = handled != 0; + }); + eventSource.KeyUp += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextKeyUpSubscriptionId); + _keyUpSubscriptions.Add(subscriptionId, (handler, () => eventSource.KeyUp -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseKeyUp(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_keyUpSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out long subscriptionId) { subscriptionId = 0; @@ -1212,7 +1411,7 @@ public int AdvisePointerEntered(IAvnControlPointerEnteredHandler? handler, out l var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1258,7 +1457,7 @@ public int AdvisePointerExited(IAvnControlPointerExitedHandler? handler, out lon var eventSource = _value; var callback = new global::System.EventHandler((_, eventArgs) => { - var hr = handler.Invoke(); + var hr = handler.Invoke((int)eventArgs.KeyModifiers); if (hr < 0) global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); }); @@ -1292,6 +1491,144 @@ public int UnadvisePointerExited(long subscriptionId) } } + public int AdvisePointerWheelChanged(IAvnControlPointerWheelChangedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(AvnVector.FromAvalonia(eventArgs.Delta), (int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.PointerWheelChanged += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextPointerWheelChangedSubscriptionId); + _pointerWheelChangedSubscriptions.Add(subscriptionId, (handler, () => eventSource.PointerWheelChanged -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadvisePointerWheelChanged(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_pointerWheelChangedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseTapped(IAvnControlTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke((int)eventArgs.KeyModifiers); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.Tapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextTappedSubscriptionId); + _tappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.Tapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_tappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int AdviseDoubleTapped(IAvnControlDoubleTappedHandler? handler, out long subscriptionId) + { + subscriptionId = 0; + if (handler is null) + return global::Avalonia.Host.HResults.E_POINTER; + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + var eventSource = _value; + var callback = new global::System.EventHandler((_, eventArgs) => + { + var hr = handler.Invoke(); + if (hr < 0) + global::System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(hr); + }); + eventSource.DoubleTapped += callback; + subscriptionId = global::System.Threading.Interlocked.Increment(ref _nextDoubleTappedSubscriptionId); + _doubleTappedSubscriptions.Add(subscriptionId, (handler, () => eventSource.DoubleTapped -= callback)); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionAdded(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + + public int UnadviseDoubleTapped(long subscriptionId) + { + try + { + using var call = _state.EnterCall(); + _value.VerifyAccess(); + if (!_doubleTappedSubscriptions.Remove(subscriptionId, out var subscription)) + return global::Avalonia.Host.HResults.E_INVALIDARG; + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + return global::Avalonia.Host.HResults.S_OK; + } + catch (global::System.Exception e) + { + return global::System.Runtime.InteropServices.Marshal.GetHRForException(e); + } + } + public int GetChildren(out IAvnControlList? value) { value = default; @@ -1581,12 +1918,30 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _sizeChangedSubscriptions.Clear(); + foreach (var subscription in _gotFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _gotFocusSubscriptions.Clear(); + foreach (var subscription in _lostFocusSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _lostFocusSubscriptions.Clear(); foreach (var subscription in _keyDownSubscriptions.Values) { subscription.Unsubscribe(); global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _keyDownSubscriptions.Clear(); + foreach (var subscription in _keyUpSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _keyUpSubscriptions.Clear(); foreach (var subscription in _pointerEnteredSubscriptions.Values) { subscription.Unsubscribe(); @@ -1599,5 +1954,23 @@ private void ReleaseSubscriptions() global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); } _pointerExitedSubscriptions.Clear(); + foreach (var subscription in _pointerWheelChangedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _pointerWheelChangedSubscriptions.Clear(); + foreach (var subscription in _tappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _tappedSubscriptions.Clear(); + foreach (var subscription in _doubleTappedSubscriptions.Values) + { + subscription.Unsubscribe(); + global::Avalonia.Host.ProjectionDiagnostics.SubscriptionRemoved(); + } + _doubleTappedSubscriptions.Clear(); } } diff --git a/projection/Avalonia.Projection.Generator/ComSourceEmitter.cs b/projection/Avalonia.Projection.Generator/ComSourceEmitter.cs index 17acc24..ca98449 100644 --- a/projection/Avalonia.Projection.Generator/ComSourceEmitter.cs +++ b/projection/Avalonia.Projection.Generator/ComSourceEmitter.cs @@ -2085,6 +2085,10 @@ private static string EventReadExpression(ProjectedParameter parameter) => MarshallingKind.NullableBool => $"!eventArgs.{parameter.Name}.HasValue ? -1 : eventArgs.{parameter.Name}.Value ? 1 : 0", MarshallingKind.Variant => $"AvnVariant.FromObject(eventArgs.{parameter.Name})", + // A StringUtf16 event field whose CLR type is not string converts through the + // host-side converter named by the projection (decimal? rides AvnDecimal). + MarshallingKind.StringUtf16 when parameter.StringConverterTypeName is { } converter => + $"global::{converter}.ToAbi(eventArgs.{parameter.Name})", _ when GeometryMarshalling.TryGet(parameter.Kind, out var geometry) => $"{geometry.AbiName}.FromAvalonia(eventArgs.{parameter.Name})", MarshallingKind.DateTimeI64 when parameter.IsNullable && @@ -2106,6 +2110,8 @@ private static string EventWriteExpression(ProjectedParameter parameter, string { MarshallingKind.I32 when parameter.ManagedTypeName is not "System.Int32" => $"(global::{parameter.ManagedTypeName}){value}", + MarshallingKind.StringUtf16 when parameter.StringConverterTypeName is { } writeConverter => + $"global::{writeConverter}.FromAbi({value})", MarshallingKind.Bool => $"{value} != 0", MarshallingKind.NullableBool => $"{value} switch {{ -1 => null, 0 => false, 1 => true, _ => throw new global::System.ArgumentOutOfRangeException(nameof({value})) }}", diff --git a/projection/Avalonia.Projection.Ir/AvaloniaProjectionProfiles.cs b/projection/Avalonia.Projection.Ir/AvaloniaProjectionProfiles.cs index bd5d43f..5613c66 100644 --- a/projection/Avalonia.Projection.Ir/AvaloniaProjectionProfiles.cs +++ b/projection/Avalonia.Projection.Ir/AvaloniaProjectionProfiles.cs @@ -18,98 +18,98 @@ public static class AvaloniaProjectionProfiles // Loaded/Unloaded, so Control and every descendant republish. // StyledElement gains ActualThemeVariant in U27, so it and every descendant republish. ["Avalonia.Host.Com.IAvnStyledElement"] = 6, - ["Avalonia.Host.Com.IAvnControl"] = 8, - ["Avalonia.Host.Com.IAvnDecorator"] = 10, + ["Avalonia.Host.Com.IAvnControl"] = 11, + ["Avalonia.Host.Com.IAvnDecorator"] = 13, // Everything the completeness wave left alone. None of these sits below // ContentControl, Button, ToggleButton, ListBox, ComboBox or Grid, so their // flattened vtables are byte-identical to version 4. - ["Avalonia.Host.Com.IAvnBorder"] = 12, + ["Avalonia.Host.Com.IAvnBorder"] = 15, ["Avalonia.Host.Com.IAvnTableViewColumn"] = 7, - ["Avalonia.Host.Com.IAvnPanel"] = 11, - ["Avalonia.Host.Com.IAvnCanvas"] = 11, - ["Avalonia.Host.Com.IAvnDockPanel"] = 11, - ["Avalonia.Host.Com.IAvnStackPanel"] = 12, + ["Avalonia.Host.Com.IAvnPanel"] = 14, + ["Avalonia.Host.Com.IAvnCanvas"] = 14, + ["Avalonia.Host.Com.IAvnDockPanel"] = 14, + ["Avalonia.Host.Com.IAvnStackPanel"] = 15, // Wave M grew TemplatedControl (fonts/padding) and TextBlock (fonts/wrapping). // Nano-COM vtables are flattened, so every interface below TemplatedControl // republishes. TextBlock is not under TemplatedControl; SelectableTextBlock is. - ["Avalonia.Host.Com.IAvnTextBlock"] = 14, - ["Avalonia.Host.Com.IAvnSelectableTextBlock"] = 11, - ["Avalonia.Host.Com.IAvnTemplatedControl"] = 12, - ["Avalonia.Host.Com.IAvnItemsControl"] = 15, - ["Avalonia.Host.Com.IAvnSelectingItemsControl"] = 15, - ["Avalonia.Host.Com.IAvnTextBox"] = 18, - ["Avalonia.Host.Com.IAvnRangeBase"] = 12, - ["Avalonia.Host.Com.IAvnSlider"] = 12, - ["Avalonia.Host.Com.IAvnProgressBar"] = 13, - ["Avalonia.Host.Com.IAvnContentControl"] = 13, - ["Avalonia.Host.Com.IAvnHeaderedContentControl"] = 13, - ["Avalonia.Host.Com.IAvnExpander"] = 13, - ["Avalonia.Host.Com.IAvnButton"] = 16, - ["Avalonia.Host.Com.IAvnToggleButton"] = 16, - ["Avalonia.Host.Com.IAvnCheckBox"] = 16, - ["Avalonia.Host.Com.IAvnRadioButton"] = 16, - ["Avalonia.Host.Com.IAvnToggleSwitch"] = 16, - ["Avalonia.Host.Com.IAvnListBox"] = 16, - ["Avalonia.Host.Com.IAvnComboBox"] = 17, - ["Avalonia.Host.Com.IAvnListBoxItem"] = 15, - ["Avalonia.Host.Com.IAvnComboBoxItem"] = 15, - ["Avalonia.Host.Com.IAvnScrollViewer"] = 15, - ["Avalonia.Host.Com.IAvnWindow"] = 18, - ["Avalonia.Host.Com.IAvnGrid"] = 12, + ["Avalonia.Host.Com.IAvnTextBlock"] = 17, + ["Avalonia.Host.Com.IAvnSelectableTextBlock"] = 14, + ["Avalonia.Host.Com.IAvnTemplatedControl"] = 15, + ["Avalonia.Host.Com.IAvnItemsControl"] = 18, + ["Avalonia.Host.Com.IAvnSelectingItemsControl"] = 18, + ["Avalonia.Host.Com.IAvnTextBox"] = 21, + ["Avalonia.Host.Com.IAvnRangeBase"] = 15, + ["Avalonia.Host.Com.IAvnSlider"] = 15, + ["Avalonia.Host.Com.IAvnProgressBar"] = 16, + ["Avalonia.Host.Com.IAvnContentControl"] = 16, + ["Avalonia.Host.Com.IAvnHeaderedContentControl"] = 16, + ["Avalonia.Host.Com.IAvnExpander"] = 16, + ["Avalonia.Host.Com.IAvnButton"] = 19, + ["Avalonia.Host.Com.IAvnToggleButton"] = 19, + ["Avalonia.Host.Com.IAvnCheckBox"] = 19, + ["Avalonia.Host.Com.IAvnRadioButton"] = 19, + ["Avalonia.Host.Com.IAvnToggleSwitch"] = 19, + ["Avalonia.Host.Com.IAvnListBox"] = 19, + ["Avalonia.Host.Com.IAvnComboBox"] = 20, + ["Avalonia.Host.Com.IAvnListBoxItem"] = 18, + ["Avalonia.Host.Com.IAvnComboBoxItem"] = 18, + ["Avalonia.Host.Com.IAvnScrollViewer"] = 18, + ["Avalonia.Host.Com.IAvnWindow"] = 21, + ["Avalonia.Host.Com.IAvnGrid"] = 15, // Previously version-1 templated types inherit the TemplatedControl bump. - ["Avalonia.Host.Com.IAvnAutoCompleteBox"] = 16, - ["Avalonia.Host.Com.IAvnButtonSpinner"] = 9, - ["Avalonia.Host.Com.IAvnCalendar"] = 12, - ["Avalonia.Host.Com.IAvnCalendarDatePicker"] = 11, - ["Avalonia.Host.Com.IAvnCarousel"] = 13, - ["Avalonia.Host.Com.IAvnCommandBar"] = 12, + ["Avalonia.Host.Com.IAvnAutoCompleteBox"] = 19, + ["Avalonia.Host.Com.IAvnButtonSpinner"] = 12, + ["Avalonia.Host.Com.IAvnCalendar"] = 15, + ["Avalonia.Host.Com.IAvnCalendarDatePicker"] = 14, + ["Avalonia.Host.Com.IAvnCarousel"] = 16, + ["Avalonia.Host.Com.IAvnCommandBar"] = 15, ["Avalonia.Host.Com.IAvnCommand"] = 2, - ["Avalonia.Host.Com.IAvnCommandBarButton"] = 11, - ["Avalonia.Host.Com.IAvnCommandBarSeparator"] = 9, - ["Avalonia.Host.Com.IAvnCommandBarToggleButton"] = 11, - ["Avalonia.Host.Com.IAvnContextMenu"] = 15, - ["Avalonia.Host.Com.IAvnPopup"] = 8, + ["Avalonia.Host.Com.IAvnCommandBarButton"] = 14, + ["Avalonia.Host.Com.IAvnCommandBarSeparator"] = 12, + ["Avalonia.Host.Com.IAvnCommandBarToggleButton"] = 14, + ["Avalonia.Host.Com.IAvnContextMenu"] = 18, + ["Avalonia.Host.Com.IAvnPopup"] = 11, ["Avalonia.Host.Com.IAvnTrayIcon"] = 3, ["Avalonia.Host.Com.IAvnPopupFlyoutBase"] = 6, ["Avalonia.Host.Com.IAvnFlyout"] = 4, ["Avalonia.Host.Com.IAvnMenuFlyout"] = 5, - ["Avalonia.Host.Com.IAvnDatePicker"] = 11, - ["Avalonia.Host.Com.IAvnDropDownButton"] = 11, - ["Avalonia.Host.Com.IAvnGridSplitter"] = 10, - ["Avalonia.Host.Com.IAvnGroupBox"] = 9, - ["Avalonia.Host.Com.IAvnHeaderedItemsControl"] = 12, - ["Avalonia.Host.Com.IAvnHeaderedSelectingItemsControl"] = 12, - ["Avalonia.Host.Com.IAvnHyperlinkButton"] = 11, - ["Avalonia.Host.Com.IAvnIconElement"] = 9, - ["Avalonia.Host.Com.IAvnLabel"] = 10, - ["Avalonia.Host.Com.IAvnMaskedTextBox"] = 15, - ["Avalonia.Host.Com.IAvnMenu"] = 12, - ["Avalonia.Host.Com.IAvnMenuBase"] = 12, - ["Avalonia.Host.Com.IAvnMenuItem"] = 15, - ["Avalonia.Host.Com.IAvnNotificationCard"] = 10, - ["Avalonia.Host.Com.IAvnNumericUpDown"] = 10, - ["Avalonia.Host.Com.IAvnPathIcon"] = 9, - ["Avalonia.Host.Com.IAvnPipsPager"] = 10, - ["Avalonia.Host.Com.IAvnRefreshContainer"] = 10, - ["Avalonia.Host.Com.IAvnRepeatButton"] = 11, - ["Avalonia.Host.Com.IAvnSeparator"] = 9, - ["Avalonia.Host.Com.IAvnSpinner"] = 9, - ["Avalonia.Host.Com.IAvnSplitButton"] = 12, - ["Avalonia.Host.Com.IAvnSplitView"] = 9, - ["Avalonia.Host.Com.IAvnTabControl"] = 12, - ["Avalonia.Host.Com.IAvnTabItem"] = 11, - ["Avalonia.Host.Com.IAvnTableView"] = 13, - ["Avalonia.Host.Com.IAvnTableViewCell"] = 11, - ["Avalonia.Host.Com.IAvnTableViewRow"] = 9, - ["Avalonia.Host.Com.IAvnThumb"] = 10, - ["Avalonia.Host.Com.IAvnTimePicker"] = 11, - ["Avalonia.Host.Com.IAvnToggleSplitButton"] = 12, - ["Avalonia.Host.Com.IAvnToolTip"] = 9, - ["Avalonia.Host.Com.IAvnTransitioningContentControl"] = 10, - ["Avalonia.Host.Com.IAvnTreeView"] = 12, - ["Avalonia.Host.Com.IAvnTreeViewItem"] = 12, - ["Avalonia.Host.Com.IAvnUserControl"] = 9, - ["Avalonia.Host.Com.IAvnWindowNotificationManager"] = 10, + ["Avalonia.Host.Com.IAvnDatePicker"] = 14, + ["Avalonia.Host.Com.IAvnDropDownButton"] = 14, + ["Avalonia.Host.Com.IAvnGridSplitter"] = 13, + ["Avalonia.Host.Com.IAvnGroupBox"] = 12, + ["Avalonia.Host.Com.IAvnHeaderedItemsControl"] = 15, + ["Avalonia.Host.Com.IAvnHeaderedSelectingItemsControl"] = 15, + ["Avalonia.Host.Com.IAvnHyperlinkButton"] = 14, + ["Avalonia.Host.Com.IAvnIconElement"] = 12, + ["Avalonia.Host.Com.IAvnLabel"] = 13, + ["Avalonia.Host.Com.IAvnMaskedTextBox"] = 18, + ["Avalonia.Host.Com.IAvnMenu"] = 15, + ["Avalonia.Host.Com.IAvnMenuBase"] = 15, + ["Avalonia.Host.Com.IAvnMenuItem"] = 18, + ["Avalonia.Host.Com.IAvnNotificationCard"] = 13, + ["Avalonia.Host.Com.IAvnNumericUpDown"] = 13, + ["Avalonia.Host.Com.IAvnPathIcon"] = 12, + ["Avalonia.Host.Com.IAvnPipsPager"] = 13, + ["Avalonia.Host.Com.IAvnRefreshContainer"] = 13, + ["Avalonia.Host.Com.IAvnRepeatButton"] = 14, + ["Avalonia.Host.Com.IAvnSeparator"] = 12, + ["Avalonia.Host.Com.IAvnSpinner"] = 12, + ["Avalonia.Host.Com.IAvnSplitButton"] = 15, + ["Avalonia.Host.Com.IAvnSplitView"] = 12, + ["Avalonia.Host.Com.IAvnTabControl"] = 15, + ["Avalonia.Host.Com.IAvnTabItem"] = 14, + ["Avalonia.Host.Com.IAvnTableView"] = 16, + ["Avalonia.Host.Com.IAvnTableViewCell"] = 14, + ["Avalonia.Host.Com.IAvnTableViewRow"] = 12, + ["Avalonia.Host.Com.IAvnThumb"] = 13, + ["Avalonia.Host.Com.IAvnTimePicker"] = 14, + ["Avalonia.Host.Com.IAvnToggleSplitButton"] = 15, + ["Avalonia.Host.Com.IAvnToolTip"] = 12, + ["Avalonia.Host.Com.IAvnTransitioningContentControl"] = 13, + ["Avalonia.Host.Com.IAvnTreeView"] = 15, + ["Avalonia.Host.Com.IAvnTreeViewItem"] = 15, + ["Avalonia.Host.Com.IAvnUserControl"] = 12, + ["Avalonia.Host.Com.IAvnWindowNotificationManager"] = 13, // Wave A's seven new interfaces publish at the default version 1 and nothing they // sit under moved, so they need no entry here. Waves B, C and D do the same. // The factory is the only interface these waves move: wave A gave it a creator per @@ -120,24 +120,35 @@ public static class AvaloniaProjectionProfiles // (Calendar, CalendarDatePicker) so 8, wave G seven more so 9, and wave H // eight constructible shapes (Shape is abstract) so 10, wave I five more so 11, // and wave J six more so 12, and wave K five constructible (IconElement abstract) so 13. - ["Avalonia.Host.Com.IAvnImage"] = 8, - ["Avalonia.Host.Com.IAvnWrapPanel"] = 8, - ["Avalonia.Host.Com.IAvnUniformGrid"] = 8, - ["Avalonia.Host.Com.IAvnRelativePanel"] = 8, - ["Avalonia.Host.Com.IAvnViewbox"] = 8, - ["Avalonia.Host.Com.IAvnFlexPanel"] = 8, - ["Avalonia.Host.Com.IAvnShape"] = 8, - ["Avalonia.Host.Com.IAvnRectangle"] = 8, - ["Avalonia.Host.Com.IAvnEllipse"] = 8, - ["Avalonia.Host.Com.IAvnLine"] = 8, - ["Avalonia.Host.Com.IAvnPath"] = 8, - ["Avalonia.Host.Com.IAvnPolygon"] = 8, - ["Avalonia.Host.Com.IAvnPolyline"] = 8, - ["Avalonia.Host.Com.IAvnArc"] = 8, - ["Avalonia.Host.Com.IAvnSector"] = 8, - ["Avalonia.Host.Com.IAvnLayoutTransformControl"] = 8, - ["Avalonia.Host.Com.IAvnThemeVariantScope"] = 8, + ["Avalonia.Host.Com.IAvnImage"] = 11, + ["Avalonia.Host.Com.IAvnWrapPanel"] = 11, + ["Avalonia.Host.Com.IAvnUniformGrid"] = 11, + ["Avalonia.Host.Com.IAvnRelativePanel"] = 11, + ["Avalonia.Host.Com.IAvnViewbox"] = 11, + ["Avalonia.Host.Com.IAvnFlexPanel"] = 11, + ["Avalonia.Host.Com.IAvnShape"] = 11, + ["Avalonia.Host.Com.IAvnRectangle"] = 11, + ["Avalonia.Host.Com.IAvnEllipse"] = 11, + ["Avalonia.Host.Com.IAvnLine"] = 11, + ["Avalonia.Host.Com.IAvnPath"] = 11, + ["Avalonia.Host.Com.IAvnPolygon"] = 11, + ["Avalonia.Host.Com.IAvnPolyline"] = 11, + ["Avalonia.Host.Com.IAvnArc"] = 11, + ["Avalonia.Host.Com.IAvnSector"] = 11, + ["Avalonia.Host.Com.IAvnLayoutTransformControl"] = 11, + ["Avalonia.Host.Com.IAvnThemeVariantScope"] = 11, ["Avalonia.Host.Com.IAvnControlFactory"] = 13, + // Wave P. Payload-carrying replacements for the previously payload-less + // handlers: the handler Invoke slots change shape, so each handler mints a + // new IID at version 2. The advise/unadvise slots on the control interfaces + // keep their signatures; the controls themselves republish only because + // Control gained KeyUp/GotFocus/LostFocus. + ["Avalonia.Host.Com.IAvnSelectingItemsControlSelectionChangedHandler"] = 2, + ["Avalonia.Host.Com.IAvnTreeViewSelectionChangedHandler"] = 2, + ["Avalonia.Host.Com.IAvnRangeBaseValueChangedHandler"] = 2, + // Wave R: the NumericUpDown value-change handler gains the old/new invariant-string + // decimal payload, so it mints a new IID at version 2. + ["Avalonia.Host.Com.IAvnNumericUpDownValueChangedHandler"] = 2, }, IncludeTypeNames = [ @@ -283,7 +294,9 @@ public static class AvaloniaProjectionProfiles [ "Width", "Height", "MinWidth", "MinHeight", "MaxWidth", "MaxHeight", "Margin", "HorizontalAlignment", "VerticalAlignment", "IsVisible", - "Opacity", "IsEnabled", "KeyDown", "PointerEntered", "PointerExited", + "Opacity", "IsEnabled", "KeyDown", "KeyUp", "GotFocus", "LostFocus", + "PointerEntered", "PointerExited", "Tapped", "DoubleTapped", + "PointerWheelChanged", "Focus", "Focusable", "ContextMenu", "ContextFlyout", "IsLoaded", "Loaded", "Unloaded", "SizeChanged", "Tag", ], @@ -1437,9 +1450,32 @@ public static class AvaloniaProjectionProfiles { PayloadKind = EventPayloadKind.None, }, + // Wave R: the old/new decimal pair crosses as invariant UTF-16 strings through + // the same AvnDecimal converter the Value property already uses. ["Avalonia.Controls.NumericUpDown.ValueChanged"] = new() { - PayloadKind = EventPayloadKind.None, + PayloadKind = EventPayloadKind.Fields, + Parameters = + [ + new() + { + Name = "OldValue", + Override = new() + { + Kind = MarshallingKind.StringUtf16, + StringConverterTypeName = "Avalonia.Host.Com.AvnDecimal", + }, + }, + new() + { + Name = "NewValue", + Override = new() + { + Kind = MarshallingKind.StringUtf16, + StringConverterTypeName = "Avalonia.Host.Com.AvnDecimal", + }, + }, + ], }, ["Avalonia.Controls.CalendarDatePicker.CalendarOpened"] = new() { @@ -1449,9 +1485,11 @@ public static class AvaloniaProjectionProfiles { PayloadKind = EventPayloadKind.None, }, + // Wave P: RangeBaseValueChangedEventArgs carries the old/new double pair. ["Avalonia.Controls.Primitives.RangeBase.ValueChanged"] = new() { - PayloadKind = EventPayloadKind.None, + PayloadKind = EventPayloadKind.Fields, + Parameters = [new() { Name = "OldValue" }, new() { Name = "NewValue" }], }, ["Avalonia.Controls.Expander.Expanded"] = new() { @@ -1477,15 +1515,27 @@ public static class AvaloniaProjectionProfiles { PayloadKind = EventPayloadKind.None, }, + // Wave P: SelectionChangedEventArgs carries the added/removed item lists, + // which cross as Variant slots on the host-implemented args interface. ["Avalonia.Controls.Primitives.SelectingItemsControl.SelectionChanged"] = new() { - PayloadKind = EventPayloadKind.None, + PayloadKind = EventPayloadKind.Args, + Parameters = + [ + new() { Name = "AddedItems" }, + new() { Name = "RemovedItems" }, + ], }, // TreeView derives from ItemsControl, so its SelectionChanged is its own event - // rather than the SelectingItemsControl one. + // rather than the SelectingItemsControl one. Same SelectionChangedEventArgs shape. ["Avalonia.Controls.TreeView.SelectionChanged"] = new() { - PayloadKind = EventPayloadKind.None, + PayloadKind = EventPayloadKind.Args, + Parameters = + [ + new() { Name = "AddedItems" }, + new() { Name = "RemovedItems" }, + ], }, ["Avalonia.Controls.TreeViewItem.Expanded"] = new() { @@ -1778,13 +1828,45 @@ public static class AvaloniaProjectionProfiles new() { Name = "Handled", Direction = ParameterDirection.InOut }, ], }, - ["Avalonia.Controls.Control.PointerEntered"] = new() + // Wave P: KeyUp mirrors KeyDown; GotFocus carries the navigation context; + // LostFocusEventArgs has no payload members, so it crosses as a notification. + ["Avalonia.Controls.Control.KeyUp"] = new() + { + PayloadKind = EventPayloadKind.Fields, + Parameters = + [ + new() { Name = "Key" }, + new() { Name = "PhysicalKey" }, + new() { Name = "KeyModifiers" }, + new() { Name = "KeySymbol" }, + new() { Name = "Handled", Direction = ParameterDirection.InOut }, + ], + }, + ["Avalonia.Controls.Control.GotFocus"] = new() + { + PayloadKind = EventPayloadKind.Fields, + Parameters = + [ + new() { Name = "NavigationMethod" }, + new() { Name = "KeyModifiers" }, + ], + }, + ["Avalonia.Controls.Control.LostFocus"] = new() { PayloadKind = EventPayloadKind.None, }, + // Wave Q: PointerEventArgs is a routed-event args type whose host-typed members + // (IPointer, the relative position) stay off the wire; the device-independent + // scalars cross as fields. + ["Avalonia.Controls.Control.PointerEntered"] = new() + { + PayloadKind = EventPayloadKind.Fields, + Parameters = [new() { Name = "KeyModifiers" }], + }, ["Avalonia.Controls.Control.PointerExited"] = new() { - PayloadKind = EventPayloadKind.None, + PayloadKind = EventPayloadKind.Fields, + Parameters = [new() { Name = "KeyModifiers" }], }, ["Avalonia.Controls.Control.Loaded"] = new() { @@ -1794,6 +1876,28 @@ public static class AvaloniaProjectionProfiles { PayloadKind = EventPayloadKind.None, }, + // Wave Q: TappedEventArgs carries the tap as a KeyModifiers field. DoubleTapped + // has no payload members of its own, so it crosses as a notification. + ["Avalonia.Controls.Control.Tapped"] = new() + { + PayloadKind = EventPayloadKind.Fields, + Parameters = [new() { Name = "KeyModifiers" }], + }, + ["Avalonia.Controls.Control.DoubleTapped"] = new() + { + PayloadKind = EventPayloadKind.None, + }, + // Wave Q: PointerWheelEventArgs carries the scroll delta as an AvnVector and + // the modifiers at the time of the wheel tick. + ["Avalonia.Controls.Control.PointerWheelChanged"] = new() + { + PayloadKind = EventPayloadKind.Fields, + Parameters = + [ + new() { Name = "Delta" }, + new() { Name = "KeyModifiers" }, + ], + }, }, AttachedProperties = new Dictionary>(StringComparer.Ordinal) { diff --git a/projection/Avalonia.Projection.Ir/ClrTypeExtractor.cs b/projection/Avalonia.Projection.Ir/ClrTypeExtractor.cs index ab20155..f52cca4 100644 --- a/projection/Avalonia.Projection.Ir/ClrTypeExtractor.cs +++ b/projection/Avalonia.Projection.Ir/ClrTypeExtractor.cs @@ -320,6 +320,22 @@ private static ProjectedType ProjectType( eventParameters.Clear(); break; } + + if (parameterProjection.Override is { } parameterOverride) + { + eventParameters.Add(new ProjectedParameter + { + Name = property.Name, + Kind = parameterOverride.Kind, + InterfaceName = parameterOverride.InterfaceName, + ManagedTypeName = property.PropertyType.FullName, + IsNullable = parameterOverride.IsNullable ?? IsNullable(property), + Direction = parameterProjection.Direction, + StringConverterTypeName = parameterOverride.StringConverterTypeName, + }); + continue; + } + if (!TryMapType( property.PropertyType, projectedNames, diff --git a/projection/Avalonia.Projection.Ir/ProjectedParameter.cs b/projection/Avalonia.Projection.Ir/ProjectedParameter.cs index e0ef3ca..23d0118 100644 --- a/projection/Avalonia.Projection.Ir/ProjectedParameter.cs +++ b/projection/Avalonia.Projection.Ir/ProjectedParameter.cs @@ -8,4 +8,11 @@ public sealed class ProjectedParameter public string? InterfaceName { get; init; } public string? ManagedTypeName { get; init; } public bool IsNullable { get; init; } + + /// + /// For event fields whose CLR type is not + /// System.String: the host-side static class that owns the string round-trip. + /// Mirrors . + /// + public string? StringConverterTypeName { get; init; } } diff --git a/projection/Avalonia.Projection.Ir/ProjectionPolicy.cs b/projection/Avalonia.Projection.Ir/ProjectionPolicy.cs index 1213b2c..986e814 100644 --- a/projection/Avalonia.Projection.Ir/ProjectionPolicy.cs +++ b/projection/Avalonia.Projection.Ir/ProjectionPolicy.cs @@ -129,6 +129,14 @@ public sealed class EventParameterProjection { public required string Name { get; init; } public ParameterDirection Direction { get; init; } = ParameterDirection.In; + + /// + /// An optional per-parameter marshalling override for argument properties whose CLR + /// type has no direct ABI shape (for example decimal?, which crosses as an + /// invariant UTF-16 string through a host converter). Overrides the extractor's + /// type-driven mapping for this one parameter. + /// + public MarshallingOverride? Override { get; init; } } public sealed class MarshallingOverride diff --git a/rust/.avalonia-projection.owned.json b/rust/.avalonia-projection.owned.json index 03128f6..5de7d23 100644 --- a/rust/.avalonia-projection.owned.json +++ b/rust/.avalonia-projection.owned.json @@ -7,7 +7,7 @@ }, { "path": "projection.ir.json", - "sha256": "1c3f0e0b5b21f98ecd7a6de97f207f0f90fc0b5eb42eb4fd2bec4c583db0c802" + "sha256": "780eb004b70506dc1a826f1d67a9f83777b270d971bb211cd49ddbb5a9d5b686" } ] } diff --git a/rust/COMPATIBILITY.md b/rust/COMPATIBILITY.md index 7f866da..148ed70 100644 --- a/rust/COMPATIBILITY.md +++ b/rust/COMPATIBILITY.md @@ -76,6 +76,22 @@ with a host from another. The overlay-chrome pass widens the leaf `IAvnWindow` ABI from 7 to 8 to expose only the safe, non-nullable window work-area and dialog members. This stays local to the window leaf: `IAvnContentControl` remains at 6 and the factory remains at 13, while blockers such as `Icon`, `Position`, nullable geometry, and cancelable `Closing` payloads stay out of scope. +The wave P event-payload pass grows `IAvnControl` with `KeyUp`, `GotFocus` +and `LostFocus`, so `IAvnControl` and every interface below it republish on +fresh IIDs. Three previously payload-less handlers change their `Invoke` +shape and therefore mint new identities at version 2: +`IAvnSelectingItemsControlSelectionChangedHandler` and +`IAvnTreeViewSelectionChangedHandler` now receive a host-implemented +`*SelectionChangedArgs` interface exposing the added/removed items as Variant +count/getter slots, and `IAvnRangeBaseValueChangedHandler` now carries the +old/new value pair as fields. The advise/unadvise slots on the control +interfaces keep their signatures throughout; only the handler identities move. +Consumers compiled against the version 1 handlers fail `QueryInterface` +loudly (`E_NOINTERFACE`) rather than being called through a stale vtable. +After an intentional ABI wave, regenerate the frozen snapshot with +`pwsh ./rust/regenerate-and-build.ps1 -UpdateAbiBaseline` in the same change +so `abi-baseline.json` stays the reviewed record of what is released. + Published interface IIDs, vtable slot order, method signatures, calling conventions, ownership rules, and error semantics are immutable. Never reuse an IID for a changed interface and never insert a slot into an existing vtable. diff --git a/rust/abi-baseline.json b/rust/abi-baseline.json index c56963b..668e414 100644 --- a/rust/abi-baseline.json +++ b/rust/abi-baseline.json @@ -602,6 +602,25 @@ } ] }, + { + "name": "invoke", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "int32_t", + "name": "navigation_method" + }, + { + "type": "int32_t", + "name": "key_modifiers" + } + ] + }, { "name": "invoke", "callingConvention": "AVN_CALL", @@ -633,6 +652,40 @@ } ] }, + { + "name": "invoke", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "int32_t", + "name": "key_modifiers" + } + ] + }, + { + "name": "invoke", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "AvnVector", + "name": "delta" + }, + { + "type": "int32_t", + "name": "key_modifiers" + } + ] + }, { "name": "invoke", "callingConvention": "AVN_CALL", @@ -690,6 +743,59 @@ } ] }, + { + "name": "invoke", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "const uint16_t*", + "name": "old_value" + }, + { + "type": "const uint16_t*", + "name": "new_value" + } + ] + }, + { + "name": "invoke", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "double", + "name": "old_value" + }, + { + "type": "double", + "name": "new_value" + } + ] + }, + { + "name": "invoke", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "IAvnSelectingItemsControlSelectionChangedArgs*", + "name": "args" + } + ] + }, { "name": "invoke", "callingConvention": "AVN_CALL", @@ -747,6 +853,21 @@ } ] }, + { + "name": "invoke", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "IAvnTreeViewSelectionChangedArgs*", + "name": "args" + } + ] + }, { "name": "invoke", "callingConvention": "AVN_CALL", @@ -2227,6 +2348,36 @@ } ] }, + { + "name": "get_focusable", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "int32_t*", + "name": "value" + } + ] + }, + { + "name": "set_focusable", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "int32_t", + "name": "value" + } + ] + }, { "name": "get_is_enabled", "callingConvention": "AVN_CALL", @@ -2257,6 +2408,29 @@ } ] }, + { + "name": "focus_with_navigation_method_and_key_modifiers", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "int32_t", + "name": "method" + }, + { + "type": "int32_t", + "name": "key_modifiers" + }, + { + "type": "int32_t*", + "name": "value" + } + ] + }, { "name": "advise_loaded", "callingConvention": "AVN_CALL", @@ -2359,6 +2533,74 @@ } ] }, + { + "name": "advise_got_focus", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "IAvnControlGotFocusHandler*", + "name": "handler" + }, + { + "type": "int64_t*", + "name": "subscription_id" + } + ] + }, + { + "name": "unadvise_got_focus", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "int64_t", + "name": "subscription_id" + } + ] + }, + { + "name": "advise_lost_focus", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "IAvnControlLostFocusHandler*", + "name": "handler" + }, + { + "type": "int64_t*", + "name": "subscription_id" + } + ] + }, + { + "name": "unadvise_lost_focus", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "int64_t", + "name": "subscription_id" + } + ] + }, { "name": "advise_key_down", "callingConvention": "AVN_CALL", @@ -2393,6 +2635,40 @@ } ] }, + { + "name": "advise_key_up", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "IAvnControlKeyUpHandler*", + "name": "handler" + }, + { + "type": "int64_t*", + "name": "subscription_id" + } + ] + }, + { + "name": "unadvise_key_up", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "int64_t", + "name": "subscription_id" + } + ] + }, { "name": "advise_pointer_entered", "callingConvention": "AVN_CALL", @@ -2461,6 +2737,108 @@ } ] }, + { + "name": "advise_pointer_wheel_changed", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "IAvnControlPointerWheelChangedHandler*", + "name": "handler" + }, + { + "type": "int64_t*", + "name": "subscription_id" + } + ] + }, + { + "name": "unadvise_pointer_wheel_changed", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "int64_t", + "name": "subscription_id" + } + ] + }, + { + "name": "advise_tapped", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "IAvnControlTappedHandler*", + "name": "handler" + }, + { + "type": "int64_t*", + "name": "subscription_id" + } + ] + }, + { + "name": "unadvise_tapped", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "int64_t", + "name": "subscription_id" + } + ] + }, + { + "name": "advise_double_tapped", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "IAvnControlDoubleTappedHandler*", + "name": "handler" + }, + { + "type": "int64_t*", + "name": "subscription_id" + } + ] + }, + { + "name": "unadvise_double_tapped", + "callingConvention": "AVN_CALL", + "returnType": "AvnHResult", + "parameters": [ + { + "type": "$self", + "name": "self" + }, + { + "type": "int64_t", + "name": "subscription_id" + } + ] + }, { "name": "get_fill", "callingConvention": "AVN_CALL", @@ -17468,6 +17846,7 @@ "IAvnStyledElement.E.Initialized:None:", "IAvnStyledElement.E.ResourcesChanged:None:", "IAvnStyledElement.E.ActualThemeVariantChanged:None:", + "IAvnControl.M.FocusWithNavigationMethodAndKeyModifiers:I32:method:I32:In:0,keyModifiers:I32:In:0,value:Bool:Out:0", "IAvnControl.P.IsVisible:Bool:0:1:1:", "IAvnControl.P.Opacity:F64:0:1:1:", "IAvnControl.P.ContextMenu:ComInterface:1:1:1:", @@ -17483,13 +17862,20 @@ "IAvnControl.P.Margin:Thickness:0:1:1:", "IAvnControl.P.HorizontalAlignment:I32:0:1:1:", "IAvnControl.P.VerticalAlignment:I32:0:1:1:", + "IAvnControl.P.Focusable:Bool:0:1:1:", "IAvnControl.P.IsEnabled:Bool:0:1:1:", "IAvnControl.E.Loaded:None:", "IAvnControl.E.Unloaded:None:", "IAvnControl.E.SizeChanged:Fields:NewSize:Size:In:0,PreviousSize:Size:In:0", + "IAvnControl.E.GotFocus:Fields:NavigationMethod:I32:In:0,KeyModifiers:I32:In:0", + "IAvnControl.E.LostFocus:None:", "IAvnControl.E.KeyDown:Fields:Key:I32:In:0,PhysicalKey:I32:In:0,KeyModifiers:I32:In:0,KeySymbol:StringUtf16:In:1,Handled:Bool:InOut:0", - "IAvnControl.E.PointerEntered:None:", - "IAvnControl.E.PointerExited:None:", + "IAvnControl.E.KeyUp:Fields:Key:I32:In:0,PhysicalKey:I32:In:0,KeyModifiers:I32:In:0,KeySymbol:StringUtf16:In:1,Handled:Bool:InOut:0", + "IAvnControl.E.PointerEntered:Fields:KeyModifiers:I32:In:0", + "IAvnControl.E.PointerExited:Fields:KeyModifiers:I32:In:0", + "IAvnControl.E.PointerWheelChanged:Fields:Delta:Vector:In:0,KeyModifiers:I32:In:0", + "IAvnControl.E.Tapped:Fields:KeyModifiers:I32:In:0", + "IAvnControl.E.DoubleTapped:None:", "IAvnShape.P.Fill:Brush:1:1:1:", "IAvnShape.P.Stretch:I32:0:1:1:", "IAvnShape.P.Stroke:Brush:1:1:1:", @@ -17632,7 +18018,7 @@ "IAvnSelectingItemsControl.P.SelectedValue:Variant:1:1:1:", "IAvnSelectingItemsControl.P.IsTextSearchEnabled:Bool:0:1:1:", "IAvnSelectingItemsControl.P.WrapSelection:Bool:0:1:1:", - "IAvnSelectingItemsControl.E.SelectionChanged:None:", + "IAvnSelectingItemsControl.E.SelectionChanged:Args:AddedItems:Variant:In:0,RemovedItems:Variant:In:0", "IAvnCarousel.M.Next:I32:", "IAvnCarousel.M.Previous:I32:", "IAvnCarousel.P.IsSwipeEnabled:Bool:0:1:1:", @@ -17890,7 +18276,7 @@ "IAvnNumericUpDown.P.InnerLeftContent:ComInterface:1:1:1:", "IAvnNumericUpDown.P.InnerRightContent:ComInterface:1:1:1:", "IAvnNumericUpDown.E.Spinned:Fields:Direction:I32:In:0,UsingMouseWheel:Bool:In:0", - "IAvnNumericUpDown.E.ValueChanged:None:", + "IAvnNumericUpDown.E.ValueChanged:Fields:OldValue:StringUtf16:In:1,NewValue:StringUtf16:In:1", "IAvnPath.P.Data:StringUtf16:1:1:1:", "IAvnPathIcon.P.Data:StringUtf16:1:1:1:", "IAvnPipsPager.P.MaxVisiblePips:I32:0:1:1:", @@ -17934,7 +18320,7 @@ "IAvnRangeBase.P.Value:F64:0:1:1:", "IAvnRangeBase.P.SmallChange:F64:0:1:1:", "IAvnRangeBase.P.LargeChange:F64:0:1:1:", - "IAvnRangeBase.E.ValueChanged:None:", + "IAvnRangeBase.E.ValueChanged:Fields:OldValue:F64:In:0,NewValue:F64:In:0", "IAvnProgressBar.P.Percentage:F64:0:1:0:", "IAvnProgressBar.P.IsIndeterminate:Bool:0:1:1:", "IAvnProgressBar.P.ShowProgressText:Bool:0:1:1:", @@ -18096,7 +18482,7 @@ "IAvnTreeView.P.SelectionMode:I32:0:1:1:", "IAvnTreeView.P.SelectedItem:Variant:1:1:1:", "IAvnTreeView.P.SelectedItems:ComCollection:1:1:1:Variant", - "IAvnTreeView.E.SelectionChanged:None:", + "IAvnTreeView.E.SelectionChanged:Args:AddedItems:Variant:In:0,RemovedItems:Variant:In:0", "IAvnTreeViewItem.P.IsExpanded:Bool:0:1:1:", "IAvnTreeViewItem.P.IsSelected:Bool:0:1:1:", "IAvnTreeViewItem.P.Level:I32:0:1:0:", @@ -18152,20 +18538,13 @@ "interfaces": [ { "name": "IAvnArc", - "iid": "80597080-EEDD-5CAA-B4F1-88D78CA23B79", + "iid": "2DACA1F8-5364-5CB5-B471-81682B00E389", "iidConstant": "I_AVN_ARC_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -18184,7 +18563,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -18192,6 +18570,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -18246,7 +18625,29 @@ 146, 147, 148, - 149 + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171 ], "irBases": [ "IAvnAvaloniaObject", @@ -18301,7 +18702,15 @@ 42, 43, 44, - 45 + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 ] }, { @@ -18313,7 +18722,7 @@ 0, 1, 2, - 41 + 48 ] }, { @@ -18325,25 +18734,18 @@ 0, 1, 2, - 40 + 47 ] }, { "name": "IAvnAutoCompleteBox", - "iid": "92CEFC39-4E40-5193-893F-F3E2C77ED24C", + "iid": "6D1670C7-0D52-5BB1-8289-6C2617B74A6C", "iidConstant": "I_AVN_AUTO_COMPLETE_BOX_IID", - "abiVersion": 16, + "abiVersion": 19, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -18362,7 +18764,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -18370,6 +18771,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -18403,28 +18805,28 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, @@ -18492,7 +18894,29 @@ 236, 237, 238, - 239 + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 ], "irBases": [ "IAvnAvaloniaObject", @@ -18537,14 +18961,14 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, @@ -18582,7 +19006,15 @@ 88, 89, 90, - 91 + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 ] }, { @@ -18718,30 +19150,22 @@ 0, 1, 2, - 63, - 64 + 70, + 71 ], "irBases": [ "IAvnAvaloniaObject" - ], - "irMembers": [] + ] }, { "name": "IAvnBorder", - "iid": "80C1079E-AFDF-5483-A560-2DDB475CF894", + "iid": "430F4A36-8B46-5F3C-8E4D-BD11AA522969", "iidConstant": "I_AVN_BORDER_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -18760,7 +19184,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -18768,6 +19191,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -18801,23 +19225,45 @@ 125, 126, 127, - 240, - 241, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 262, + 263, + 198, + 199, + 172, + 173, + 174, + 175, 176, 177, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 242, - 243, - 244 + 178, + 179, + 180, + 181, + 264, + 265, + 266 ], "irBases": [ "IAvnAvaloniaObject", @@ -18862,15 +19308,23 @@ 32, 33, 34, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108 ] }, { @@ -18882,26 +19336,19 @@ 0, 1, 2, - 27, - 28 + 34, + 35 ] }, { "name": "IAvnButton", - "iid": "62D66949-2173-5007-9613-1F4B3E7C144E", + "iid": "085861C8-F91D-5AFE-B57A-E601477FC2D2", "iidConstant": "I_AVN_BUTTON_IID", - "abiVersion": 16, + "abiVersion": 19, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -18920,7 +19367,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -18928,6 +19374,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -18961,59 +19408,81 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 267, 268, - 269 + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291 ], "irBases": [ "IAvnAvaloniaObject", @@ -19059,33 +19528,41 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 109, 110, 111, 112, - 113 + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121 ] }, { @@ -19102,20 +19579,13 @@ }, { "name": "IAvnButtonSpinner", - "iid": "046C4736-CECE-5455-98A8-F2DD3C84C846", + "iid": "907404D5-1DE4-574D-990E-2D8A79373D6D", "iidConstant": "I_AVN_BUTTON_SPINNER_IID", - "abiVersion": 9, + "abiVersion": 12, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -19134,7 +19604,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -19142,6 +19611,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -19175,52 +19645,74 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, 270, 271, 272, 273, 274, - 275, - 276, - 277, - 278, - 279 + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301 ], "irBases": [ "IAvnAvaloniaObject", @@ -19267,47 +19759,48 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 114, - 115, - 116, - 117, - 118 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 122, + 123, + 124, + 125, + 126 ] }, { "name": "IAvnCalendar", - "iid": "F1D659B7-93E5-5093-9D16-C480F7520E14", + "iid": "2ECA7A03-1AA5-5FC5-B1CC-7ECDDCF200D1", "iidConstant": "I_AVN_CALENDAR_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -19326,7 +19819,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -19334,6 +19826,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -19367,56 +19860,56 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 280, - 281, - 282, - 283, - 284, - 285, - 286, - 287, - 288, - 289, - 290, - 291, - 292, - 293, - 294, - 295, - 296, - 297, - 298, - 299, - 300, - 301, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 302, 303, 304, @@ -19426,7 +19919,29 @@ 308, 309, 310, - 311 + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333 ], "irBases": [ "IAvnAvaloniaObject", @@ -19471,28 +19986,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 127, 128, 129, @@ -19501,25 +20016,26 @@ 132, 133, 134, - 135 + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 ] }, { "name": "IAvnCalendarDatePicker", - "iid": "DC5958DB-F3AD-5B9F-9C86-7B66DD3D2429", + "iid": "3CB1E562-6FEB-5E8B-A79A-9C1B3DB4AE62", "iidConstant": "I_AVN_CALENDAR_DATE_PICKER_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -19538,7 +20054,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -19546,6 +20061,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -19579,78 +20095,100 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 303, - 299, - 300, - 301, - 302, - 304, - 305, - 280, - 281, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, 190, 191, - 282, - 283, - 296, - 297, - 312, - 313, - 314, - 315, + 192, + 193, + 194, + 195, 196, 197, - 201, - 202, - 316, - 317, - 203, - 204, - 249, - 250, - 251, - 252, - 286, - 287, - 288, - 289, - 53, - 318, - 319, - 320, + 198, + 199, + 325, 321, 322, 323, 324, - 325 + 326, + 327, + 302, + 303, + 212, + 213, + 304, + 305, + 318, + 319, + 334, + 335, + 336, + 337, + 218, + 219, + 223, + 224, + 338, + 339, + 225, + 226, + 271, + 272, + 273, + 274, + 308, + 309, + 310, + 311, + 60, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347 ], "irBases": [ "IAvnAvaloniaObject", @@ -19695,28 +20233,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 144, 145, 146, @@ -19731,7 +20269,15 @@ 155, 156, 157, - 158 + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166 ] }, { @@ -19850,20 +20396,13 @@ }, { "name": "IAvnCanvas", - "iid": "D9F89602-BD30-55F3-84C5-69EF65A6D0DA", + "iid": "DB97347A-FE7E-5006-93B7-E4B555A261A9", "iidConstant": "I_AVN_CANVAS_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -19882,7 +20421,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -19890,6 +20428,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -19923,9 +20462,31 @@ 125, 126, 127, - 326, - 150, - 151 + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 348, + 172, + 173 ], "irBases": [ "IAvnAvaloniaObject", @@ -19970,8 +20531,16 @@ 32, 33, 34, - 159, - 160 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 167, + 168 ] }, { @@ -19983,32 +20552,25 @@ 0, 1, 2, - 947, - 948, - 949, - 950, - 951, - 952, - 953, - 954 + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976 ] }, { "name": "IAvnCarousel", - "iid": "14D0DA2B-D8DF-5816-8B51-455DCF738DF0", + "iid": "062C586F-DB97-53CF-8DC3-A2F159E0BD23", "iidConstant": "I_AVN_CAROUSEL_IID", - "abiVersion": 13, + "abiVersion": 16, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -20027,7 +20589,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -20035,6 +20596,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -20068,67 +20630,89 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, 194, 195, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 239, - 346, - 347, - 348, + 196, + 197, + 198, + 199, 349, 350, + 237, + 238, + 206, + 207, 351, - 352 + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 216, + 217, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 261, + 368, + 369, + 370, + 371, + 372, + 373, + 374 ], "irBases": [ "IAvnAvaloniaObject", @@ -20175,28 +20759,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, 171, @@ -20210,25 +20794,26 @@ 179, 180, 181, - 182 + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190 ] }, { "name": "IAvnCheckBox", - "iid": "2D002AFC-AAFB-5C2D-B747-D08DF78AC852", + "iid": "7A084E79-BA86-55BF-A9E8-E7786F3D4242", "iidConstant": "I_AVN_CHECK_BOX_IID", - "abiVersion": 16, + "abiVersion": 19, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -20247,7 +20832,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -20255,6 +20839,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -20288,65 +20873,87 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 267, 268, 269, - 353, - 354, - 355, - 356, - 357, - 358 + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 375, + 376, + 377, + 378, + 379, + 380 ], "irBases": [ "IAvnAvaloniaObject", @@ -20394,54 +21001,55 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 109, 110, 111, 112, 113, - 183, - 184, - 185 + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 191, + 192, + 193 ] }, { "name": "IAvnComboBox", - "iid": "86CA773B-56AB-521C-BA29-D2579C59F7F3", + "iid": "1DA7FC0F-6D3F-5669-8644-030686AD4FD3", "iidConstant": "I_AVN_COMBO_BOX_IID", - "abiVersion": 17, + "abiVersion": 20, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -20460,7 +21068,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -20468,6 +21075,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -20501,80 +21109,102 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, - 194, - 195, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 239, - 190, - 191, - 359, - 360, + 186, + 187, 188, 189, - 361, - 201, - 202, - 203, - 204, - 362, - 363, + 190, + 191, + 192, + 193, + 194, + 195, 196, 197, - 53, - 364, + 198, + 199, + 349, + 350, 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 216, + 217, + 361, + 362, + 363, + 364, 365, - 233 + 366, + 367, + 261, + 212, + 213, + 381, + 382, + 210, + 211, + 383, + 223, + 224, + 225, + 226, + 384, + 385, + 218, + 219, + 60, + 386, + 259, + 387, + 255 ], "irBases": [ "IAvnAvaloniaObject", @@ -20621,28 +21251,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, 171, @@ -20652,17 +21282,25 @@ 175, 176, 177, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, 194, 195, - 196 + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204 ] }, { @@ -20691,20 +21329,13 @@ }, { "name": "IAvnComboBoxItem", - "iid": "2B9D2E17-500A-56F0-A0DB-14B92FF28CCB", + "iid": "2D2F584F-6CD6-59C9-B536-463E6CC21B72", "iidConstant": "I_AVN_COMBO_BOX_ITEM_IID", - "abiVersion": 15, + "abiVersion": 18, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -20723,7 +21354,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -20731,6 +21361,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -20764,44 +21395,66 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 366, - 367 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 388, + 389 ], "irBases": [ "IAvnAvaloniaObject", @@ -20848,25 +21501,33 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 197 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 205 ] }, { @@ -20878,28 +21539,21 @@ 0, 1, 2, - 29, - 30, - 31, - 32 + 36, + 37, + 38, + 39 ] }, { "name": "IAvnCommandBar", - "iid": "1A9B7C3D-4D24-5330-9F8F-D9D0BC712695", + "iid": "19280D2B-7145-59DC-AD55-557541EC0147", "iidConstant": "I_AVN_COMMAND_BAR_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -20918,7 +21572,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -20926,6 +21579,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -20959,68 +21613,90 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 368, - 369, - 370, - 371, - 372, - 373, - 245, - 246, - 374, - 375, - 376, - 377, - 378, - 379, - 380, - 381, - 382, - 383, - 384, - 385, - 386, - 387, - 388, - 389, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 390, 391, 392, 393, 394, 395, + 267, + 268, 396, 397, 398, - 399 + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421 ], "irBases": [ "IAvnAvaloniaObject", @@ -21065,28 +21741,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 206, 207, 208, @@ -21097,25 +21773,26 @@ 213, 214, 215, - 216 + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224 ] }, { "name": "IAvnCommandBarButton", - "iid": "427EE3EA-2EA0-5FF8-B413-7D989D892604", + "iid": "45F67F66-ADC9-5D8D-9D41-8749F537025E", "iidConstant": "I_AVN_COMMAND_BAR_BUTTON_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -21134,7 +21811,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -21142,6 +21818,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -21175,71 +21852,93 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 267, 268, 269, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411 + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433 ], "irBases": [ "IAvnAvaloniaObject", @@ -21286,39 +21985,47 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 109, 110, 111, 112, 113, - 217, - 218, - 219, - 220, - 221, - 222 + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 225, + 226, + 227, + 228, + 229, + 230 ] }, { @@ -21371,20 +22078,13 @@ }, { "name": "IAvnCommandBarSeparator", - "iid": "3D86A39E-0EC3-58FA-BE17-2F3CE4E95021", + "iid": "7A5D6F68-43D8-5F3C-B7A3-09C4440A3EF7", "iidConstant": "I_AVN_COMMAND_BAR_SEPARATOR_IID", - "abiVersion": 9, + "abiVersion": 12, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -21403,7 +22103,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -21411,6 +22110,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -21444,38 +22144,60 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 404, - 405, - 410, - 411 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 426, + 427, + 432, + 433 ], "irBases": [ "IAvnAvaloniaObject", @@ -21521,40 +22243,41 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 223, - 224 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 231, + 232 ] }, { "name": "IAvnCommandBarToggleButton", - "iid": "7E7CC18B-4E66-5650-8FE4-1ACA445FA907", + "iid": "3E3D29A6-520A-5B09-81E3-6395784D2C55", "iidConstant": "I_AVN_COMMAND_BAR_TOGGLE_BUTTON_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -21573,7 +22296,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -21581,6 +22303,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -21614,77 +22337,99 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 267, 268, 269, - 353, - 354, - 355, - 356, - 357, - 358, - 400, - 401, - 402, - 403, - 404, - 405, - 406, - 407, - 408, - 409, - 410, - 411 + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 375, + 376, + 377, + 378, + 379, + 380, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433 ], "irBases": [ "IAvnAvaloniaObject", @@ -21732,42 +22477,50 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 109, 110, 111, 112, 113, - 183, - 184, - 185, - 225, - 226, - 227, - 228, - 229, - 230 + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 191, + 192, + 193, + 233, + 234, + 235, + 236, + 237, + 238 ] }, { @@ -21784,20 +22537,13 @@ }, { "name": "IAvnContentControl", - "iid": "F3CE3FB2-CD2D-5839-81C7-3DF70C3AD2F5", + "iid": "7312A513-1E46-5A98-9507-851220C7A465", "iidConstant": "I_AVN_CONTENT_CONTROL_IID", - "abiVersion": 13, + "abiVersion": 16, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -21816,7 +22562,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -21824,6 +22569,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -21857,42 +22603,64 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274 ], "irBases": [ "IAvnAvaloniaObject", @@ -21937,42 +22705,43 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112 ] }, { "name": "IAvnContextMenu", - "iid": "A5BAC0B5-5163-5500-8C58-629BE7DE3037", + "iid": "58A98293-5AA3-59E4-AB2B-CE021C5A5CCA", "iidConstant": "I_AVN_CONTEXT_MENU_IID", - "abiVersion": 15, + "abiVersion": 18, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -21991,17 +22760,17 @@ 85, 86, 87, - 28, 88, 89, - 412, + 90, 91, 92, 93, 94, + 35, 95, 96, - 97, + 434, 98, 99, 100, @@ -22032,92 +22801,114 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, 194, 195, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 239, - 380, - 413, - 414, - 415, - 395, - 416, - 399, - 417, - 418, - 419, - 420, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 429, - 430, - 431, - 432, - 433, - 434, + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 216, + 217, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 261, + 402, 435, 436, 437, + 417, 438, - 393, + 421, 439, - 397 + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 415, + 461, + 419 ], "irBases": [ "IAvnAvaloniaObject", @@ -22165,28 +22956,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, 171, @@ -22196,14 +22987,14 @@ 175, 176, 177, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, 239, 240, 241, @@ -22213,7 +23004,15 @@ 245, 246, 247, - 248 + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256 ] }, { @@ -22242,20 +23041,13 @@ }, { "name": "IAvnControl", - "iid": "06D79016-63D8-5035-B293-19969F0BB3C6", + "iid": "8B272500-09E4-535F-ABF1-14992E90E778", "iidConstant": "I_AVN_CONTROL_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -22274,7 +23066,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -22282,6 +23073,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -22314,7 +23106,29 @@ 124, 125, 126, - 127 + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149 ], "irBases": [ "IAvnAvaloniaObject", @@ -22356,7 +23170,27 @@ 31, 32, 33, - 34 + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42 + ] + }, + { + "name": "IAvnControlDoubleTappedHandler", + "iid": "11D5E069-AEFD-566B-92CC-CDB483877C33", + "iidConstant": "I_AVN_CONTROL_DOUBLE_TAPPED_HANDLER_IID", + "abiVersion": 1, + "slots": [ + 0, + 1, + 2, + 3 ] }, { @@ -22368,28 +23202,6 @@ 0, 1, 2, - 997, - 998, - 999, - 1000, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, 1019, 1020, 1021, @@ -22470,7 +23282,41 @@ 1096, 1097, 1098, - 1099 + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121 + ] + }, + { + "name": "IAvnControlGotFocusHandler", + "iid": "6621A073-4D3B-54C6-A32E-5701CDB745AD", + "iidConstant": "I_AVN_CONTROL_GOT_FOCUS_HANDLER_IID", + "abiVersion": 1, + "slots": [ + 0, + 1, + 2, + 19 ] }, { @@ -22482,7 +23328,19 @@ 0, 1, 2, - 19 + 20 + ] + }, + { + "name": "IAvnControlKeyUpHandler", + "iid": "B4FC3B9A-CF71-5EBB-9852-A46AEC80C6FE", + "iidConstant": "I_AVN_CONTROL_KEY_UP_HANDLER_IID", + "abiVersion": 1, + "slots": [ + 0, + 1, + 2, + 20 ] }, { @@ -22494,12 +23352,12 @@ 0, 1, 2, - 48, - 49, - 50, - 51, - 52, - 53 + 55, + 56, + 57, + 58, + 59, + 60 ] }, { @@ -22514,6 +23372,18 @@ 3 ] }, + { + "name": "IAvnControlLostFocusHandler", + "iid": "BB0FBAD2-DB37-56AE-A3C2-73BC2030BD06", + "iidConstant": "I_AVN_CONTROL_LOST_FOCUS_HANDLER_IID", + "abiVersion": 1, + "slots": [ + 0, + 1, + 2, + 3 + ] + }, { "name": "IAvnControlPointerEnteredHandler", "iid": "CC8694AC-C51C-5791-A898-1B0DE4D84DC8", @@ -22523,7 +23393,7 @@ 0, 1, 2, - 3 + 21 ] }, { @@ -22535,7 +23405,19 @@ 0, 1, 2, - 3 + 21 + ] + }, + { + "name": "IAvnControlPointerWheelChangedHandler", + "iid": "4318E60A-86C6-5142-8600-0D61AA20CE93", + "iidConstant": "I_AVN_CONTROL_POINTER_WHEEL_CHANGED_HANDLER_IID", + "abiVersion": 1, + "slots": [ + 0, + 1, + 2, + 22 ] }, { @@ -22547,7 +23429,19 @@ 0, 1, 2, - 20 + 23 + ] + }, + { + "name": "IAvnControlTappedHandler", + "iid": "7784D53F-FAEE-5089-8844-C9F5CC3E8632", + "iidConstant": "I_AVN_CONTROL_TAPPED_HANDLER_IID", + "abiVersion": 1, + "slots": [ + 0, + 1, + 2, + 21 ] }, { @@ -22571,26 +23465,19 @@ 0, 1, 2, - 33, - 34 + 40, + 41 ] }, { "name": "IAvnDatePicker", - "iid": "5C7D5B90-EC20-5621-BE13-EADAB8A0701B", + "iid": "2AAFC151-688F-5326-B651-D022BD55487D", "iidConstant": "I_AVN_DATE_PICKER_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -22609,7 +23496,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -22617,6 +23503,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -22650,57 +23537,79 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 251, - 252, - 440, - 441, - 442, - 443, - 444, - 445, - 446, - 447, - 448, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 296, - 297, - 53, - 456, - 325 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 273, + 274, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 318, + 319, + 60, + 478, + 347 ], "irBases": [ "IAvnAvaloniaObject", @@ -22745,32 +23654,40 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 257, 258, 259, - 260 + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268 ] }, { @@ -22782,7 +23699,7 @@ 0, 1, 2, - 21 + 24 ] }, { @@ -22794,30 +23711,23 @@ 0, 1, 2, - 48, - 54, 55, - 56, - 52, - 53 + 61, + 62, + 63, + 59, + 60 ] }, { "name": "IAvnDecorator", - "iid": "57E09C6B-A22C-5F01-B65C-E54C3DD55E6C", + "iid": "F8530439-ABA5-5B16-9C0B-2132D4EFD205", "iidConstant": "I_AVN_DECORATOR_IID", - "abiVersion": 10, + "abiVersion": 13, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -22836,7 +23746,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -22844,6 +23753,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -22877,10 +23787,32 @@ 125, 126, 127, - 240, - 241, - 176, - 177 + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 262, + 263, + 198, + 199 ], "irBases": [ "IAvnAvaloniaObject", @@ -22924,26 +23856,27 @@ 32, 33, 34, - 92, - 93 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 100, + 101 ] }, { "name": "IAvnDockPanel", - "iid": "F0C3E239-81CB-544D-9CEF-73B1D04C1FB3", + "iid": "63D1EF80-EEE5-50CA-B1A7-C6008560BFD3", "iidConstant": "I_AVN_DOCK_PANEL_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -22962,7 +23895,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -22970,6 +23902,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -23003,15 +23936,37 @@ 125, 126, 127, - 326, - 150, - 151, - 457, - 458, - 459, - 460, - 461, - 462 + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 348, + 172, + 173, + 479, + 480, + 481, + 482, + 483, + 484 ], "irBases": [ "IAvnAvaloniaObject", @@ -23056,11 +24011,19 @@ 32, 33, 34, - 159, - 160, - 261, - 262, - 263 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 167, + 168, + 269, + 270, + 271 ] }, { @@ -23072,26 +24035,19 @@ 0, 1, 2, - 955, - 956 + 977, + 978 ] }, { "name": "IAvnDropDownButton", - "iid": "7CDEF76D-7FD4-5552-B591-2D98140A7A63", + "iid": "99F4E9B6-DAAC-55B1-AFDE-75D38A5C2491", "iidConstant": "I_AVN_DROP_DOWN_BUTTON_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -23110,7 +24066,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -23118,6 +24073,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -23151,59 +24107,81 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 267, 268, - 269 + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291 ], "irBases": [ "IAvnAvaloniaObject", @@ -23250,51 +24228,52 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 109, 110, 111, 112, - 113 + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121 ] }, { "name": "IAvnEllipse", - "iid": "613206FF-5917-53D8-A928-1BDE309FB7F1", + "iid": "71442BCB-5E0D-53BF-B4C8-4BE39A9E1910", "iidConstant": "I_AVN_ELLIPSE_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -23313,7 +24292,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -23321,6 +24299,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -23371,7 +24350,29 @@ 142, 143, 144, - 145 + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167 ], "irBases": [ "IAvnAvaloniaObject", @@ -23424,25 +24425,26 @@ 40, 41, 42, - 43 + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 ] }, { "name": "IAvnExpander", - "iid": "24CFAB36-1C9D-5E25-AE07-E91DA6B3A21C", + "iid": "014D8342-03F6-590B-AFF5-A82C0EB376BB", "iidConstant": "I_AVN_EXPANDER_IID", - "abiVersion": 13, + "abiVersion": 16, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -23461,7 +24463,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -23469,6 +24470,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -23502,58 +24504,80 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 463, - 464, - 465, - 466, - 467, - 468, - 469, - 470, - 471, - 472, - 473, - 474, - 475, - 476, - 477, - 478 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500 ], "irBases": [ "IAvnAvaloniaObject", @@ -23600,32 +24624,40 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 264, - 265, - 266, - 267, - 268, - 269, - 270, - 271 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279 ] }, { @@ -23678,20 +24710,13 @@ }, { "name": "IAvnFlexPanel", - "iid": "299F0D1D-2C19-5531-A4C9-327C784B297D", + "iid": "82049C23-F315-5A82-86D9-845D8B82BA59", "iidConstant": "I_AVN_FLEX_PANEL_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -23710,7 +24735,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -23718,6 +24742,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -23751,23 +24776,45 @@ 125, 126, 127, - 326, - 150, - 151, - 479, - 480, - 481, - 482, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 491, - 492 + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 348, + 172, + 173, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514 ], "irBases": [ "IAvnAvaloniaObject", @@ -23812,15 +24859,23 @@ 32, 33, 34, - 159, - 160, - 272, - 273, - 274, - 275, - 276, - 277, - 278 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 167, + 168, + 280, + 281, + 282, + 283, + 284, + 285, + 286 ] }, { @@ -23832,47 +24887,47 @@ 0, 1, 2, - 63, - 64, - 380, - 381, - 493, - 494, - 495, - 496, - 395, - 497, - 399, - 498, - 427, - 428, - 425, - 426, - 421, - 422, + 70, + 71, + 402, + 403, + 515, + 516, + 517, + 518, 417, - 418, + 519, + 421, + 520, + 449, + 450, + 447, + 448, + 443, + 444, + 439, + 440, + 441, + 442, + 457, + 458, + 521, + 522, + 523, + 524, + 525, + 526, + 445, + 446, + 527, + 528, 419, - 420, - 435, - 436, - 499, - 500, - 501, - 502, - 503, - 504, - 423, - 424, - 505, - 506, - 397, - 507, - 393, - 245, - 246, - 247, - 248 + 529, + 415, + 267, + 268, + 269, + 270 ], "irBases": [ "IAvnAvaloniaObject", @@ -23881,14 +24936,6 @@ "IAvnFlyout" ], "irMembers": [ - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, 287, 288, 289, @@ -23902,7 +24949,15 @@ 297, 298, 299, - 300 + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308 ] }, { @@ -23914,29 +24969,29 @@ 0, 1, 2, - 63, - 64, - 380, - 381, - 493, - 494, - 495, - 496, - 395, - 497, - 399 + 70, + 71, + 402, + 403, + 515, + 516, + 517, + 518, + 417, + 519, + 421 ], "irBases": [ "IAvnAvaloniaObject", "IAvnFlyoutBase" ], "irMembers": [ - 279, - 280, - 281, - 282, - 283, - 284 + 287, + 288, + 289, + 290, + 291, + 292 ] }, { @@ -23965,20 +25020,13 @@ }, { "name": "IAvnGrid", - "iid": "55E75D4C-FC75-51A9-BA87-6D28704EAFC8", + "iid": "028C589C-2C52-5505-9CD2-36A25B4F43A6", "iidConstant": "I_AVN_GRID_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -23997,7 +25045,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -24005,6 +25052,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -24038,19 +25086,41 @@ 125, 126, 127, - 326, - 150, - 151, - 508, - 509, - 491, - 492, - 489, - 490, - 510, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 348, + 172, + 173, + 530, + 531, + 513, + 514, 511, 512, - 513 + 532, + 533, + 534, + 535 ], "irBases": [ "IAvnAvaloniaObject", @@ -24095,31 +25165,32 @@ 32, 33, 34, - 159, - 160, - 301, - 302, - 303, - 304, - 305 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 167, + 168, + 309, + 310, + 311, + 312, + 313 ] }, { "name": "IAvnGridSplitter", - "iid": "DBCA4F68-AFEE-5885-938A-194E7DE5C551", + "iid": "135352FD-917A-577E-A428-D1B608274411", "iidConstant": "I_AVN_GRID_SPLITTER_IID", - "abiVersion": 10, + "abiVersion": 13, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -24138,7 +25209,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -24146,6 +25216,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -24179,50 +25250,72 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 514, - 515, - 516, - 517, - 518, - 519, - 520, - 521, - 522, - 523, - 524, - 525, - 526, - 527, - 528, - 529 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551 ], "irBases": [ "IAvnAvaloniaObject", @@ -24268,28 +25361,36 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 306, - 307, - 308, - 309, - 310, - 311, - 312, - 313 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321 ] }, { @@ -24301,34 +25402,27 @@ 0, 1, 2, - 957, - 958, - 959, - 960, - 961, - 962, - 963, - 964, - 965, - 966 + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988 ] }, { "name": "IAvnGroupBox", - "iid": "48EE658E-57F1-5550-AEB5-766477C616BD", + "iid": "83F8FB71-5FB5-5C67-9EDA-9B1948172B9E", "iidConstant": "I_AVN_GROUP_BOX_IID", - "abiVersion": 9, + "abiVersion": 12, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -24347,7 +25441,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -24355,6 +25448,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -24388,46 +25482,68 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 463, - 464, - 465, - 466 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 485, + 486, + 487, + 488 ], "irBases": [ "IAvnAvaloniaObject", @@ -24474,44 +25590,45 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 264, - 265 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 272, + 273 ] }, { "name": "IAvnHeaderedContentControl", - "iid": "326C8A38-FA42-51F4-9041-E7FD0FFFB696", + "iid": "0408F0EA-5BA0-54C6-A8E6-979328FBE88C", "iidConstant": "I_AVN_HEADERED_CONTENT_CONTROL_IID", - "abiVersion": 13, + "abiVersion": 16, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -24530,7 +25647,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -24538,6 +25654,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -24571,46 +25688,68 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 463, - 464, - 465, - 466 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 485, + 486, + 487, + 488 ], "irBases": [ "IAvnAvaloniaObject", @@ -24656,44 +25795,45 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 264, - 265 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 272, + 273 ] }, { "name": "IAvnHeaderedItemsControl", - "iid": "E4AB3702-5F01-59CF-9F5E-3C3DD281533F", + "iid": "2E4EBFCB-EA24-5842-ABC1-0DC137ED31DA", "iidConstant": "I_AVN_HEADERED_ITEMS_CONTROL_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -24712,7 +25852,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -24720,6 +25859,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -24753,50 +25893,72 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 463, - 464, - 465, - 466 + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356, + 485, + 486, + 487, + 488 ], "irBases": [ "IAvnAvaloniaObject", @@ -24842,50 +26004,51 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, - 314, - 315 + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 322, + 323 ] }, { "name": "IAvnHeaderedSelectingItemsControl", - "iid": "E0CB1C51-192B-5B9B-8A19-72EE4C68C27D", + "iid": "723DA9D6-8356-5967-83E1-0E0A4B1C1B2C", "iidConstant": "I_AVN_HEADERED_SELECTING_ITEMS_CONTROL_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -24904,7 +26067,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -24912,6 +26074,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -24945,64 +26108,86 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, 194, 195, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 239, - 463, - 464, - 465, - 466 + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 216, + 217, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 261, + 485, + 486, + 487, + 488 ], "irBases": [ "IAvnAvaloniaObject", @@ -25049,28 +26234,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, 171, @@ -25080,26 +26265,27 @@ 175, 176, 177, - 316, - 317 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 324, + 325 ] }, { "name": "IAvnHyperlinkButton", - "iid": "BA5D6CE2-B42B-5ED0-B288-9775606E1802", + "iid": "8130735B-8051-5246-9914-2489E9C8BEA6", "iidConstant": "I_AVN_HYPERLINK_BUTTON_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -25118,7 +26304,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -25126,6 +26311,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -25159,63 +26345,85 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 267, 268, 269, - 530, - 531, - 532, - 533 + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 552, + 553, + 554, + 555 ], "irBases": [ "IAvnAvaloniaObject", @@ -25262,53 +26470,54 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 109, 110, 111, 112, 113, - 318, - 319 + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 326, + 327 ] }, { "name": "IAvnIconElement", - "iid": "27129D51-9086-5E87-97F2-A7B30B2F7A32", + "iid": "32A49476-DB0C-5038-B888-A66D122EC557", "iidConstant": "I_AVN_ICON_ELEMENT_IID", - "abiVersion": 9, + "abiVersion": 12, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -25327,7 +26536,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -25335,6 +26543,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -25368,34 +26577,56 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, - 177 + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199 ], "irBases": [ "IAvnAvaloniaObject", @@ -25440,38 +26671,39 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, - 59 + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 ] }, { "name": "IAvnImage", - "iid": "ACC338F6-8C35-57F4-BB82-4A3F397B130F", + "iid": "3BE59E46-0ECC-595F-85C0-3CD46F76D9B7", "iidConstant": "I_AVN_IMAGE_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -25490,7 +26722,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -25498,6 +26729,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -25531,14 +26763,36 @@ 125, 126, 127, - 534, - 535, - 536, - 537, + 128, + 129, 130, 131, - 538, - 539 + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 556, + 557, + 558, + 559, + 152, + 153, + 560, + 561 ], "irBases": [ "IAvnAvaloniaObject", @@ -25582,10 +26836,18 @@ 32, 33, 34, - 320, - 321, - 322, - 323 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 328, + 329, + 330, + 331 ] }, { @@ -25597,7 +26859,7 @@ 0, 1, 2, - 35 + 42 ] }, { @@ -25609,12 +26871,12 @@ 0, 1, 2, - 48, - 49, - 50, - 51, - 52, - 53 + 55, + 56, + 57, + 58, + 59, + 60 ] }, { @@ -25626,25 +26888,18 @@ 0, 1, 2, - 37 + 44 ] }, { "name": "IAvnItemsControl", - "iid": "D985D274-6EFC-5423-B74F-7A73133992FC", + "iid": "C6061984-593E-5875-8956-4B5C4B6D886C", "iidConstant": "I_AVN_ITEMS_CONTROL_IID", - "abiVersion": 15, + "abiVersion": 18, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -25663,7 +26918,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -25671,6 +26925,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -25704,46 +26959,68 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334 + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356 ], "irBases": [ "IAvnAvaloniaObject", @@ -25788,48 +27065,49 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170 - ] - }, - { - "name": "IAvnLabel", - "iid": "621B0405-7E33-56EE-8FF0-E1CA604209BD", - "iidConstant": "I_AVN_LABEL_IID", - "abiVersion": 10, - "slots": [ - 0, - 1, - 2, + 60, + 61, + 62, 63, 64, 65, 66, 67, - 68, - 69, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + }, + { + "name": "IAvnLabel", + "iid": "C85D82E9-5381-5B73-BB11-C547CEFA8A19", + "iidConstant": "I_AVN_LABEL_IID", + "abiVersion": 13, + "slots": [ + 0, + 1, + 2, 70, 71, 72, @@ -25848,7 +27126,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -25856,6 +27133,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -25889,44 +27167,66 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 493, - 540 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 515, + 562 ], "irBases": [ "IAvnAvaloniaObject", @@ -25972,43 +27272,44 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 324 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 332 ] }, { "name": "IAvnLayoutTransformControl", - "iid": "39D82382-98B4-510A-AE62-19E9BBA13698", + "iid": "D19B8CD6-21FB-5F7C-985B-A486532461A7", "iidConstant": "I_AVN_LAYOUT_TRANSFORM_CONTROL_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -26027,7 +27328,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -26035,6 +27335,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -26068,12 +27369,34 @@ 125, 126, 127, - 240, - 241, - 176, - 177, - 541, - 542 + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 262, + 263, + 198, + 199, + 563, + 564 ], "irBases": [ "IAvnAvaloniaObject", @@ -26118,27 +27441,28 @@ 32, 33, 34, - 92, - 93, - 325 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 100, + 101, + 333 ] }, { "name": "IAvnLine", - "iid": "F302A345-5295-5A86-B520-224278B68EAB", + "iid": "E432CA0E-417D-584A-A0AB-884ACB73A6F6", "iidConstant": "I_AVN_LINE_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -26157,7 +27481,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -26165,6 +27488,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -26216,10 +27540,32 @@ 143, 144, 145, - 543, - 544, - 545, - 546 + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 565, + 566, + 567, + 568 ], "irBases": [ "IAvnAvaloniaObject", @@ -26273,26 +27619,27 @@ 41, 42, 43, - 326, - 327 + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 334, + 335 ] }, { "name": "IAvnListBox", - "iid": "B5B6A7D1-B302-56BB-93A9-D53237708632", + "iid": "FD704B9F-4E33-516E-B48D-B1DC9AA44DCA", "iidConstant": "I_AVN_LIST_BOX_IID", - "abiVersion": 16, + "abiVersion": 19, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -26311,7 +27658,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -26319,6 +27665,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -26352,64 +27699,86 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, 194, 195, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 239, - 292, - 293, - 547, - 548 + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 216, + 217, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 261, + 314, + 315, + 569, + 570 ], "irBases": [ "IAvnAvaloniaObject", @@ -26456,28 +27825,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, 171, @@ -26487,27 +27856,28 @@ 175, 176, 177, - 328, - 329, - 330 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 336, + 337, + 338 ] }, { "name": "IAvnListBoxItem", - "iid": "19A8B0AF-1926-5DE4-B6EC-5E2F026831B6", + "iid": "D177A044-40A9-5BD2-B9D5-BC3B24F6F87E", "iidConstant": "I_AVN_LIST_BOX_ITEM_IID", - "abiVersion": 15, + "abiVersion": 18, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -26526,7 +27896,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -26534,6 +27903,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -26567,44 +27937,66 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 366, - 367 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 388, + 389 ], "irBases": [ "IAvnAvaloniaObject", @@ -26650,43 +28042,44 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 197 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 205 ] }, { "name": "IAvnMaskedTextBox", - "iid": "C7B40FDD-3EBA-55CF-84BF-5FAD22229908", + "iid": "1C1A91B2-4417-5AB6-A25A-AF72F57B5640", "iidConstant": "I_AVN_MASKED_TEXT_BOX_IID", - "abiVersion": 15, + "abiVersion": 18, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -26705,7 +28098,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -26713,6 +28105,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -26746,88 +28139,70 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 549, - 550, - 192, - 193, - 551, - 552, - 553, - 554, 178, 179, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 217, - 218, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 571, 572, + 214, + 215, 573, 574, 575, 576, - 196, - 197, + 200, + 201, 577, 578, - 249, - 250, - 251, - 252, 579, 580, - 201, - 202, - 316, - 317, - 203, - 204, - 219, - 220, - 221, - 222, 581, 582, 583, @@ -26840,18 +28215,34 @@ 590, 591, 592, + 239, + 240, 593, 594, 595, 596, 597, 598, + 218, + 219, 599, 600, - 53, + 271, + 272, + 273, + 274, 601, - 547, 602, + 223, + 224, + 338, + 339, + 225, + 226, + 241, + 242, + 243, + 244, 603, 604, 605, @@ -26860,7 +28251,6 @@ 608, 609, 610, - 225, 611, 612, 613, @@ -26873,10 +28263,35 @@ 620, 621, 622, + 60, 623, + 569, 624, 625, - 626 + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 247, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648 ], "irBases": [ "IAvnAvaloniaObject", @@ -26922,28 +28337,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 339, 340, 341, @@ -26995,25 +28410,26 @@ 387, 388, 389, - 390 + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398 ] }, { "name": "IAvnMenu", - "iid": "E97435D8-8BC7-5A16-B1D1-4B976008F341", + "iid": "7494D34A-1A50-5EB7-8532-D5A9CA3992B5", "iidConstant": "I_AVN_MENU_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -27032,7 +28448,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -27040,6 +28455,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -27073,67 +28489,89 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, 194, 195, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 239, - 380, - 413, - 414, - 415, - 395, - 416, - 399 + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 216, + 217, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 261, + 402, + 435, + 436, + 437, + 417, + 438, + 421 ], "irBases": [ "IAvnAvaloniaObject", @@ -27181,28 +28619,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, 171, @@ -27212,29 +28650,30 @@ 175, 176, 177, - 231, - 232, - 233, - 234, - 235 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 239, + 240, + 241, + 242, + 243 ] }, { "name": "IAvnMenuBase", - "iid": "BAB46325-4D7E-54C4-B8E0-69A647E2BFC6", + "iid": "A5A9B117-B812-50DC-BEAA-D81CDAE4070D", "iidConstant": "I_AVN_MENU_BASE_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -27253,7 +28692,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -27261,6 +28699,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -27294,70 +28733,92 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, 194, 195, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 239, - 380, - 413, - 414, - 415, - 395, - 416, - 399 - ], - "irBases": [ - "IAvnAvaloniaObject", + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 216, + 217, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 261, + 402, + 435, + 436, + 437, + 417, + 438, + 421 + ], + "irBases": [ + "IAvnAvaloniaObject", "IAvnStyledElement", "IAvnControl", "IAvnTemplatedControl", @@ -27401,28 +28862,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, 171, @@ -27432,11 +28893,19 @@ 175, 176, 177, - 231, - 232, - 233, - 234, - 235 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 239, + 240, + 241, + 242, + 243 ] }, { @@ -27472,48 +28941,48 @@ 0, 1, 2, - 63, - 64, - 380, - 381, - 493, - 494, - 495, - 496, - 395, - 497, - 399, - 498, - 427, - 428, - 425, - 426, - 421, - 422, + 70, + 71, + 402, + 403, + 515, + 516, + 517, + 518, 417, - 418, + 519, + 421, + 520, + 449, + 450, + 447, + 448, + 443, + 444, + 439, + 440, + 441, + 442, + 457, + 458, + 521, + 522, + 523, + 524, + 525, + 526, + 445, + 446, + 527, + 528, 419, - 420, - 435, - 436, - 499, - 500, - 501, - 502, - 503, - 504, - 423, - 424, - 505, - 506, - 397, - 507, - 393, - 327, - 215, - 216, - 184, - 185 + 529, + 415, + 349, + 237, + 238, + 206, + 207 ], "irBases": [ "IAvnAvaloniaObject", @@ -27522,14 +28991,6 @@ "IAvnMenuFlyout" ], "irMembers": [ - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, 287, 288, 289, @@ -27542,27 +29003,28 @@ 296, 297, 298, - 391, - 392, - 393 + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 399, + 400, + 401 ] }, { "name": "IAvnMenuItem", - "iid": "1A9E2536-7437-553C-AFB6-681CF15021FF", + "iid": "1863F45C-1039-5C4E-9668-433606E91AB9", "iidConstant": "I_AVN_MENU_ITEM_IID", - "abiVersion": 15, + "abiVersion": 18, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -27581,7 +29043,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -27589,6 +29050,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -27622,94 +29084,116 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, 194, 195, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 239, - 463, - 464, - 465, - 466, - 255, - 256, - 257, - 258, - 259, - 260, - 627, - 628, - 629, - 630, - 366, - 367, - 631, - 632, - 633, - 634, - 635, - 636, + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, 353, 354, - 637, - 638, - 639, - 640, - 414, - 413, - 641, - 269, - 642, - 643 + 355, + 356, + 357, + 358, + 359, + 360, + 216, + 217, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 261, + 485, + 486, + 487, + 488, + 277, + 278, + 279, + 280, + 281, + 282, + 649, + 650, + 651, + 652, + 388, + 389, + 653, + 654, + 655, + 656, + 657, + 658, + 375, + 376, + 659, + 660, + 661, + 662, + 436, + 435, + 663, + 291, + 664, + 665 ], "irBases": [ "IAvnAvaloniaObject", @@ -27757,28 +29241,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, 171, @@ -27788,16 +29272,16 @@ 175, 176, 177, - 316, - 317, - 394, - 395, - 396, - 397, - 398, - 399, - 400, - 401, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 324, + 325, 402, 403, 404, @@ -27806,7 +29290,15 @@ 407, 408, 409, - 410 + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418 ] }, { @@ -27842,12 +29334,12 @@ 0, 1, 2, - 42, - 43, - 44, - 45, - 46, - 47 + 49, + 50, + 51, + 52, + 53, + 54 ] }, { @@ -27864,20 +29356,13 @@ }, { "name": "IAvnNotificationCard", - "iid": "DF540B6A-58F6-59F6-B3DB-F8FD04665402", + "iid": "9E79955D-2569-59C2-9A3A-25FE0AE56026", "iidConstant": "I_AVN_NOTIFICATION_CARD_IID", - "abiVersion": 10, + "abiVersion": 13, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -27896,7 +29381,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -27904,6 +29388,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -27937,50 +29422,72 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 644, - 645, - 646, - 647, - 648, - 413, - 649, - 650 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 666, + 667, + 668, + 669, + 670, + 435, + 671, + 672 ], "irBases": [ "IAvnAvaloniaObject", @@ -28026,29 +29533,37 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 411, - 412, - 413, - 414, - 415 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 419, + 420, + 421, + 422, + 423 ] }, { @@ -28065,20 +29580,13 @@ }, { "name": "IAvnNumericUpDown", - "iid": "5F487A30-39D1-524A-9A6E-01E584452E03", + "iid": "5B2AA4AD-E367-58A1-99ED-8122D7C9B209", "iidConstant": "I_AVN_NUMERIC_UP_DOWN_IID", - "abiVersion": 10, - "slots": [ - 0, - 1, - 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, + "abiVersion": 13, + "slots": [ + 0, + 1, + 2, 70, 71, 72, @@ -28097,7 +29605,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -28105,6 +29612,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -28138,74 +29646,96 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 274, - 275, - 278, - 279, - 276, - 277, - 651, - 652, - 653, - 654, - 655, - 656, - 555, - 556, - 657, - 658, - 659, - 660, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, 196, 197, - 661, - 662, - 201, - 202, - 203, - 204, - 249, - 250, - 251, - 252, - 579, - 580, + 198, + 199, + 296, + 297, + 300, + 301, + 298, + 299, + 673, + 674, + 675, + 676, + 677, + 678, + 577, + 578, + 679, + 680, + 681, + 682, + 218, 219, - 220, - 221, - 222, - 663, - 664, - 665, - 666 + 683, + 684, + 223, + 224, + 225, + 226, + 271, + 272, + 273, + 274, + 601, + 602, + 241, + 242, + 243, + 244, + 685, + 686, + 687, + 688 ], "irBases": [ "IAvnAvaloniaObject", @@ -28250,28 +29780,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 416, - 417, - 418, - 419, - 420, - 421, - 422, - 423, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 424, 425, 426, @@ -28283,7 +29813,15 @@ 432, 433, 434, - 435 + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443 ] }, { @@ -28295,37 +29833,30 @@ 0, 1, 2, - 22 + 25 ] }, { "name": "IAvnNumericUpDownValueChangedHandler", - "iid": "68A72F63-B469-5312-925F-F7FCCF35A0DF", + "iid": "A605166E-63BA-5359-A3F5-997F780B611B", "iidConstant": "I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_IID", - "abiVersion": 1, + "abiVersion": 2, "slots": [ 0, 1, 2, - 3 + 26 ] }, { "name": "IAvnPanel", - "iid": "79DAA937-B232-5B99-84FB-E3D64124EDA5", + "iid": "FE37643D-BDE5-511B-AB66-CB66B73F685F", "iidConstant": "I_AVN_PANEL_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -28344,7 +29875,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -28352,6 +29882,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -28385,9 +29916,31 @@ 125, 126, 127, - 326, - 150, - 151 + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 348, + 172, + 173 ], "irBases": [ "IAvnAvaloniaObject", @@ -28431,26 +29984,27 @@ 32, 33, 34, - 159, - 160 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 167, + 168 ] }, { "name": "IAvnPath", - "iid": "4EC11C5B-9EAE-57CB-ACC2-EB2E609490AC", + "iid": "E663EA07-D965-5E67-922A-CA932B4883EF", "iidConstant": "I_AVN_PATH_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -28469,7 +30023,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -28477,6 +30030,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -28528,8 +30082,30 @@ 143, 144, 145, - 667, - 668 + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 689, + 690 ], "irBases": [ "IAvnAvaloniaObject", @@ -28583,25 +30159,26 @@ 41, 42, 43, - 436 + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 444 ] }, { "name": "IAvnPathIcon", - "iid": "F220C58A-4D65-5882-8D9D-EBE5F0A1D9A4", + "iid": "9C821A9C-6A11-5E74-8D69-A637662CD292", "iidConstant": "I_AVN_PATH_ICON_IID", - "abiVersion": 9, + "abiVersion": 12, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -28620,7 +30197,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -28628,6 +30204,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -28661,36 +30238,58 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 667, - 668 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 689, + 690 ], "irBases": [ "IAvnAvaloniaObject", @@ -28736,39 +30335,40 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 437 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 445 ] }, { "name": "IAvnPipsPager", - "iid": "03DEC932-3B73-5A8C-9CE7-9E82F4FADE70", + "iid": "B23699D7-ACE9-5D8F-85ED-216C49DEBE3E", "iidConstant": "I_AVN_PIPS_PAGER_IID", - "abiVersion": 10, + "abiVersion": 13, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -28787,7 +30387,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -28795,6 +30394,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -28828,48 +30428,70 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 669, - 670, - 671, - 672, - 673, - 674, - 675, - 676, - 677, - 678, - 679, - 680, - 681, - 682 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704 ], "irBases": [ "IAvnAvaloniaObject", @@ -28914,27 +30536,35 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 438, - 439, - 440, - 441, - 442, - 443, - 444 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 446, + 447, + 448, + 449, + 450, + 451, + 452 ] }, { @@ -28951,20 +30581,13 @@ }, { "name": "IAvnPolygon", - "iid": "48E18C96-9363-5066-9A67-123E153A0919", + "iid": "0AAD3814-FD24-5051-AED3-FB090E1C0A3F", "iidConstant": "I_AVN_POLYGON_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -28983,7 +30606,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -28991,6 +30613,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -29042,10 +30665,32 @@ 143, 144, 145, - 683, - 684, - 685, - 686 + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 705, + 706, + 707, + 708 ], "irBases": [ "IAvnAvaloniaObject", @@ -29099,26 +30744,27 @@ 41, 42, 43, - 445, - 446 + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 453, + 454 ] }, { "name": "IAvnPolyline", - "iid": "9BACEFB3-B663-55EB-AF28-46001BA3A32B", + "iid": "5CBDF633-9B36-5DDE-BFBE-48FD2FA54C99", "iidConstant": "I_AVN_POLYLINE_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -29137,7 +30783,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -29145,6 +30790,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -29196,10 +30842,32 @@ 143, 144, 145, - 683, - 684, - 685, - 686 + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 705, + 706, + 707, + 708 ], "irBases": [ "IAvnAvaloniaObject", @@ -29253,26 +30921,27 @@ 41, 42, 43, - 447, - 448 + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 455, + 456 ] }, { "name": "IAvnPopup", - "iid": "4F10A2E5-D393-52F5-97CB-0DDA9411F6E4", + "iid": "C8FAC379-F367-5D83-9ABF-46EF6FCB778B", "iidConstant": "I_AVN_POPUP_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -29291,7 +30960,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -29299,6 +30967,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -29332,52 +31001,74 @@ 125, 126, 127, - 429, - 430, - 240, - 241, - 687, - 688, - 689, - 690, - 380, - 381, - 421, - 422, - 423, - 424, - 425, - 426, - 427, - 428, - 431, - 432, - 433, - 434, - 435, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 451, + 452, + 262, + 263, + 709, + 710, + 711, + 712, + 402, + 403, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 453, + 454, + 455, + 456, + 457, + 458, + 523, + 524, + 525, + 526, + 439, + 440, + 441, + 442, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, 436, - 501, - 502, - 503, - 504, - 417, - 418, - 419, - 420, - 691, - 692, - 693, - 694, - 695, - 696, - 697, - 698, - 414, - 413, - 699, - 399, - 700, - 395 + 435, + 721, + 421, + 722, + 417 ], "irBases": [ "IAvnAvaloniaObject", @@ -29421,14 +31112,14 @@ 32, 33, 34, - 449, - 450, - 451, - 452, - 453, - 454, - 455, - 456, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 457, 458, 459, @@ -29445,7 +31136,15 @@ 470, 471, 472, - 473 + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481 ] }, { @@ -29469,43 +31168,43 @@ 0, 1, 2, - 63, - 64, - 380, - 381, - 493, - 494, - 495, - 496, - 395, - 497, - 399, - 498, - 427, - 428, - 425, - 426, - 421, - 422, + 70, + 71, + 402, + 403, + 515, + 516, + 517, + 518, 417, - 418, + 519, + 421, + 520, + 449, + 450, + 447, + 448, + 443, + 444, + 439, + 440, + 441, + 442, + 457, + 458, + 521, + 522, + 523, + 524, + 525, + 526, + 445, + 446, + 527, + 528, 419, - 420, - 435, - 436, - 499, - 500, - 501, - 502, - 503, - 504, - 423, - 424, - 505, - 506, - 397, - 507, - 393 + 529, + 415 ], "irBases": [ "IAvnAvaloniaObject", @@ -29513,14 +31212,6 @@ "IAvnPopupFlyoutBase" ], "irMembers": [ - 279, - 280, - 281, - 282, - 283, - 284, - 285, - 286, 287, 288, 289, @@ -29532,7 +31223,15 @@ 295, 296, 297, - 298 + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 ] }, { @@ -29580,25 +31279,18 @@ 0, 1, 2, - 39 + 46 ] }, { "name": "IAvnProgressBar", - "iid": "54861122-E527-532B-A444-76CB502B041E", + "iid": "5B810486-98CC-51F9-8F12-46A095595BB4", "iidConstant": "I_AVN_PROGRESS_BAR_IID", - "abiVersion": 13, + "abiVersion": 16, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -29617,7 +31309,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -29625,6 +31316,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -29658,55 +31350,77 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 666, - 712, - 713, - 714, - 715, - 716, - 717, - 718, - 675, - 676 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 688, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 697, + 698 ], "irBases": [ "IAvnAvaloniaObject", @@ -29752,49 +31466,50 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 474, - 475, - 476, - 477, - 478, - 479, - 480, - 481, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 482, 483, - 484 + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492 ] }, { "name": "IAvnRadioButton", - "iid": "45D712D8-A144-589A-9053-4333B61428BF", + "iid": "FBEA357A-8E1A-5579-A0CF-4FD48895DADB", "iidConstant": "I_AVN_RADIO_BUTTON_IID", - "abiVersion": 16, - "slots": [ - 0, - 1, - 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, + "abiVersion": 19, + "slots": [ + 0, + 1, + 2, 70, 71, 72, @@ -29813,7 +31528,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -29821,6 +31535,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -29854,67 +31569,89 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 267, 268, 269, - 353, - 354, - 355, - 356, - 357, - 358, - 637, - 638 + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 375, + 376, + 377, + 378, + 379, + 380, + 659, + 660 ], "irBases": [ "IAvnAvaloniaObject", @@ -29962,55 +31699,56 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 109, 110, 111, 112, 113, - 183, - 184, - 185, - 485 + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 191, + 192, + 193, + 493 ] }, { "name": "IAvnRangeBase", - "iid": "C2C5CCBC-F621-560A-B6F6-87A286DAB50B", + "iid": "4B50BE51-3AF1-5ED3-B29F-61E8728F05C9", "iidConstant": "I_AVN_RANGE_BASE_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -30029,7 +31767,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -30037,6 +31774,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -30070,46 +31808,68 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 666 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 688 ], "irBases": [ "IAvnAvaloniaObject", @@ -30154,56 +31914,57 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 474, - 475, - 476, - 477, - 478, - 479 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 482, + 483, + 484, + 485, + 486, + 487 ] }, { "name": "IAvnRangeBaseValueChangedHandler", - "iid": "DAEDA8F7-D1F6-54B6-900D-4AAB0B0C72BA", + "iid": "D71E5403-7A7E-5C5A-8A48-4C89346F0179", "iidConstant": "I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_IID", - "abiVersion": 1, + "abiVersion": 2, "slots": [ 0, 1, 2, - 3 + 27 ] }, { "name": "IAvnRectangle", - "iid": "4C789DD6-03C9-5FC7-A38E-050060C28908", + "iid": "18F60995-254F-5AC8-8101-5DF9A44EE488", "iidConstant": "I_AVN_RECTANGLE_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -30222,7 +31983,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -30230,6 +31990,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -30281,10 +32042,32 @@ 143, 144, 145, - 719, - 720, - 721, - 722 + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 741, + 742, + 743, + 744 ], "irBases": [ "IAvnAvaloniaObject", @@ -30338,26 +32121,27 @@ 41, 42, 43, - 486, - 487 + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 494, + 495 ] }, { "name": "IAvnRefreshContainer", - "iid": "C83268B7-A9D2-51FA-B7C7-E9891E412A9B", + "iid": "8A61432D-C34F-51D2-8ACC-E36D3D639DC7", "iidConstant": "I_AVN_REFRESH_CONTAINER_IID", - "abiVersion": 10, + "abiVersion": 13, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -30376,7 +32160,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -30384,6 +32167,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -30417,49 +32201,71 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 723, - 724, - 725, - 726, - 727, - 728, - 729 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 745, + 746, + 747, + 748, + 749, + 750, + 751 ], "irBases": [ "IAvnAvaloniaObject", @@ -30505,28 +32311,36 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 488, - 489, - 490, - 491 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 496, + 497, + 498, + 499 ] }, { @@ -30543,20 +32357,13 @@ }, { "name": "IAvnRelativePanel", - "iid": "4A52A408-9843-5FFA-B1CC-4575FA75B2D5", + "iid": "65247A43-88C6-51B3-91A5-4DD646410156", "iidConstant": "I_AVN_RELATIVE_PANEL_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, - 1, - 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, + 1, + 2, 70, 71, 72, @@ -30575,7 +32382,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -30583,6 +32389,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -30616,9 +32423,31 @@ 125, 126, 127, - 326, - 150, - 151 + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 348, + 172, + 173 ], "irBases": [ "IAvnAvaloniaObject", @@ -30663,8 +32492,16 @@ 32, 33, 34, - 159, - 160 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 167, + 168 ] }, { @@ -30676,36 +32513,29 @@ 0, 1, 2, - 967, - 968, - 969, - 970, - 971, - 972, - 973, - 974, - 975, - 976, - 977, - 978 + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000 ] }, { "name": "IAvnRepeatButton", - "iid": "A0647C03-65F2-5FE4-A38E-B4A610F740A0", + "iid": "4F04D781-4A77-5C93-812D-3D1DFC10627C", "iidConstant": "I_AVN_REPEAT_BUTTON_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -30724,7 +32554,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -30732,6 +32561,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -30765,63 +32595,85 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 267, 268, 269, - 730, - 731, - 732, - 733 + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 752, + 753, + 754, + 755 ], "irBases": [ "IAvnAvaloniaObject", @@ -30868,53 +32720,54 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 109, 110, 111, 112, 113, - 492, - 493 + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 500, + 501 ] }, { "name": "IAvnScrollViewer", - "iid": "597E4640-680B-5499-A4F0-D90B8F0539C7", + "iid": "1D6C37FA-326B-57A1-A084-7790E0CE2973", "iidConstant": "I_AVN_SCROLL_VIEWER_IID", - "abiVersion": 15, + "abiVersion": 18, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -30933,7 +32786,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -30941,6 +32793,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -30974,65 +32827,64 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 734, - 735, - 736, - 737, - 738, - 739, - 740, - 741, - 742, - 743, - 744, - 745, - 746, - 747, - 469, - 748, - 749, - 750, - 751, - 752, - 753, - 754, - 755, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, 756, 757, 758, @@ -31047,6 +32899,7 @@ 767, 768, 769, + 491, 770, 771, 772, @@ -31054,7 +32907,29 @@ 774, 775, 776, - 777 + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799 ], "irBases": [ "IAvnAvaloniaObject", @@ -31100,32 +32975,32 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 494, - 495, - 496, - 497, - 498, - 499, - 500, - 501, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, 502, 503, 504, @@ -31149,7 +33024,15 @@ 522, 523, 524, - 525 + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533 ] }, { @@ -31166,20 +33049,13 @@ }, { "name": "IAvnSector", - "iid": "BEB2012E-DE97-5F61-B066-1E1D924A192A", + "iid": "B5A66A03-1739-5B83-B5BB-748E76AF1B27", "iidConstant": "I_AVN_SECTOR_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -31198,7 +33074,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -31206,6 +33081,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -31260,7 +33136,29 @@ 146, 147, 148, - 149 + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171 ], "irBases": [ "IAvnAvaloniaObject", @@ -31314,26 +33212,27 @@ 41, 42, 43, - 526, - 527 + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 534, + 535 ] }, { "name": "IAvnSelectableTextBlock", - "iid": "4C1CFF48-0D3A-5934-A1DA-6939E75C5678", + "iid": "11DADAD8-19AB-5C0C-9614-00DD412570F8", "iidConstant": "I_AVN_SELECTABLE_TEXT_BLOCK_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -31352,7 +33251,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -31360,6 +33258,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -31393,57 +33292,79 @@ 125, 126, 127, - 176, - 177, - 150, - 151, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 198, + 199, + 172, + 173, + 218, + 219, + 182, + 183, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 597, + 598, + 800, + 801, 196, 197, - 160, - 161, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 575, - 576, - 778, - 779, - 174, - 175, - 571, - 572, + 593, + 594, + 605, + 606, + 802, + 803, + 601, + 602, + 184, + 185, + 804, + 805, + 581, + 582, 583, 584, - 780, - 781, - 579, - 580, - 162, - 163, - 782, - 783, - 559, - 560, - 561, - 562, - 567, - 568, - 569, - 570, - 577, - 588, + 589, + 590, + 591, + 592, 599, - 547, - 596, - 784, - 605 + 610, + 621, + 569, + 618, + 806, + 627 ], "irBases": [ "IAvnAvaloniaObject", @@ -31488,14 +33409,14 @@ 32, 33, 34, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 536, 537, 538, @@ -31515,7 +33436,15 @@ 552, 553, 554, - 555 + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563 ] }, { @@ -31539,30 +33468,23 @@ 0, 1, 2, - 48, - 57, - 58, + 55, + 64, + 65, + 66, 59, - 52, - 53 + 60 ] }, { "name": "IAvnSelectingItemsControl", - "iid": "B2D5F624-DE4C-5278-977F-9EB764DD6B2F", + "iid": "BF3CA6E3-C054-5059-AFE7-20E38D9B9DE8", "iidConstant": "I_AVN_SELECTING_ITEMS_CONTROL_IID", - "abiVersion": 15, + "abiVersion": 18, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -31581,7 +33503,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -31589,6 +33510,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -31622,60 +33544,82 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, 194, 195, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 239 + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 216, + 217, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 261 ], "irBases": [ "IAvnAvaloniaObject", @@ -31721,28 +33665,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, 171, @@ -31751,37 +33695,53 @@ 174, 175, 176, - 177 + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185 + ] + }, + { + "name": "IAvnSelectingItemsControlSelectionChangedArgs", + "iid": "A5A998E3-805F-5BB9-BE35-4ACCDA82BD37", + "iidConstant": "I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_ARGS_IID", + "abiVersion": 1, + "slots": [ + 0, + 1, + 2, + 9, + 10, + 11, + 12 ] }, { "name": "IAvnSelectingItemsControlSelectionChangedHandler", - "iid": "80E817ED-8F0E-5208-9EFD-ECBDEBC56A46", + "iid": "D9AAACF6-E516-52AC-ABBE-3E0210379161", "iidConstant": "I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_IID", - "abiVersion": 1, + "abiVersion": 2, "slots": [ 0, 1, 2, - 3 + 28 ] }, { "name": "IAvnSeparator", - "iid": "FD4ADF2C-46AF-58ED-B8D1-2B813D56A4C0", + "iid": "81DB67FE-E07A-5DD4-B16C-1E099FC059FB", "iidConstant": "I_AVN_SEPARATOR_IID", - "abiVersion": 9, + "abiVersion": 12, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -31800,7 +33760,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -31808,6 +33767,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -31841,34 +33801,56 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, - 177 + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199 ], "irBases": [ "IAvnAvaloniaObject", @@ -31913,38 +33895,39 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, - 59 + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 ] }, { "name": "IAvnShape", - "iid": "68C7A91F-DBEE-56E2-9A87-24B2B66D30AC", + "iid": "9B09B01F-E387-5C6F-BB9B-605FC43BA233", "iidConstant": "I_AVN_SHAPE_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -31963,7 +33946,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -31971,6 +33953,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -32021,7 +34004,29 @@ 142, 143, 144, - 145 + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167 ], "irBases": [ "IAvnAvaloniaObject", @@ -32073,25 +34078,26 @@ 40, 41, 42, - 43 + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 ] }, { "name": "IAvnSlider", - "iid": "704B6BAF-7A44-5CFE-A14B-440A8471D0B9", + "iid": "87C098D1-E3D8-5297-8EFB-B039EF2C9CB5", "iidConstant": "I_AVN_SLIDER_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -32110,7 +34116,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -32118,6 +34123,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -32151,58 +34157,80 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 701, - 702, - 703, - 704, - 705, - 706, - 707, - 708, - 709, - 710, - 711, - 666, - 785, - 786, - 675, - 676, - 787, - 788, - 789, - 790, - 791, - 792, - 793, - 794 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 688, + 807, + 808, + 697, + 698, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816 ], "irBases": [ "IAvnAvaloniaObject", @@ -32248,50 +34276,51 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 474, - 475, - 476, - 477, - 478, - 479, - 556, - 557, - 558, - 559, - 560, - 561 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 482, + 483, + 484, + 485, + 486, + 487, + 564, + 565, + 566, + 567, + 568, + 569 ] }, { "name": "IAvnSpinner", - "iid": "6AAEEDDC-0307-57B2-9FA5-30A27DC1958E", + "iid": "B3D288E3-9138-530A-96BE-4B274DF115F2", "iidConstant": "I_AVN_SPINNER_IID", - "abiVersion": 9, + "abiVersion": 12, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -32310,7 +34339,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -32318,6 +34346,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -32351,46 +34380,68 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, 270, 271, 272, - 273 + 273, + 274, + 292, + 293, + 294, + 295 ], "irBases": [ "IAvnAvaloniaObject", @@ -32436,26 +34487,34 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 114, - 115 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 122, + 123 ] }, { @@ -32467,25 +34526,18 @@ 0, 1, 2, - 22 + 25 ] }, { "name": "IAvnSplitButton", - "iid": "1937A395-DF68-5F9F-94C1-07246380573C", + "iid": "E162F1F5-7BC8-59CB-82D6-9A2A47F68884", "iidConstant": "I_AVN_SPLIT_BUTTON_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -32504,7 +34556,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -32512,6 +34563,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -32545,52 +34597,74 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 255, - 256, - 259, - 260, - 266, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 267, - 257, - 258, - 795, - 269 + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 277, + 278, + 281, + 282, + 288, + 289, + 279, + 280, + 817, + 291 ], "irBases": [ "IAvnAvaloniaObject", @@ -32636,29 +34710,37 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 562, - 563, - 564, - 565, - 566 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 570, + 571, + 572, + 573, + 574 ] }, { @@ -32675,20 +34757,13 @@ }, { "name": "IAvnSplitView", - "iid": "51ED3B0D-0AAB-5AA3-9C4E-501C6027E774", + "iid": "5AA9070F-D947-566B-931C-EF80550EE63E", "iidConstant": "I_AVN_SPLIT_VIEW_IID", - "abiVersion": 9, + "abiVersion": 12, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -32707,7 +34782,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -32715,6 +34789,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -32748,68 +34823,90 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 796, - 797, - 290, - 291, - 798, - 799, - 800, - 801, - 802, - 803, - 804, - 805, - 806, - 807, - 808, - 809, - 810, - 811, - 812, - 813, - 814, - 815, - 816, - 817, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, 818, - 819 + 819, + 312, + 313, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841 ], "irBases": [ "IAvnAvaloniaObject", @@ -32855,37 +34952,45 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 567, - 568, - 569, - 570, - 571, - 572, - 573, - 574, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, 575, 576, 577, 578, - 579 + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587 ] }, { @@ -32938,20 +35043,13 @@ }, { "name": "IAvnStackPanel", - "iid": "2104EA3B-6DCB-5691-AE36-AB75B819F283", + "iid": "6CBE349A-E815-55A1-BBD8-B43951567DC1", "iidConstant": "I_AVN_STACK_PANEL_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -32970,7 +35068,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -32978,6 +35075,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -33011,17 +35109,39 @@ 125, 126, 127, - 326, - 150, - 151, - 820, - 821, - 675, - 676, - 822, - 823, - 824, - 825 + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 348, + 172, + 173, + 842, + 843, + 697, + 698, + 844, + 845, + 846, + 847 ], "irBases": [ "IAvnAvaloniaObject", @@ -33066,12 +35186,20 @@ 32, 33, 34, - 159, - 160, - 580, - 581, - 582, - 583 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 167, + 168, + 588, + 589, + 590, + 591 ] }, { @@ -33083,12 +35211,12 @@ 0, 1, 2, - 48, - 60, - 61, - 62, - 52, - 53 + 55, + 67, + 68, + 69, + 59, + 60 ] }, { @@ -33100,13 +35228,6 @@ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -33122,7 +35243,14 @@ 82, 83, 84, - 85 + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92 ], "irBases": [ "IAvnAvaloniaObject", @@ -33218,20 +35346,13 @@ }, { "name": "IAvnTabControl", - "iid": "C4664936-3D85-52A7-B48C-4CC32CA9B3A1", + "iid": "08959EF6-348B-51EC-8BE3-D3AE47B861BF", "iidConstant": "I_AVN_TAB_CONTROL_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -33250,7 +35371,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -33258,6 +35378,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -33291,72 +35412,94 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, 194, 195, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 239, - 249, - 250, - 251, - 252, - 826, - 827, - 247, - 248, - 828, - 829, - 830, - 831 + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 216, + 217, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 261, + 271, + 272, + 273, + 274, + 848, + 849, + 269, + 270, + 850, + 851, + 852, + 853 ], "irBases": [ "IAvnAvaloniaObject", @@ -33403,28 +35546,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, 171, @@ -33434,31 +35577,32 @@ 175, 176, 177, - 584, - 585, - 586, - 587, - 588, - 589, - 590 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 592, + 593, + 594, + 595, + 596, + 597, + 598 ] }, { "name": "IAvnTabItem", - "iid": "F2FF8148-506B-5823-B99B-F10DD06AC7DE", + "iid": "7FFA8FBC-579E-5152-A5D1-AFE128CCB470", "iidConstant": "I_AVN_TAB_ITEM_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -33477,7 +35621,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -33485,6 +35628,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -33518,55 +35662,77 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 463, - 464, - 465, - 466, - 832, - 366, - 367, - 402, - 403, - 833, - 834, - 830, - 831 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 485, + 486, + 487, + 488, + 854, + 388, + 389, + 424, + 425, + 855, + 856, + 852, + 853 ], "irBases": [ "IAvnAvaloniaObject", @@ -33613,49 +35779,50 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 264, - 265, - 591, - 592, - 593, - 594, - 595 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 272, + 273, + 599, + 600, + 601, + 602, + 603 ] }, { "name": "IAvnTableView", - "iid": "B0C8BD3E-D92C-542C-8E78-9020F9F5D0D8", + "iid": "8653BEA5-66FE-5479-87D0-45C9D8FDC7EC", "iidConstant": "I_AVN_TABLE_VIEW_IID", - "abiVersion": 13, + "abiVersion": 16, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -33674,7 +35841,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -33682,6 +35848,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -33715,68 +35882,90 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, 194, 195, - 339, - 340, - 341, - 342, - 343, - 344, - 345, - 239, - 292, - 293, - 547, - 548, - 835, - 836, - 837, - 838 + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 216, + 217, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 261, + 314, + 315, + 569, + 570, + 857, + 858, + 859, + 860 ], "irBases": [ "IAvnAvaloniaObject", @@ -33824,28 +36013,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, 171, @@ -33855,29 +36044,30 @@ 175, 176, 177, - 328, - 329, - 330, - 596, - 597 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 336, + 337, + 338, + 604, + 605 ] }, { "name": "IAvnTableViewCell", - "iid": "5FFBD394-21E2-5FA0-A738-F81CA24CA198", + "iid": "FB82C6E3-9041-5212-B897-E3DEC7EA6360", "iidConstant": "I_AVN_TABLE_VIEW_CELL_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -33896,7 +36086,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -33904,6 +36093,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -33937,42 +36127,64 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274 ], "irBases": [ "IAvnAvaloniaObject", @@ -34018,24 +36230,32 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112 ] }, { @@ -34047,13 +36267,6 @@ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -34070,24 +36283,31 @@ 83, 84, 85, - 465, - 466, - 463, - 464, - 839, - 840, - 100, - 101, - 102, - 103, 86, 87, - 841, - 842, - 249, - 250, - 843, - 844 + 88, + 89, + 90, + 91, + 92, + 487, + 488, + 485, + 486, + 861, + 862, + 107, + 108, + 109, + 110, + 93, + 94, + 863, + 864, + 271, + 272, + 865, + 866 ], "irBases": [ "IAvnAvaloniaObject", @@ -34108,34 +36328,27 @@ 10, 11, 12, - 598, - 599, - 600, - 601, - 602, - 603, - 604, - 605, 606, - 607 + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615 ] }, { "name": "IAvnTableViewRow", - "iid": "785207CE-7A58-5074-9CCD-5DFA0771DF61", + "iid": "25F888AF-361C-5B20-ACB7-CC9D1770D898", "iidConstant": "I_AVN_TABLE_VIEW_ROW_IID", - "abiVersion": 9, + "abiVersion": 12, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -34154,7 +36367,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -34162,6 +36374,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -34195,44 +36408,66 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 366, - 367 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 388, + 389 ], "irBases": [ "IAvnAvaloniaObject", @@ -34279,43 +36514,44 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 197 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 205 ] }, { "name": "IAvnTemplatedControl", - "iid": "D71DF481-E9FE-5463-BDA3-7C0546C5716A", + "iid": "1863F34C-F21F-5977-A305-5939D80CB8C5", "iidConstant": "I_AVN_TEMPLATED_CONTROL_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -34334,7 +36570,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -34342,6 +36577,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -34375,34 +36611,56 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, - 177 + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199 ], "irBases": [ "IAvnAvaloniaObject", @@ -34446,38 +36704,39 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, - 59 + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 ] }, { "name": "IAvnTextBlock", - "iid": "70059000-39BE-58FA-9621-50CB7BBF46B1", + "iid": "47E06BD1-10DC-5267-A55F-A5C3BB536285", "iidConstant": "I_AVN_TEXT_BLOCK_IID", - "abiVersion": 14, + "abiVersion": 17, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -34496,7 +36755,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -34504,6 +36762,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -34537,42 +36796,64 @@ 125, 126, 127, - 176, - 177, - 150, - 151, - 196, - 197, - 160, - 161, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 198, + 199, 172, 173, - 575, - 576, - 778, - 779, - 174, - 175, - 571, - 572, - 583, - 584, - 780, - 781, - 579, - 580, - 162, - 163, - 782, - 783 + 218, + 219, + 182, + 183, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 597, + 598, + 800, + 801, + 196, + 197, + 593, + 594, + 605, + 606, + 802, + 803, + 601, + 602, + 184, + 185, + 804, + 805 ], "irBases": [ "IAvnAvaloniaObject", @@ -34616,14 +36897,14 @@ 32, 33, 34, - 528, - 529, - 530, - 531, - 532, - 533, - 534, - 535, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 536, 537, 538, @@ -34633,25 +36914,26 @@ 542, 543, 544, - 545 + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553 ] }, { "name": "IAvnTextBox", - "iid": "B1615F3B-C31D-56CC-A999-064FAC4EFDF8", + "iid": "2CECBBEF-9113-5262-B44C-4CFD61373281", "iidConstant": "I_AVN_TEXT_BOX_IID", - "abiVersion": 18, + "abiVersion": 21, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -34670,7 +36952,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -34678,6 +36959,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -34711,88 +36993,70 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 549, - 550, - 192, - 193, - 551, - 552, - 553, - 554, 178, 179, - 555, - 556, - 557, - 558, - 559, - 560, - 561, - 562, - 563, - 564, - 565, - 566, - 567, - 568, - 569, - 570, - 217, - 218, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 571, 572, + 214, + 215, 573, 574, 575, 576, - 196, - 197, + 200, + 201, 577, 578, - 249, - 250, - 251, - 252, 579, 580, - 201, - 202, - 316, - 317, - 203, - 204, - 219, - 220, - 221, - 222, 581, 582, 583, @@ -34805,18 +37069,34 @@ 590, 591, 592, + 239, + 240, 593, 594, 595, 596, 597, 598, + 218, + 219, 599, 600, - 53, + 271, + 272, + 273, + 274, 601, - 547, 602, + 223, + 224, + 338, + 339, + 225, + 226, + 241, + 242, + 243, + 244, 603, 604, 605, @@ -34825,9 +37105,33 @@ 608, 609, 610, - 225, 611, - 612 + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 60, + 623, + 569, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 247, + 633, + 634 ], "irBases": [ "IAvnAvaloniaObject", @@ -34872,28 +37176,28 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 331, - 332, - 333, - 334, - 335, - 336, - 337, - 338, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 339, 340, 341, @@ -34937,7 +37241,15 @@ 379, 380, 381, - 382 + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390 ] }, { @@ -35009,7 +37321,7 @@ 0, 1, 2, - 36 + 43 ] }, { @@ -35021,25 +37333,18 @@ 0, 1, 2, - 38 + 45 ] }, { "name": "IAvnThemeVariantScope", - "iid": "F8DF5A10-5406-5E10-A614-F50B8A8BE5A6", + "iid": "0C7665EE-7E88-5B31-AA6C-0B7BE88EA14B", "iidConstant": "I_AVN_THEME_VARIANT_SCOPE_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -35058,7 +37363,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -35066,6 +37370,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -35099,12 +37404,34 @@ 125, 126, 127, - 240, - 241, - 176, - 177, - 845, - 846 + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 262, + 263, + 198, + 199, + 867, + 868 ], "irBases": [ "IAvnAvaloniaObject", @@ -35149,27 +37476,28 @@ 32, 33, 34, - 92, - 93, - 608 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 100, + 101, + 616 ] }, { "name": "IAvnThumb", - "iid": "D4BA0A24-A5D3-56FE-B486-868C8C5A52B6", + "iid": "E465D453-88D0-5CD1-AF2C-389B5D80BE4D", "iidConstant": "I_AVN_THUMB_IID", - "abiVersion": 10, + "abiVersion": 13, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -35188,7 +37516,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -35196,6 +37523,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -35229,40 +37557,62 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 514, - 515, - 516, - 517, - 518, - 519 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 536, + 537, + 538, + 539, + 540, + 541 ], "irBases": [ "IAvnAvaloniaObject", @@ -35307,23 +37657,31 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 306, - 307, - 308 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 314, + 315, + 316 ] }, { @@ -35335,7 +37693,7 @@ 0, 1, 2, - 23 + 29 ] }, { @@ -35347,7 +37705,7 @@ 0, 1, 2, - 23 + 29 ] }, { @@ -35359,25 +37717,18 @@ 0, 1, 2, - 23 + 29 ] }, { "name": "IAvnTimePicker", - "iid": "512BDA86-7718-5F1E-B2DE-8BCC7534AA46", + "iid": "B5A38C06-2DB2-5199-83DC-05C28A15DA69", "iidConstant": "I_AVN_TIME_PICKER_IID", - "abiVersion": 11, + "abiVersion": 14, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -35396,7 +37747,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -35404,6 +37754,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -35437,49 +37788,71 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 251, - 252, - 847, - 848, - 849, - 850, - 851, - 852, - 853, - 854, - 855, - 856, - 53, - 857, - 858 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 273, + 274, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 60, + 879, + 880 ], "irBases": [ "IAvnAvaloniaObject", @@ -35524,28 +37897,36 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 609, - 610, - 611, - 612, - 613, - 614, - 615, - 616 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624 ] }, { @@ -35557,25 +37938,18 @@ 0, 1, 2, - 24 + 30 ] }, { "name": "IAvnToggleButton", - "iid": "978AD791-8ABE-5494-B9AB-B29937062870", + "iid": "AA447DC6-1470-599E-B0F5-27BF313DC7E7", "iidConstant": "I_AVN_TOGGLE_BUTTON_IID", - "abiVersion": 16, + "abiVersion": 19, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -35594,7 +37968,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -35602,6 +37975,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -35635,65 +38009,87 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 267, 268, 269, - 353, - 354, - 355, - 356, - 357, - 358 + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 375, + 376, + 377, + 378, + 379, + 380 ], "irBases": [ "IAvnAvaloniaObject", @@ -35740,36 +38136,44 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 109, 110, 111, 112, 113, - 183, - 184, - 185 + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 191, + 192, + 193 ] }, { @@ -35786,20 +38190,13 @@ }, { "name": "IAvnToggleSplitButton", - "iid": "DD4F3760-D88D-5551-BD80-CA8721DEA1E9", + "iid": "A8024AE3-3329-57D6-AE6C-1E3BBAD7A7E6", "iidConstant": "I_AVN_TOGGLE_SPLIT_BUTTON_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -35818,7 +38215,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -35826,6 +38222,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -35859,56 +38256,78 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 255, - 256, - 259, - 260, - 266, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 267, - 257, - 258, - 795, + 268, 269, - 353, - 354, - 859, - 358 + 270, + 271, + 272, + 273, + 274, + 277, + 278, + 281, + 282, + 288, + 289, + 279, + 280, + 817, + 291, + 375, + 376, + 881, + 380 ], "irBases": [ "IAvnAvaloniaObject", @@ -35955,31 +38374,39 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 562, - 563, - 564, - 565, - 566, - 617, - 618 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 570, + 571, + 572, + 573, + 574, + 625, + 626 ] }, { @@ -35996,20 +38423,13 @@ }, { "name": "IAvnToggleSwitch", - "iid": "D36D16B3-4A9B-5BD6-9258-7125ED95B433", + "iid": "EB2E63C7-1C28-5754-B26B-64BC0C2641BF", "iidConstant": "I_AVN_TOGGLE_SWITCH_IID", - "abiVersion": 16, - "slots": [ - 0, - 1, - 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, + "abiVersion": 19, + "slots": [ + 0, + 1, + 2, 70, 71, 72, @@ -36028,7 +38448,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -36036,6 +38455,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -36069,73 +38489,95 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254, - 255, - 256, - 257, - 258, - 259, - 260, - 261, - 262, - 263, - 264, - 265, - 266, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, 267, 268, 269, - 353, - 354, - 355, - 356, - 357, - 358, - 860, - 861, - 862, - 863, - 864, - 865, - 866, - 867 + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 375, + 376, + 377, + 378, + 379, + 380, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889 ], "irBases": [ "IAvnAvaloniaObject", @@ -36183,58 +38625,59 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 109, 110, 111, 112, 113, - 183, - 184, - 185, - 619, - 620, - 621, - 622 + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 191, + 192, + 193, + 627, + 628, + 629, + 630 ] }, { "name": "IAvnToolTip", - "iid": "25BC085F-0BDB-59F4-B689-A1F0A8489B19", + "iid": "04F8776B-9CD2-58D3-9004-AA6B0C12E902", "iidConstant": "I_AVN_TOOL_TIP_IID", - "abiVersion": 9, + "abiVersion": 12, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -36253,7 +38696,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -36261,6 +38703,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -36294,42 +38737,64 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274 ], "irBases": [ "IAvnAvaloniaObject", @@ -36375,24 +38840,32 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112 ] }, { @@ -36404,42 +38877,35 @@ 0, 1, 2, - 979, - 980, - 981, - 982, - 983, - 984, - 985, - 986, - 987, - 988, - 989, - 990, - 991, - 992, - 993, - 994, - 995, - 996 + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018 ] }, { "name": "IAvnTransitioningContentControl", - "iid": "6A3336CC-B09A-5484-BB6B-3E74C762E577", + "iid": "2B88F131-4CA4-529F-AA60-ED2BE719BE10", "iidConstant": "I_AVN_TRANSITIONING_CONTENT_CONTROL_IID", - "abiVersion": 10, + "abiVersion": 13, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -36458,7 +38924,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -36466,6 +38931,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -36499,46 +38965,68 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 868, - 869, - 870, - 871 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 890, + 891, + 892, + 893 ], "irBases": [ "IAvnAvaloniaObject", @@ -36584,26 +39072,34 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 623, - 624 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, + 631, + 632 ] }, { @@ -36615,7 +39111,7 @@ 0, 1, 2, - 25 + 31 ] }, { @@ -36627,32 +39123,32 @@ 0, 1, 2, - 63, - 64, - 255, - 256, - 259, - 260, - 872, - 873, - 874, - 875, - 86, - 87, - 876, - 877 + 70, + 71, + 277, + 278, + 281, + 282, + 894, + 895, + 896, + 897, + 93, + 94, + 898, + 899 ], "irBases": [ "IAvnAvaloniaObject", "IAvnTrayIcon" ], - "irMembers": [ - 625, - 626, - 627, - 628, - 629, - 630 + "irMembers": [ + 633, + 634, + 635, + 636, + 637, + 638 ] }, { @@ -36669,20 +39165,13 @@ }, { "name": "IAvnTreeView", - "iid": "AD4500EF-D3C0-5798-BF90-5E7515E85BEE", + "iid": "51F6F3E1-06E8-563F-A834-CA7D3C751B4D", "iidConstant": "I_AVN_TREE_VIEW_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -36701,7 +39190,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -36709,6 +39197,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -36742,62 +39231,84 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 335, - 336, - 292, - 293, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, 194, 195, - 878, - 879, - 880, - 881, - 547, - 548, - 882, - 883, - 884, - 239 + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 314, + 315, + 216, + 217, + 900, + 901, + 902, + 903, + 569, + 570, + 904, + 905, + 906, + 261 ], "irBases": [ "IAvnAvaloniaObject", @@ -36843,59 +39354,60 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, - 631, - 632, - 633, - 634, - 635, - 636, - 637, - 638, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, 639, 640, - 641 + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649 ] }, { "name": "IAvnTreeViewItem", - "iid": "B4B4B178-BF7A-52CD-8B27-EFEDBEA8C60E", + "iid": "489990A9-1ED5-5772-AEE6-25C4E8B8612A", "iidConstant": "I_AVN_TREE_VIEW_ITEM_IID", - "abiVersion": 12, + "abiVersion": 15, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -36914,7 +39426,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -36922,6 +39433,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -36955,59 +39467,81 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 327, - 328, - 215, - 216, + 178, + 179, + 180, + 181, + 182, + 183, 184, 185, - 329, - 330, - 331, - 332, - 333, - 334, - 463, - 464, - 465, - 466, - 469, - 470, - 366, - 367, - 885, - 886, - 476, - 887, - 472 + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 349, + 350, + 237, + 238, + 206, + 207, + 351, + 352, + 353, + 354, + 355, + 356, + 485, + 486, + 487, + 488, + 491, + 492, + 388, + 389, + 907, + 908, + 498, + 909, + 494 ], "irBases": [ "IAvnAvaloniaObject", @@ -37054,37 +39588,45 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, 169, 170, - 314, - 315, - 642, - 643, - 644, - 645, - 646 + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 322, + 323, + 650, + 651, + 652, + 653, + 654 ] }, { @@ -37111,34 +39653,42 @@ 3 ] }, + { + "name": "IAvnTreeViewSelectionChangedArgs", + "iid": "A29EDF0E-EBE4-5118-99EB-615AE00A6BD5", + "iidConstant": "I_AVN_TREE_VIEW_SELECTION_CHANGED_ARGS_IID", + "abiVersion": 1, + "slots": [ + 0, + 1, + 2, + 9, + 10, + 11, + 12 + ] + }, { "name": "IAvnTreeViewSelectionChangedHandler", - "iid": "ED72A060-42CB-5648-804F-C5DCAB3CD87A", + "iid": "9F8E36AD-6E33-5211-B570-EB8B0C949511", "iidConstant": "I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_IID", - "abiVersion": 1, + "abiVersion": 2, "slots": [ 0, 1, 2, - 3 + 32 ] }, { "name": "IAvnUniformGrid", - "iid": "B6DABE9A-7AED-5BCF-B889-A715EC08D5E4", + "iid": "8B8511AD-3289-5415-A03D-E0265549A876", "iidConstant": "I_AVN_UNIFORM_GRID_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -37157,7 +39707,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -37165,6 +39714,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -37198,19 +39748,41 @@ 125, 126, 127, - 326, - 150, - 151, - 888, - 889, - 890, - 891, - 892, - 893, - 491, - 492, - 489, - 490 + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 348, + 172, + 173, + 910, + 911, + 912, + 913, + 914, + 915, + 513, + 514, + 511, + 512 ], "irBases": [ "IAvnAvaloniaObject", @@ -37255,31 +39827,32 @@ 32, 33, 34, - 159, - 160, - 647, - 648, - 649, - 650, - 651 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 167, + 168, + 655, + 656, + 657, + 658, + 659 ] }, { "name": "IAvnUserControl", - "iid": "61A53A49-AD6E-58C8-88DF-DC3B769CF013", + "iid": "0529D537-1B91-5234-8480-855B56086322", "iidConstant": "I_AVN_USER_CONTROL_IID", - "abiVersion": 9, + "abiVersion": 12, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -37298,7 +39871,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -37306,6 +39878,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -37339,42 +39912,64 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274 ], "irBases": [ "IAvnAvaloniaObject", @@ -37420,24 +40015,32 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112 ] }, { @@ -37449,30 +40052,23 @@ 0, 1, 2, - 48, - 57, - 58, + 55, + 64, + 65, + 66, 59, - 52, - 53 + 60 ] }, { "name": "IAvnViewbox", - "iid": "4F61E1E8-F773-5195-B8BF-89EF6E8F6C44", + "iid": "EFA9084A-769B-55F4-8101-3B6D4CB524D7", "iidConstant": "I_AVN_VIEWBOX_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -37491,7 +40087,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -37499,6 +40094,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -37532,12 +40128,34 @@ 125, 126, 127, + 128, + 129, 130, 131, - 538, - 539, - 240, - 241 + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 152, + 153, + 560, + 561, + 262, + 263 ], "irBases": [ "IAvnAvaloniaObject", @@ -37581,27 +40199,28 @@ 32, 33, 34, - 652, - 653, - 654 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 660, + 661, + 662 ] }, { "name": "IAvnWindow", - "iid": "BEAAC3C0-855F-5FC1-9750-80C538F7EE87", + "iid": "9A01C107-BB12-5AFE-9DAA-C5AACEF2D879", "iidConstant": "I_AVN_WINDOW_IID", - "abiVersion": 18, + "abiVersion": 21, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -37620,7 +40239,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -37628,6 +40246,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -37661,83 +40280,105 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 894, - 895, - 896, - 897, - 898, - 899, - 900, - 901, - 902, - 903, - 904, - 905, - 906, - 907, - 908, - 909, - 910, - 911, - 912, - 913, - 914, - 915, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, 916, 917, 918, 919, 920, - 872, - 873, 921, 922, 923, 924, 925, - 413, 926, - 495, 927, 928, 929, - 397 + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 894, + 895, + 943, + 944, + 945, + 946, + 947, + 435, + 948, + 517, + 949, + 950, + 951, + 419 ], "irBases": [ "IAvnAvaloniaObject", @@ -37783,32 +40424,32 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 101, - 102, - 103, - 104, - 655, - 656, - 657, - 658, - 659, - 660, - 661, - 662, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 109, + 110, + 111, + 112, 663, 664, 665, @@ -37825,7 +40466,15 @@ 676, 677, 678, - 679 + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687 ] }, { @@ -37837,25 +40486,18 @@ 0, 1, 2, - 26 + 33 ] }, { "name": "IAvnWindowNotificationManager", - "iid": "D4C37646-AAD1-5B56-A260-D0AB8CFE0936", + "iid": "C159F361-BE6C-5268-8A0B-E12F633F395C", "iidConstant": "I_AVN_WINDOW_NOTIFICATION_MANAGER_IID", - "abiVersion": 10, + "abiVersion": 13, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -37874,7 +40516,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -37882,6 +40523,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -37915,43 +40557,65 @@ 125, 126, 127, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, 172, 173, 174, 175, 176, 177, - 930, - 931, - 932, - 933, - 934, - 935, - 936, - 937, - 938 + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960 ], "irBases": [ "IAvnAvaloniaObject", @@ -37996,45 +40660,46 @@ 32, 33, 34, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, 54, 55, 56, 57, 58, 59, - 680, - 681, - 682, - 683, - 684, - 685, - 686 + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 688, + 689, + 690, + 691, + 692, + 693, + 694 ] }, { "name": "IAvnWrapPanel", - "iid": "92500527-364F-542C-8DF0-37F08036D83F", + "iid": "71831219-F14C-5D2F-A2F1-49FB979605D4", "iidConstant": "I_AVN_WRAP_PANEL_IID", - "abiVersion": 8, + "abiVersion": 11, "slots": [ 0, 1, 2, - 63, - 64, - 65, - 66, - 67, - 68, - 69, 70, 71, 72, @@ -38053,7 +40718,6 @@ 85, 86, 87, - 28, 88, 89, 90, @@ -38061,6 +40725,7 @@ 92, 93, 94, + 35, 95, 96, 97, @@ -38094,21 +40759,43 @@ 125, 126, 127, - 326, - 150, - 151, - 939, - 940, - 778, - 779, - 675, - 676, - 941, - 942, - 943, - 944, - 945, - 946 + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 348, + 172, + 173, + 961, + 962, + 800, + 801, + 697, + 698, + 963, + 964, + 965, + 966, + 967, + 968 ], "irBases": [ "IAvnAvaloniaObject", @@ -38153,14 +40840,22 @@ 32, 33, 34, - 159, - 160, - 687, - 688, - 689, - 690, - 691, - 692 + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 167, + 168, + 695, + 696, + 697, + 698, + 699, + 700 ] } ] diff --git a/rust/avalonia-bindgen/src/abi_contract.rs b/rust/avalonia-bindgen/src/abi_contract.rs index 0054ce9..e3d761b 100644 --- a/rust/avalonia-bindgen/src/abi_contract.rs +++ b/rust/avalonia-bindgen/src/abi_contract.rs @@ -1,8 +1,8 @@ use crate::ir::ProjectionIr; -use serde::Deserialize; +use serde::{Deserialize, Serialize}; use std::collections::{BTreeMap, HashMap, HashSet}; -#[derive(Clone, Debug, Deserialize, PartialEq, Eq)] +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct AbiBaseline { pub schema_version: i32, @@ -21,7 +21,7 @@ pub struct AbiBaseline { pub interfaces: Vec, } -#[derive(Clone, Debug, Deserialize, PartialEq, Eq)] +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct AbiDefinitions { pub hresult: String, @@ -31,7 +31,7 @@ pub struct AbiDefinitions { pub pointer_model: String, } -#[derive(Clone, Debug, Deserialize, PartialEq, Eq)] +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct RetiredIdentity { pub iid: String, @@ -40,14 +40,14 @@ pub struct RetiredIdentity { pub reason: String, } -#[derive(Clone, Debug, Deserialize, PartialEq, Eq)] +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct AbiValueType { pub name: String, pub fields: Vec, } -#[derive(Clone, Debug, Deserialize, PartialEq, Eq)] +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct AbiField { #[serde(rename = "type")] @@ -55,7 +55,7 @@ pub struct AbiField { pub name: String, } -#[derive(Clone, Debug, Deserialize, PartialEq, Eq)] +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct AbiInterface { pub name: String, @@ -63,13 +63,13 @@ pub struct AbiInterface { pub iid_constant: String, pub abi_version: i32, pub slots: Vec, - #[serde(default)] + #[serde(default, skip_serializing_if = "Vec::is_empty")] pub ir_bases: Vec, - #[serde(default)] + #[serde(default, skip_serializing_if = "Vec::is_empty")] pub ir_members: Vec, } -#[derive(Clone, Debug, Deserialize, PartialEq, Eq)] +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct AbiSlot { pub name: String, @@ -78,7 +78,7 @@ pub struct AbiSlot { pub parameters: Vec, } -#[derive(Clone, Debug, Deserialize, PartialEq, Eq)] +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)] #[serde(rename_all = "camelCase")] pub struct AbiParameter { #[serde(rename = "type")] @@ -211,6 +211,42 @@ pub fn attach_ir(inventory: &mut AbiInventory, ir: &ProjectionIr) -> Result<(), Ok(()) } +/// Rebuilds the frozen released-ABI snapshot from the current native header and +/// projection IR. The previous snapshot supplies the producer pin and the retired +/// identity list; both carry forward unchanged. This is the intentional, reviewed +/// way to advance the ABI: change the projection, regenerate, then rewrite the +/// baseline so `identity_breaks` compares future builds against the new release. +pub fn regenerate_baseline(ir_json: &str, header: &str, existing: &str) -> Result { + let ir: ProjectionIr = serde_json::from_str(ir_json) + .map_err(|error| format!("Failed to parse projection IR: {error}"))?; + let previous: AbiBaseline = serde_json::from_str(existing) + .map_err(|error| format!("Failed to parse existing ABI baseline: {error}"))?; + if previous.kind != "released" { + return Err(format!( + "Existing ABI snapshot kind must be 'released', found '{}'.", + previous.kind + )); + } + let mut inventory = parse_header(header)?; + attach_ir(&mut inventory, &ir)?; + let baseline = AbiBaseline { + schema_version: previous.schema_version, + kind: previous.kind, + projection_ir_version: ir.version, + producer_pin: previous.producer_pin, + abi_definitions: inventory.definitions, + retired_identities: previous.retired_identities, + value_types: inventory.value_types, + slot_catalog: inventory.slot_catalog, + ir_member_catalog: inventory.ir_member_catalog, + interfaces: inventory.interfaces, + }; + let mut json = serde_json::to_string_pretty(&baseline) + .map_err(|error| format!("Failed to serialize ABI baseline: {error}"))?; + json.push('\n'); + Ok(json) +} + pub fn identity_breaks( released: &AbiBaseline, current: &AbiInventory, @@ -768,11 +804,17 @@ mod tests { let mut current = parse_header(&mutated).unwrap(); let ir: ProjectionIr = serde_json::from_str(IR_JSON).unwrap(); attach_ir(&mut current, &ir).unwrap(); + let control_iid = &released + .interfaces + .iter() + .find(|interface| interface.name == "IAvnControl") + .expect("the released baseline lists IAvnControl") + .iid[..8]; let breaks = identity_breaks(&released, ¤t).unwrap(); assert!( breaks .iter() - .any(|message| message.contains("06D79016") + .any(|message| message.contains(control_iid) && message.contains("callable signature")), "{breaks:?}" ); diff --git a/rust/avalonia-bindgen/src/lib.rs b/rust/avalonia-bindgen/src/lib.rs index e99835f..117679d 100644 --- a/rust/avalonia-bindgen/src/lib.rs +++ b/rust/avalonia-bindgen/src/lib.rs @@ -1,4 +1,3 @@ -#[cfg(test)] mod abi_contract; mod emit; mod emit_safe; @@ -8,7 +7,7 @@ mod ir; mod owned; mod validate; mod variant; - +pub use abi_contract::regenerate_baseline; pub use error::GenerationError; pub use ir::ProjectionIr; pub use owned::{check_outputs, write_outputs, BINDGEN_GENERATOR_ID}; diff --git a/rust/avalonia-bindgen/src/main.rs b/rust/avalonia-bindgen/src/main.rs index 2e8ee7b..96cc7ae 100644 --- a/rust/avalonia-bindgen/src/main.rs +++ b/rust/avalonia-bindgen/src/main.rs @@ -5,6 +5,12 @@ use std::process::ExitCode; fn main() -> ExitCode { let args: Vec<_> = env::args_os().collect(); + if args + .get(1) + .is_some_and(|argument| argument == "--write-baseline") + { + return write_baseline(&args[2..]); + } let check = args.get(1).is_some_and(|argument| argument == "--check"); let positional: Vec<_> = if check { args[2..].to_vec() @@ -76,3 +82,51 @@ fn main() -> ExitCode { ExitCode::SUCCESS } + +/// Rewrites the frozen released-ABI snapshot from the current header and IR. +/// Run only as part of an intentional ABI release wave; the regenerated +/// baseline makes the change auditable in review and keeps the identity +/// contract test green afterwards. +fn write_baseline(args: &[std::ffi::OsString]) -> ExitCode { + if args.len() != 3 { + eprintln!( + "Usage: avalonia-bindgen --write-baseline " + ); + return ExitCode::from(2); + } + let ir = match fs::read_to_string(&args[0]) { + Ok(value) => value, + Err(error) => { + eprintln!("Failed to read projection IR: {error}"); + return ExitCode::FAILURE; + } + }; + let header = match fs::read_to_string(&args[1]) { + Ok(value) => value, + Err(error) => { + eprintln!("Failed to read native ABI header: {error}"); + return ExitCode::FAILURE; + } + }; + let existing = match fs::read_to_string(&args[2]) { + Ok(value) => value, + Err(error) => { + eprintln!("Failed to read existing ABI baseline: {error}"); + return ExitCode::FAILURE; + } + }; + match avalonia_bindgen::regenerate_baseline(&ir, &header, &existing) { + Ok(json) => { + if let Err(error) = fs::write(&args[2], json) { + eprintln!("Failed to write ABI baseline: {error}"); + return ExitCode::FAILURE; + } + println!("Regenerated the released ABI baseline."); + ExitCode::SUCCESS + } + Err(error) => { + eprintln!("Failed to regenerate ABI baseline: {error}"); + ExitCode::FAILURE + } + } +} diff --git a/rust/avalonia-sys/include/.avalonia-projection.owned.json b/rust/avalonia-sys/include/.avalonia-projection.owned.json index a81daf7..4e05010 100644 --- a/rust/avalonia-sys/include/.avalonia-projection.owned.json +++ b/rust/avalonia-sys/include/.avalonia-projection.owned.json @@ -3,7 +3,7 @@ "files": [ { "path": "avalonia-rust-abi.h", - "sha256": "3e9eb1227141f3607e36095a08d4420a3606ca8938654cf647ce390ccdcc92e7" + "sha256": "267a44997b95dde7426d3212bf5316652f7ba923a94a8c9150749f5b2ae33175" } ] } diff --git a/rust/avalonia-sys/include/avalonia-rust-abi.h b/rust/avalonia-sys/include/avalonia-rust-abi.h index 8579de3..c36bf62 100644 --- a/rust/avalonia-sys/include/avalonia-rust-abi.h +++ b/rust/avalonia-sys/include/avalonia-rust-abi.h @@ -238,20 +238,32 @@ typedef struct IAvnContextMenuOpeningHandler IAvnContextMenuOpeningHandler; typedef struct IAvnContextMenuOpeningHandlerVtbl IAvnContextMenuOpeningHandlerVtbl; typedef struct IAvnControl IAvnControl; typedef struct IAvnControlVtbl IAvnControlVtbl; +typedef struct IAvnControlDoubleTappedHandler IAvnControlDoubleTappedHandler; +typedef struct IAvnControlDoubleTappedHandlerVtbl IAvnControlDoubleTappedHandlerVtbl; typedef struct IAvnControlFactory IAvnControlFactory; typedef struct IAvnControlFactoryVtbl IAvnControlFactoryVtbl; +typedef struct IAvnControlGotFocusHandler IAvnControlGotFocusHandler; +typedef struct IAvnControlGotFocusHandlerVtbl IAvnControlGotFocusHandlerVtbl; typedef struct IAvnControlKeyDownHandler IAvnControlKeyDownHandler; typedef struct IAvnControlKeyDownHandlerVtbl IAvnControlKeyDownHandlerVtbl; +typedef struct IAvnControlKeyUpHandler IAvnControlKeyUpHandler; +typedef struct IAvnControlKeyUpHandlerVtbl IAvnControlKeyUpHandlerVtbl; typedef struct IAvnControlList IAvnControlList; typedef struct IAvnControlListVtbl IAvnControlListVtbl; typedef struct IAvnControlLoadedHandler IAvnControlLoadedHandler; typedef struct IAvnControlLoadedHandlerVtbl IAvnControlLoadedHandlerVtbl; +typedef struct IAvnControlLostFocusHandler IAvnControlLostFocusHandler; +typedef struct IAvnControlLostFocusHandlerVtbl IAvnControlLostFocusHandlerVtbl; typedef struct IAvnControlPointerEnteredHandler IAvnControlPointerEnteredHandler; typedef struct IAvnControlPointerEnteredHandlerVtbl IAvnControlPointerEnteredHandlerVtbl; typedef struct IAvnControlPointerExitedHandler IAvnControlPointerExitedHandler; typedef struct IAvnControlPointerExitedHandlerVtbl IAvnControlPointerExitedHandlerVtbl; +typedef struct IAvnControlPointerWheelChangedHandler IAvnControlPointerWheelChangedHandler; +typedef struct IAvnControlPointerWheelChangedHandlerVtbl IAvnControlPointerWheelChangedHandlerVtbl; typedef struct IAvnControlSizeChangedHandler IAvnControlSizeChangedHandler; typedef struct IAvnControlSizeChangedHandlerVtbl IAvnControlSizeChangedHandlerVtbl; +typedef struct IAvnControlTappedHandler IAvnControlTappedHandler; +typedef struct IAvnControlTappedHandlerVtbl IAvnControlTappedHandlerVtbl; typedef struct IAvnControlUnloadedHandler IAvnControlUnloadedHandler; typedef struct IAvnControlUnloadedHandlerVtbl IAvnControlUnloadedHandlerVtbl; typedef struct IAvnDatePicker IAvnDatePicker; @@ -412,6 +424,8 @@ typedef struct IAvnSelectedVariantList IAvnSelectedVariantList; typedef struct IAvnSelectedVariantListVtbl IAvnSelectedVariantListVtbl; typedef struct IAvnSelectingItemsControl IAvnSelectingItemsControl; typedef struct IAvnSelectingItemsControlVtbl IAvnSelectingItemsControlVtbl; +typedef struct IAvnSelectingItemsControlSelectionChangedArgs IAvnSelectingItemsControlSelectionChangedArgs; +typedef struct IAvnSelectingItemsControlSelectionChangedArgsVtbl IAvnSelectingItemsControlSelectionChangedArgsVtbl; typedef struct IAvnSelectingItemsControlSelectionChangedHandler IAvnSelectingItemsControlSelectionChangedHandler; typedef struct IAvnSelectingItemsControlSelectionChangedHandlerVtbl IAvnSelectingItemsControlSelectionChangedHandlerVtbl; typedef struct IAvnSeparator IAvnSeparator; @@ -528,6 +542,8 @@ typedef struct IAvnTreeViewItemCollapsedHandler IAvnTreeViewItemCollapsedHandler typedef struct IAvnTreeViewItemCollapsedHandlerVtbl IAvnTreeViewItemCollapsedHandlerVtbl; typedef struct IAvnTreeViewItemExpandedHandler IAvnTreeViewItemExpandedHandler; typedef struct IAvnTreeViewItemExpandedHandlerVtbl IAvnTreeViewItemExpandedHandlerVtbl; +typedef struct IAvnTreeViewSelectionChangedArgs IAvnTreeViewSelectionChangedArgs; +typedef struct IAvnTreeViewSelectionChangedArgsVtbl IAvnTreeViewSelectionChangedArgsVtbl; typedef struct IAvnTreeViewSelectionChangedHandler IAvnTreeViewSelectionChangedHandler; typedef struct IAvnTreeViewSelectionChangedHandlerVtbl IAvnTreeViewSelectionChangedHandlerVtbl; typedef struct IAvnUniformGrid IAvnUniformGrid; @@ -1005,6 +1021,38 @@ struct IAvnContextMenuOpeningHandlerVtbl { struct IAvnContextMenuOpeningHandler { const IAvnContextMenuOpeningHandlerVtbl* vtbl; }; #define I_AVN_CONTEXT_MENU_OPENING_HANDLER_VTABLE_SLOTS 4 +static const AvnGuid I_AVN_CONTROL_DOUBLE_TAPPED_HANDLER_IID = { + 0x11D5E069, + 0xAEFD, + 0x566B, + { 0x92, 0xCC, 0xCD, 0xB4, 0x83, 0x87, 0x7C, 0x33 } +}; +#define I_AVN_CONTROL_DOUBLE_TAPPED_HANDLER_ABI_VERSION 1 +struct IAvnControlDoubleTappedHandlerVtbl { + AvnHResult (AVN_CALL *query_interface)(IAvnControlDoubleTappedHandler* self, const AvnGuid* iid, void** result); /* slot 0 */ + uint32_t (AVN_CALL *add_ref)(IAvnControlDoubleTappedHandler* self); /* slot 1 */ + uint32_t (AVN_CALL *release)(IAvnControlDoubleTappedHandler* self); /* slot 2 */ + AvnHResult (AVN_CALL *invoke)(IAvnControlDoubleTappedHandler* self); /* slot 3 */ +}; +struct IAvnControlDoubleTappedHandler { const IAvnControlDoubleTappedHandlerVtbl* vtbl; }; +#define I_AVN_CONTROL_DOUBLE_TAPPED_HANDLER_VTABLE_SLOTS 4 + +static const AvnGuid I_AVN_CONTROL_GOT_FOCUS_HANDLER_IID = { + 0x6621A073, + 0x4D3B, + 0x54C6, + { 0xA3, 0x2E, 0x57, 0x01, 0xCD, 0xB7, 0x45, 0xAD } +}; +#define I_AVN_CONTROL_GOT_FOCUS_HANDLER_ABI_VERSION 1 +struct IAvnControlGotFocusHandlerVtbl { + AvnHResult (AVN_CALL *query_interface)(IAvnControlGotFocusHandler* self, const AvnGuid* iid, void** result); /* slot 0 */ + uint32_t (AVN_CALL *add_ref)(IAvnControlGotFocusHandler* self); /* slot 1 */ + uint32_t (AVN_CALL *release)(IAvnControlGotFocusHandler* self); /* slot 2 */ + AvnHResult (AVN_CALL *invoke)(IAvnControlGotFocusHandler* self, int32_t navigation_method, int32_t key_modifiers); /* slot 3 */ +}; +struct IAvnControlGotFocusHandler { const IAvnControlGotFocusHandlerVtbl* vtbl; }; +#define I_AVN_CONTROL_GOT_FOCUS_HANDLER_VTABLE_SLOTS 4 + static const AvnGuid I_AVN_CONTROL_KEY_DOWN_HANDLER_IID = { 0x9232F26F, 0x2F3B, @@ -1021,6 +1069,22 @@ struct IAvnControlKeyDownHandlerVtbl { struct IAvnControlKeyDownHandler { const IAvnControlKeyDownHandlerVtbl* vtbl; }; #define I_AVN_CONTROL_KEY_DOWN_HANDLER_VTABLE_SLOTS 4 +static const AvnGuid I_AVN_CONTROL_KEY_UP_HANDLER_IID = { + 0xB4FC3B9A, + 0xCF71, + 0x5EBB, + { 0x98, 0x52, 0xA4, 0x6A, 0xEC, 0x80, 0xC6, 0xFE } +}; +#define I_AVN_CONTROL_KEY_UP_HANDLER_ABI_VERSION 1 +struct IAvnControlKeyUpHandlerVtbl { + AvnHResult (AVN_CALL *query_interface)(IAvnControlKeyUpHandler* self, const AvnGuid* iid, void** result); /* slot 0 */ + uint32_t (AVN_CALL *add_ref)(IAvnControlKeyUpHandler* self); /* slot 1 */ + uint32_t (AVN_CALL *release)(IAvnControlKeyUpHandler* self); /* slot 2 */ + AvnHResult (AVN_CALL *invoke)(IAvnControlKeyUpHandler* self, int32_t key, int32_t physical_key, int32_t key_modifiers, const uint16_t* key_symbol, int32_t* handled); /* slot 3 */ +}; +struct IAvnControlKeyUpHandler { const IAvnControlKeyUpHandlerVtbl* vtbl; }; +#define I_AVN_CONTROL_KEY_UP_HANDLER_VTABLE_SLOTS 4 + static const AvnGuid I_AVN_CONTROL_LOADED_HANDLER_IID = { 0x02529698, 0xA53B, @@ -1037,6 +1101,22 @@ struct IAvnControlLoadedHandlerVtbl { struct IAvnControlLoadedHandler { const IAvnControlLoadedHandlerVtbl* vtbl; }; #define I_AVN_CONTROL_LOADED_HANDLER_VTABLE_SLOTS 4 +static const AvnGuid I_AVN_CONTROL_LOST_FOCUS_HANDLER_IID = { + 0xBB0FBAD2, + 0xDB37, + 0x56AE, + { 0xA3, 0xC2, 0x73, 0xBC, 0x20, 0x30, 0xBD, 0x06 } +}; +#define I_AVN_CONTROL_LOST_FOCUS_HANDLER_ABI_VERSION 1 +struct IAvnControlLostFocusHandlerVtbl { + AvnHResult (AVN_CALL *query_interface)(IAvnControlLostFocusHandler* self, const AvnGuid* iid, void** result); /* slot 0 */ + uint32_t (AVN_CALL *add_ref)(IAvnControlLostFocusHandler* self); /* slot 1 */ + uint32_t (AVN_CALL *release)(IAvnControlLostFocusHandler* self); /* slot 2 */ + AvnHResult (AVN_CALL *invoke)(IAvnControlLostFocusHandler* self); /* slot 3 */ +}; +struct IAvnControlLostFocusHandler { const IAvnControlLostFocusHandlerVtbl* vtbl; }; +#define I_AVN_CONTROL_LOST_FOCUS_HANDLER_VTABLE_SLOTS 4 + static const AvnGuid I_AVN_CONTROL_POINTER_ENTERED_HANDLER_IID = { 0xCC8694AC, 0xC51C, @@ -1048,7 +1128,7 @@ struct IAvnControlPointerEnteredHandlerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnControlPointerEnteredHandler* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnControlPointerEnteredHandler* self); /* slot 1 */ uint32_t (AVN_CALL *release)(IAvnControlPointerEnteredHandler* self); /* slot 2 */ - AvnHResult (AVN_CALL *invoke)(IAvnControlPointerEnteredHandler* self); /* slot 3 */ + AvnHResult (AVN_CALL *invoke)(IAvnControlPointerEnteredHandler* self, int32_t key_modifiers); /* slot 3 */ }; struct IAvnControlPointerEnteredHandler { const IAvnControlPointerEnteredHandlerVtbl* vtbl; }; #define I_AVN_CONTROL_POINTER_ENTERED_HANDLER_VTABLE_SLOTS 4 @@ -1064,11 +1144,27 @@ struct IAvnControlPointerExitedHandlerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnControlPointerExitedHandler* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnControlPointerExitedHandler* self); /* slot 1 */ uint32_t (AVN_CALL *release)(IAvnControlPointerExitedHandler* self); /* slot 2 */ - AvnHResult (AVN_CALL *invoke)(IAvnControlPointerExitedHandler* self); /* slot 3 */ + AvnHResult (AVN_CALL *invoke)(IAvnControlPointerExitedHandler* self, int32_t key_modifiers); /* slot 3 */ }; struct IAvnControlPointerExitedHandler { const IAvnControlPointerExitedHandlerVtbl* vtbl; }; #define I_AVN_CONTROL_POINTER_EXITED_HANDLER_VTABLE_SLOTS 4 +static const AvnGuid I_AVN_CONTROL_POINTER_WHEEL_CHANGED_HANDLER_IID = { + 0x4318E60A, + 0x86C6, + 0x5142, + { 0x86, 0x00, 0x0D, 0x61, 0xAA, 0x20, 0xCE, 0x93 } +}; +#define I_AVN_CONTROL_POINTER_WHEEL_CHANGED_HANDLER_ABI_VERSION 1 +struct IAvnControlPointerWheelChangedHandlerVtbl { + AvnHResult (AVN_CALL *query_interface)(IAvnControlPointerWheelChangedHandler* self, const AvnGuid* iid, void** result); /* slot 0 */ + uint32_t (AVN_CALL *add_ref)(IAvnControlPointerWheelChangedHandler* self); /* slot 1 */ + uint32_t (AVN_CALL *release)(IAvnControlPointerWheelChangedHandler* self); /* slot 2 */ + AvnHResult (AVN_CALL *invoke)(IAvnControlPointerWheelChangedHandler* self, AvnVector delta, int32_t key_modifiers); /* slot 3 */ +}; +struct IAvnControlPointerWheelChangedHandler { const IAvnControlPointerWheelChangedHandlerVtbl* vtbl; }; +#define I_AVN_CONTROL_POINTER_WHEEL_CHANGED_HANDLER_VTABLE_SLOTS 4 + static const AvnGuid I_AVN_CONTROL_SIZE_CHANGED_HANDLER_IID = { 0x415D0DCB, 0xCC4B, @@ -1085,6 +1181,22 @@ struct IAvnControlSizeChangedHandlerVtbl { struct IAvnControlSizeChangedHandler { const IAvnControlSizeChangedHandlerVtbl* vtbl; }; #define I_AVN_CONTROL_SIZE_CHANGED_HANDLER_VTABLE_SLOTS 4 +static const AvnGuid I_AVN_CONTROL_TAPPED_HANDLER_IID = { + 0x7784D53F, + 0xFAEE, + 0x5089, + { 0x88, 0x44, 0xC9, 0xF5, 0xCC, 0x3E, 0x86, 0x32 } +}; +#define I_AVN_CONTROL_TAPPED_HANDLER_ABI_VERSION 1 +struct IAvnControlTappedHandlerVtbl { + AvnHResult (AVN_CALL *query_interface)(IAvnControlTappedHandler* self, const AvnGuid* iid, void** result); /* slot 0 */ + uint32_t (AVN_CALL *add_ref)(IAvnControlTappedHandler* self); /* slot 1 */ + uint32_t (AVN_CALL *release)(IAvnControlTappedHandler* self); /* slot 2 */ + AvnHResult (AVN_CALL *invoke)(IAvnControlTappedHandler* self, int32_t key_modifiers); /* slot 3 */ +}; +struct IAvnControlTappedHandler { const IAvnControlTappedHandlerVtbl* vtbl; }; +#define I_AVN_CONTROL_TAPPED_HANDLER_VTABLE_SLOTS 4 + static const AvnGuid I_AVN_CONTROL_UNLOADED_HANDLER_IID = { 0x1118D172, 0x21C3, @@ -1310,17 +1422,17 @@ struct IAvnNumericUpDownSpinnedHandler { const IAvnNumericUpDownSpinnedHandlerVt #define I_AVN_NUMERIC_UP_DOWN_SPINNED_HANDLER_VTABLE_SLOTS 4 static const AvnGuid I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_IID = { - 0x68A72F63, - 0xB469, - 0x5312, - { 0x92, 0x5F, 0xF7, 0xFC, 0xCF, 0x35, 0xA0, 0xDF } + 0xA605166E, + 0x63BA, + 0x5359, + { 0xA3, 0xF5, 0x99, 0x7F, 0x78, 0x0B, 0x61, 0x1B } }; -#define I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_ABI_VERSION 1 +#define I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_ABI_VERSION 2 struct IAvnNumericUpDownValueChangedHandlerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnNumericUpDownValueChangedHandler* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnNumericUpDownValueChangedHandler* self); /* slot 1 */ uint32_t (AVN_CALL *release)(IAvnNumericUpDownValueChangedHandler* self); /* slot 2 */ - AvnHResult (AVN_CALL *invoke)(IAvnNumericUpDownValueChangedHandler* self); /* slot 3 */ + AvnHResult (AVN_CALL *invoke)(IAvnNumericUpDownValueChangedHandler* self, const uint16_t* old_value, const uint16_t* new_value); /* slot 3 */ }; struct IAvnNumericUpDownValueChangedHandler { const IAvnNumericUpDownValueChangedHandlerVtbl* vtbl; }; #define I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_VTABLE_SLOTS 4 @@ -1406,17 +1518,17 @@ struct IAvnPopupOpenedHandler { const IAvnPopupOpenedHandlerVtbl* vtbl; }; #define I_AVN_POPUP_OPENED_HANDLER_VTABLE_SLOTS 4 static const AvnGuid I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_IID = { - 0xDAEDA8F7, - 0xD1F6, - 0x54B6, - { 0x90, 0x0D, 0x4A, 0xAB, 0x0B, 0x0C, 0x72, 0xBA } + 0xD71E5403, + 0x7A7E, + 0x5C5A, + { 0x8A, 0x48, 0x4C, 0x89, 0x34, 0x6F, 0x01, 0x79 } }; -#define I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_ABI_VERSION 1 +#define I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_ABI_VERSION 2 struct IAvnRangeBaseValueChangedHandlerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnRangeBaseValueChangedHandler* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnRangeBaseValueChangedHandler* self); /* slot 1 */ uint32_t (AVN_CALL *release)(IAvnRangeBaseValueChangedHandler* self); /* slot 2 */ - AvnHResult (AVN_CALL *invoke)(IAvnRangeBaseValueChangedHandler* self); /* slot 3 */ + AvnHResult (AVN_CALL *invoke)(IAvnRangeBaseValueChangedHandler* self, double old_value, double new_value); /* slot 3 */ }; struct IAvnRangeBaseValueChangedHandler { const IAvnRangeBaseValueChangedHandlerVtbl* vtbl; }; #define I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_VTABLE_SLOTS 4 @@ -1469,18 +1581,37 @@ struct IAvnSelectableTextBlockCopyingToClipboardHandlerVtbl { struct IAvnSelectableTextBlockCopyingToClipboardHandler { const IAvnSelectableTextBlockCopyingToClipboardHandlerVtbl* vtbl; }; #define I_AVN_SELECTABLE_TEXT_BLOCK_COPYING_TO_CLIPBOARD_HANDLER_VTABLE_SLOTS 4 +static const AvnGuid I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_ARGS_IID = { + 0xA5A998E3, + 0x805F, + 0x5BB9, + { 0xBE, 0x35, 0x4A, 0xCC, 0xDA, 0x82, 0xBD, 0x37 } +}; +#define I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_ARGS_ABI_VERSION 1 +struct IAvnSelectingItemsControlSelectionChangedArgsVtbl { + AvnHResult (AVN_CALL *query_interface)(IAvnSelectingItemsControlSelectionChangedArgs* self, const AvnGuid* iid, void** result); /* slot 0 */ + uint32_t (AVN_CALL *add_ref)(IAvnSelectingItemsControlSelectionChangedArgs* self); /* slot 1 */ + uint32_t (AVN_CALL *release)(IAvnSelectingItemsControlSelectionChangedArgs* self); /* slot 2 */ + AvnHResult (AVN_CALL *get_added_items_count)(IAvnSelectingItemsControlSelectionChangedArgs* self, int32_t* value); /* slot 3 */ + AvnHResult (AVN_CALL *get_added_items_at)(IAvnSelectingItemsControlSelectionChangedArgs* self, int32_t index, AvnVariant* value); /* slot 4 */ + AvnHResult (AVN_CALL *get_removed_items_count)(IAvnSelectingItemsControlSelectionChangedArgs* self, int32_t* value); /* slot 5 */ + AvnHResult (AVN_CALL *get_removed_items_at)(IAvnSelectingItemsControlSelectionChangedArgs* self, int32_t index, AvnVariant* value); /* slot 6 */ +}; +struct IAvnSelectingItemsControlSelectionChangedArgs { const IAvnSelectingItemsControlSelectionChangedArgsVtbl* vtbl; }; +#define I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_ARGS_VTABLE_SLOTS 7 + static const AvnGuid I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_IID = { - 0x80E817ED, - 0x8F0E, - 0x5208, - { 0x9E, 0xFD, 0xEC, 0xBD, 0xEB, 0xC5, 0x6A, 0x46 } + 0xD9AAACF6, + 0xE516, + 0x52AC, + { 0xAB, 0xBE, 0x3E, 0x02, 0x10, 0x37, 0x91, 0x61 } }; -#define I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_ABI_VERSION 1 +#define I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_ABI_VERSION 2 struct IAvnSelectingItemsControlSelectionChangedHandlerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnSelectingItemsControlSelectionChangedHandler* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnSelectingItemsControlSelectionChangedHandler* self); /* slot 1 */ uint32_t (AVN_CALL *release)(IAvnSelectingItemsControlSelectionChangedHandler* self); /* slot 2 */ - AvnHResult (AVN_CALL *invoke)(IAvnSelectingItemsControlSelectionChangedHandler* self); /* slot 3 */ + AvnHResult (AVN_CALL *invoke)(IAvnSelectingItemsControlSelectionChangedHandler* self, IAvnSelectingItemsControlSelectionChangedArgs* args); /* slot 3 */ }; struct IAvnSelectingItemsControlSelectionChangedHandler { const IAvnSelectingItemsControlSelectionChangedHandlerVtbl* vtbl; }; #define I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_VTABLE_SLOTS 4 @@ -1917,18 +2048,37 @@ struct IAvnTreeViewItemExpandedHandlerVtbl { struct IAvnTreeViewItemExpandedHandler { const IAvnTreeViewItemExpandedHandlerVtbl* vtbl; }; #define I_AVN_TREE_VIEW_ITEM_EXPANDED_HANDLER_VTABLE_SLOTS 4 +static const AvnGuid I_AVN_TREE_VIEW_SELECTION_CHANGED_ARGS_IID = { + 0xA29EDF0E, + 0xEBE4, + 0x5118, + { 0x99, 0xEB, 0x61, 0x5A, 0xE0, 0x0A, 0x6B, 0xD5 } +}; +#define I_AVN_TREE_VIEW_SELECTION_CHANGED_ARGS_ABI_VERSION 1 +struct IAvnTreeViewSelectionChangedArgsVtbl { + AvnHResult (AVN_CALL *query_interface)(IAvnTreeViewSelectionChangedArgs* self, const AvnGuid* iid, void** result); /* slot 0 */ + uint32_t (AVN_CALL *add_ref)(IAvnTreeViewSelectionChangedArgs* self); /* slot 1 */ + uint32_t (AVN_CALL *release)(IAvnTreeViewSelectionChangedArgs* self); /* slot 2 */ + AvnHResult (AVN_CALL *get_added_items_count)(IAvnTreeViewSelectionChangedArgs* self, int32_t* value); /* slot 3 */ + AvnHResult (AVN_CALL *get_added_items_at)(IAvnTreeViewSelectionChangedArgs* self, int32_t index, AvnVariant* value); /* slot 4 */ + AvnHResult (AVN_CALL *get_removed_items_count)(IAvnTreeViewSelectionChangedArgs* self, int32_t* value); /* slot 5 */ + AvnHResult (AVN_CALL *get_removed_items_at)(IAvnTreeViewSelectionChangedArgs* self, int32_t index, AvnVariant* value); /* slot 6 */ +}; +struct IAvnTreeViewSelectionChangedArgs { const IAvnTreeViewSelectionChangedArgsVtbl* vtbl; }; +#define I_AVN_TREE_VIEW_SELECTION_CHANGED_ARGS_VTABLE_SLOTS 7 + static const AvnGuid I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_IID = { - 0xED72A060, - 0x42CB, - 0x5648, - { 0x80, 0x4F, 0xC5, 0xDC, 0xAB, 0x3C, 0xD8, 0x7A } + 0x9F8E36AD, + 0x6E33, + 0x5211, + { 0xB5, 0x70, 0xEB, 0x8B, 0x0C, 0x94, 0x95, 0x11 } }; -#define I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_ABI_VERSION 1 +#define I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_ABI_VERSION 2 struct IAvnTreeViewSelectionChangedHandlerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTreeViewSelectionChangedHandler* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTreeViewSelectionChangedHandler* self); /* slot 1 */ uint32_t (AVN_CALL *release)(IAvnTreeViewSelectionChangedHandler* self); /* slot 2 */ - AvnHResult (AVN_CALL *invoke)(IAvnTreeViewSelectionChangedHandler* self); /* slot 3 */ + AvnHResult (AVN_CALL *invoke)(IAvnTreeViewSelectionChangedHandler* self, IAvnTreeViewSelectionChangedArgs* args); /* slot 3 */ }; struct IAvnTreeViewSelectionChangedHandler { const IAvnTreeViewSelectionChangedHandlerVtbl* vtbl; }; #define I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_VTABLE_SLOTS 4 @@ -2294,12 +2444,12 @@ struct IAvnVariantList { const IAvnVariantListVtbl* vtbl; }; #define I_AVN_VARIANT_LIST_VTABLE_SLOTS 9 static const AvnGuid I_AVN_ARC_IID = { - 0x80597080, - 0xEEDD, - 0x5CAA, - { 0xB4, 0xF1, 0x88, 0xD7, 0x8C, 0xA2, 0x3B, 0x79 } + 0x2DACA1F8, + 0x5364, + 0x5CB5, + { 0xB4, 0x71, 0x81, 0x68, 0x2B, 0x00, 0xE3, 0x89 } }; -#define I_AVN_ARC_ABI_VERSION 8 +#define I_AVN_ARC_ABI_VERSION 11 struct IAvnArcVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnArc* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnArc* self); /* slot 1 */ @@ -2356,53 +2506,68 @@ struct IAvnArcVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnArc* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnArc* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnArc* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnArc* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnArc* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnArc* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnArc* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnArc* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnArc* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnArc* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnArc* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnArc* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnArc* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnArc* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnArc* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnArc* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnArc* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_fill)(IAvnArc* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_fill)(IAvnArc* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_stretch)(IAvnArc* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_stretch)(IAvnArc* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_stroke)(IAvnArc* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_stroke)(IAvnArc* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnArc* self, uint16_t** value); /* slot 75 */ - AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnArc* self, const uint16_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnArc* self, double* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnArc* self, double value); /* slot 78 */ - AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnArc* self, double* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnArc* self, double value); /* slot 80 */ - AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnArc* self, int32_t* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnArc* self, int32_t value); /* slot 82 */ - AvnHResult (AVN_CALL *get_stroke_join)(IAvnArc* self, int32_t* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_stroke_join)(IAvnArc* self, int32_t value); /* slot 84 */ - AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnArc* self, double* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnArc* self, double value); /* slot 86 */ - AvnHResult (AVN_CALL *get_start_angle)(IAvnArc* self, double* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_start_angle)(IAvnArc* self, double value); /* slot 88 */ - AvnHResult (AVN_CALL *get_sweep_angle)(IAvnArc* self, double* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_sweep_angle)(IAvnArc* self, double value); /* slot 90 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnArc* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnArc* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnArc* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnArc* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnArc* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnArc* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnArc* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnArc* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnArc* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnArc* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnArc* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnArc* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnArc* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnArc* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnArc* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnArc* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnArc* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnArc* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnArc* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnArc* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnArc* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnArc* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnArc* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnArc* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnArc* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnArc* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnArc* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnArc* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnArc* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_fill)(IAvnArc* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_fill)(IAvnArc* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_stretch)(IAvnArc* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_stretch)(IAvnArc* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_stroke)(IAvnArc* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_stroke)(IAvnArc* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnArc* self, uint16_t** value); /* slot 90 */ + AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnArc* self, const uint16_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnArc* self, double* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnArc* self, double value); /* slot 93 */ + AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnArc* self, double* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnArc* self, double value); /* slot 95 */ + AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnArc* self, int32_t* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnArc* self, int32_t value); /* slot 97 */ + AvnHResult (AVN_CALL *get_stroke_join)(IAvnArc* self, int32_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_stroke_join)(IAvnArc* self, int32_t value); /* slot 99 */ + AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnArc* self, double* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnArc* self, double value); /* slot 101 */ + AvnHResult (AVN_CALL *get_start_angle)(IAvnArc* self, double* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_start_angle)(IAvnArc* self, double value); /* slot 103 */ + AvnHResult (AVN_CALL *get_sweep_angle)(IAvnArc* self, double* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_sweep_angle)(IAvnArc* self, double value); /* slot 105 */ }; struct IAvnArc { const IAvnArcVtbl* vtbl; }; -#define I_AVN_ARC_VTABLE_SLOTS 91 +#define I_AVN_ARC_VTABLE_SLOTS 106 static const AvnGuid I_AVN_AUTO_COMPLETE_BOX_IID = { - 0x92CEFC39, - 0x4E40, - 0x5193, - { 0x89, 0x3F, 0xF3, 0xE2, 0xC7, 0x7E, 0xD2, 0x4C } + 0x6D1670C7, + 0x0D52, + 0x5BB1, + { 0x82, 0x89, 0x6C, 0x26, 0x17, 0xB7, 0x4A, 0x6C } }; -#define I_AVN_AUTO_COMPLETE_BOX_ABI_VERSION 16 +#define I_AVN_AUTO_COMPLETE_BOX_ABI_VERSION 19 struct IAvnAutoCompleteBoxVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnAutoCompleteBox* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnAutoCompleteBox* self); /* slot 1 */ @@ -2459,113 +2624,128 @@ struct IAvnAutoCompleteBoxVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnAutoCompleteBox* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnAutoCompleteBox* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnAutoCompleteBox* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnAutoCompleteBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnAutoCompleteBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnAutoCompleteBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnAutoCompleteBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnAutoCompleteBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnAutoCompleteBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnAutoCompleteBox* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnAutoCompleteBox* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnAutoCompleteBox* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnAutoCompleteBox* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnAutoCompleteBox* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnAutoCompleteBox* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnAutoCompleteBox* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnAutoCompleteBox* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnAutoCompleteBox* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnAutoCompleteBox* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnAutoCompleteBox* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnAutoCompleteBox* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnAutoCompleteBox* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnAutoCompleteBox* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnAutoCompleteBox* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnAutoCompleteBox* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnAutoCompleteBox* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnAutoCompleteBox* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnAutoCompleteBox* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnAutoCompleteBox* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnAutoCompleteBox* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnAutoCompleteBox* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnAutoCompleteBox* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnAutoCompleteBox* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_caret_index)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_caret_index)(IAvnAutoCompleteBox* self, int32_t value); /* slot 98 */ - AvnHResult (AVN_CALL *get_minimum_prefix_length)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_minimum_prefix_length)(IAvnAutoCompleteBox* self, int32_t value); /* slot 100 */ - AvnHResult (AVN_CALL *get_is_text_completion_enabled)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_is_text_completion_enabled)(IAvnAutoCompleteBox* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnAutoCompleteBox* self, IAvnDataTemplate** value); /* slot 103 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnAutoCompleteBox* self, IAvnDataTemplate* value); /* slot 104 */ - AvnHResult (AVN_CALL *get_minimum_populate_delay)(IAvnAutoCompleteBox* self, int64_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_minimum_populate_delay)(IAvnAutoCompleteBox* self, int64_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_max_drop_down_height)(IAvnAutoCompleteBox* self, double* value); /* slot 107 */ - AvnHResult (AVN_CALL *set_max_drop_down_height)(IAvnAutoCompleteBox* self, double value); /* slot 108 */ - AvnHResult (AVN_CALL *get_is_drop_down_open)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_is_drop_down_open)(IAvnAutoCompleteBox* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_clear_selection_on_lost_focus)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_clear_selection_on_lost_focus)(IAvnAutoCompleteBox* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnAutoCompleteBox* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnAutoCompleteBox* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_text)(IAvnAutoCompleteBox* self, uint16_t** value); /* slot 115 */ - AvnHResult (AVN_CALL *set_text)(IAvnAutoCompleteBox* self, const uint16_t* value); /* slot 116 */ - AvnHResult (AVN_CALL *get_search_text)(IAvnAutoCompleteBox* self, uint16_t** value); /* slot 117 */ - AvnHResult (AVN_CALL *get_filter_mode)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 118 */ - AvnHResult (AVN_CALL *set_filter_mode)(IAvnAutoCompleteBox* self, int32_t value); /* slot 119 */ - AvnHResult (AVN_CALL *get_placeholder_text)(IAvnAutoCompleteBox* self, uint16_t** value); /* slot 120 */ - AvnHResult (AVN_CALL *set_placeholder_text)(IAvnAutoCompleteBox* self, const uint16_t* value); /* slot 121 */ - AvnHResult (AVN_CALL *get_placeholder_foreground)(IAvnAutoCompleteBox* self, IAvnBrush** value); /* slot 122 */ - AvnHResult (AVN_CALL *set_placeholder_foreground)(IAvnAutoCompleteBox* self, IAvnBrush* value); /* slot 123 */ - AvnHResult (AVN_CALL *get_item_filter)(IAvnAutoCompleteBox* self, IAvnItemFilter** value); /* slot 124 */ - AvnHResult (AVN_CALL *set_item_filter)(IAvnAutoCompleteBox* self, IAvnItemFilter* value); /* slot 125 */ - AvnHResult (AVN_CALL *get_text_filter)(IAvnAutoCompleteBox* self, IAvnTextFilter** value); /* slot 126 */ - AvnHResult (AVN_CALL *set_text_filter)(IAvnAutoCompleteBox* self, IAvnTextFilter* value); /* slot 127 */ - AvnHResult (AVN_CALL *get_item_selector)(IAvnAutoCompleteBox* self, IAvnItemSelector** value); /* slot 128 */ - AvnHResult (AVN_CALL *set_item_selector)(IAvnAutoCompleteBox* self, IAvnItemSelector* value); /* slot 129 */ - AvnHResult (AVN_CALL *get_text_selector)(IAvnAutoCompleteBox* self, IAvnTextSelector** value); /* slot 130 */ - AvnHResult (AVN_CALL *set_text_selector)(IAvnAutoCompleteBox* self, IAvnTextSelector* value); /* slot 131 */ - AvnHResult (AVN_CALL *get_async_populator)(IAvnAutoCompleteBox* self, IAvnAsyncPopulator** value); /* slot 132 */ - AvnHResult (AVN_CALL *set_async_populator)(IAvnAutoCompleteBox* self, IAvnAsyncPopulator* value); /* slot 133 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnAutoCompleteBox* self, IAvnVariantList** value); /* slot 134 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnAutoCompleteBox* self, IAvnVariantList* value); /* slot 135 */ - AvnHResult (AVN_CALL *get_max_length)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 136 */ - AvnHResult (AVN_CALL *set_max_length)(IAvnAutoCompleteBox* self, int32_t value); /* slot 137 */ - AvnHResult (AVN_CALL *get_inner_left_content)(IAvnAutoCompleteBox* self, IAvnControl** value); /* slot 138 */ - AvnHResult (AVN_CALL *set_inner_left_content)(IAvnAutoCompleteBox* self, IAvnControl* value); /* slot 139 */ - AvnHResult (AVN_CALL *get_inner_right_content)(IAvnAutoCompleteBox* self, IAvnControl** value); /* slot 140 */ - AvnHResult (AVN_CALL *set_inner_right_content)(IAvnAutoCompleteBox* self, IAvnControl* value); /* slot 141 */ - AvnHResult (AVN_CALL *populate_complete)(IAvnAutoCompleteBox* self); /* slot 142 */ - AvnHResult (AVN_CALL *advise_text_changed)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxTextChangedHandler* handler, int64_t* subscription_id); /* slot 143 */ - AvnHResult (AVN_CALL *unadvise_text_changed)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 144 */ - AvnHResult (AVN_CALL *advise_populating)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxPopulatingHandler* handler, int64_t* subscription_id); /* slot 145 */ - AvnHResult (AVN_CALL *unadvise_populating)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 146 */ - AvnHResult (AVN_CALL *advise_populated)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxPopulatedHandler* handler, int64_t* subscription_id); /* slot 147 */ - AvnHResult (AVN_CALL *unadvise_populated)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 148 */ - AvnHResult (AVN_CALL *advise_drop_down_opening)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxDropDownOpeningHandler* handler, int64_t* subscription_id); /* slot 149 */ - AvnHResult (AVN_CALL *unadvise_drop_down_opening)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 150 */ - AvnHResult (AVN_CALL *advise_drop_down_opened)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxDropDownOpenedHandler* handler, int64_t* subscription_id); /* slot 151 */ - AvnHResult (AVN_CALL *unadvise_drop_down_opened)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 152 */ - AvnHResult (AVN_CALL *advise_drop_down_closing)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxDropDownClosingHandler* handler, int64_t* subscription_id); /* slot 153 */ - AvnHResult (AVN_CALL *unadvise_drop_down_closing)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 154 */ - AvnHResult (AVN_CALL *advise_drop_down_closed)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxDropDownClosedHandler* handler, int64_t* subscription_id); /* slot 155 */ - AvnHResult (AVN_CALL *unadvise_drop_down_closed)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 156 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 157 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 158 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnAutoCompleteBox* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnAutoCompleteBox* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnAutoCompleteBox* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnAutoCompleteBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnAutoCompleteBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnAutoCompleteBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnAutoCompleteBox* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnAutoCompleteBox* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnAutoCompleteBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnAutoCompleteBox* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnAutoCompleteBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnAutoCompleteBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnAutoCompleteBox* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnAutoCompleteBox* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnAutoCompleteBox* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnAutoCompleteBox* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnAutoCompleteBox* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnAutoCompleteBox* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnAutoCompleteBox* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnAutoCompleteBox* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnAutoCompleteBox* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnAutoCompleteBox* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnAutoCompleteBox* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnAutoCompleteBox* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnAutoCompleteBox* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnAutoCompleteBox* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnAutoCompleteBox* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnAutoCompleteBox* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnAutoCompleteBox* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnAutoCompleteBox* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnAutoCompleteBox* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnAutoCompleteBox* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnAutoCompleteBox* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnAutoCompleteBox* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnAutoCompleteBox* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnAutoCompleteBox* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnAutoCompleteBox* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnAutoCompleteBox* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnAutoCompleteBox* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_caret_index)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_caret_index)(IAvnAutoCompleteBox* self, int32_t value); /* slot 113 */ + AvnHResult (AVN_CALL *get_minimum_prefix_length)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_minimum_prefix_length)(IAvnAutoCompleteBox* self, int32_t value); /* slot 115 */ + AvnHResult (AVN_CALL *get_is_text_completion_enabled)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_is_text_completion_enabled)(IAvnAutoCompleteBox* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnAutoCompleteBox* self, IAvnDataTemplate** value); /* slot 118 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnAutoCompleteBox* self, IAvnDataTemplate* value); /* slot 119 */ + AvnHResult (AVN_CALL *get_minimum_populate_delay)(IAvnAutoCompleteBox* self, int64_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_minimum_populate_delay)(IAvnAutoCompleteBox* self, int64_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_max_drop_down_height)(IAvnAutoCompleteBox* self, double* value); /* slot 122 */ + AvnHResult (AVN_CALL *set_max_drop_down_height)(IAvnAutoCompleteBox* self, double value); /* slot 123 */ + AvnHResult (AVN_CALL *get_is_drop_down_open)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_is_drop_down_open)(IAvnAutoCompleteBox* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_clear_selection_on_lost_focus)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_clear_selection_on_lost_focus)(IAvnAutoCompleteBox* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnAutoCompleteBox* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnAutoCompleteBox* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_text)(IAvnAutoCompleteBox* self, uint16_t** value); /* slot 130 */ + AvnHResult (AVN_CALL *set_text)(IAvnAutoCompleteBox* self, const uint16_t* value); /* slot 131 */ + AvnHResult (AVN_CALL *get_search_text)(IAvnAutoCompleteBox* self, uint16_t** value); /* slot 132 */ + AvnHResult (AVN_CALL *get_filter_mode)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 133 */ + AvnHResult (AVN_CALL *set_filter_mode)(IAvnAutoCompleteBox* self, int32_t value); /* slot 134 */ + AvnHResult (AVN_CALL *get_placeholder_text)(IAvnAutoCompleteBox* self, uint16_t** value); /* slot 135 */ + AvnHResult (AVN_CALL *set_placeholder_text)(IAvnAutoCompleteBox* self, const uint16_t* value); /* slot 136 */ + AvnHResult (AVN_CALL *get_placeholder_foreground)(IAvnAutoCompleteBox* self, IAvnBrush** value); /* slot 137 */ + AvnHResult (AVN_CALL *set_placeholder_foreground)(IAvnAutoCompleteBox* self, IAvnBrush* value); /* slot 138 */ + AvnHResult (AVN_CALL *get_item_filter)(IAvnAutoCompleteBox* self, IAvnItemFilter** value); /* slot 139 */ + AvnHResult (AVN_CALL *set_item_filter)(IAvnAutoCompleteBox* self, IAvnItemFilter* value); /* slot 140 */ + AvnHResult (AVN_CALL *get_text_filter)(IAvnAutoCompleteBox* self, IAvnTextFilter** value); /* slot 141 */ + AvnHResult (AVN_CALL *set_text_filter)(IAvnAutoCompleteBox* self, IAvnTextFilter* value); /* slot 142 */ + AvnHResult (AVN_CALL *get_item_selector)(IAvnAutoCompleteBox* self, IAvnItemSelector** value); /* slot 143 */ + AvnHResult (AVN_CALL *set_item_selector)(IAvnAutoCompleteBox* self, IAvnItemSelector* value); /* slot 144 */ + AvnHResult (AVN_CALL *get_text_selector)(IAvnAutoCompleteBox* self, IAvnTextSelector** value); /* slot 145 */ + AvnHResult (AVN_CALL *set_text_selector)(IAvnAutoCompleteBox* self, IAvnTextSelector* value); /* slot 146 */ + AvnHResult (AVN_CALL *get_async_populator)(IAvnAutoCompleteBox* self, IAvnAsyncPopulator** value); /* slot 147 */ + AvnHResult (AVN_CALL *set_async_populator)(IAvnAutoCompleteBox* self, IAvnAsyncPopulator* value); /* slot 148 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnAutoCompleteBox* self, IAvnVariantList** value); /* slot 149 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnAutoCompleteBox* self, IAvnVariantList* value); /* slot 150 */ + AvnHResult (AVN_CALL *get_max_length)(IAvnAutoCompleteBox* self, int32_t* value); /* slot 151 */ + AvnHResult (AVN_CALL *set_max_length)(IAvnAutoCompleteBox* self, int32_t value); /* slot 152 */ + AvnHResult (AVN_CALL *get_inner_left_content)(IAvnAutoCompleteBox* self, IAvnControl** value); /* slot 153 */ + AvnHResult (AVN_CALL *set_inner_left_content)(IAvnAutoCompleteBox* self, IAvnControl* value); /* slot 154 */ + AvnHResult (AVN_CALL *get_inner_right_content)(IAvnAutoCompleteBox* self, IAvnControl** value); /* slot 155 */ + AvnHResult (AVN_CALL *set_inner_right_content)(IAvnAutoCompleteBox* self, IAvnControl* value); /* slot 156 */ + AvnHResult (AVN_CALL *populate_complete)(IAvnAutoCompleteBox* self); /* slot 157 */ + AvnHResult (AVN_CALL *advise_text_changed)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxTextChangedHandler* handler, int64_t* subscription_id); /* slot 158 */ + AvnHResult (AVN_CALL *unadvise_text_changed)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 159 */ + AvnHResult (AVN_CALL *advise_populating)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxPopulatingHandler* handler, int64_t* subscription_id); /* slot 160 */ + AvnHResult (AVN_CALL *unadvise_populating)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 161 */ + AvnHResult (AVN_CALL *advise_populated)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxPopulatedHandler* handler, int64_t* subscription_id); /* slot 162 */ + AvnHResult (AVN_CALL *unadvise_populated)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 163 */ + AvnHResult (AVN_CALL *advise_drop_down_opening)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxDropDownOpeningHandler* handler, int64_t* subscription_id); /* slot 164 */ + AvnHResult (AVN_CALL *unadvise_drop_down_opening)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 165 */ + AvnHResult (AVN_CALL *advise_drop_down_opened)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxDropDownOpenedHandler* handler, int64_t* subscription_id); /* slot 166 */ + AvnHResult (AVN_CALL *unadvise_drop_down_opened)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 167 */ + AvnHResult (AVN_CALL *advise_drop_down_closing)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxDropDownClosingHandler* handler, int64_t* subscription_id); /* slot 168 */ + AvnHResult (AVN_CALL *unadvise_drop_down_closing)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 169 */ + AvnHResult (AVN_CALL *advise_drop_down_closed)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxDropDownClosedHandler* handler, int64_t* subscription_id); /* slot 170 */ + AvnHResult (AVN_CALL *unadvise_drop_down_closed)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 171 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnAutoCompleteBox* self, IAvnAutoCompleteBoxSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 172 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnAutoCompleteBox* self, int64_t subscription_id); /* slot 173 */ }; struct IAvnAutoCompleteBox { const IAvnAutoCompleteBoxVtbl* vtbl; }; -#define I_AVN_AUTO_COMPLETE_BOX_VTABLE_SLOTS 159 +#define I_AVN_AUTO_COMPLETE_BOX_VTABLE_SLOTS 174 static const AvnGuid I_AVN_AVALONIA_OBJECT_IID = { 0xFA7F2E03, @@ -2585,12 +2765,12 @@ struct IAvnAvaloniaObject { const IAvnAvaloniaObjectVtbl* vtbl; }; #define I_AVN_AVALONIA_OBJECT_VTABLE_SLOTS 5 static const AvnGuid I_AVN_BORDER_IID = { - 0x80C1079E, - 0xAFDF, - 0x5483, - { 0xA5, 0x60, 0x2D, 0xDB, 0x47, 0x5C, 0xF8, 0x94 } + 0x430F4A36, + 0x8B46, + 0x5F3C, + { 0x8E, 0x4D, 0xBD, 0x11, 0xAA, 0x52, 0x29, 0x69 } }; -#define I_AVN_BORDER_ABI_VERSION 12 +#define I_AVN_BORDER_ABI_VERSION 15 struct IAvnBorderVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnBorder* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnBorder* self); /* slot 1 */ @@ -2647,48 +2827,63 @@ struct IAvnBorderVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnBorder* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnBorder* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnBorder* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnBorder* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnBorder* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnBorder* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnBorder* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnBorder* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnBorder* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnBorder* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnBorder* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnBorder* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnBorder* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnBorder* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnBorder* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnBorder* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnBorder* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_child)(IAvnBorder* self, IAvnControl** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_child)(IAvnBorder* self, IAvnControl* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_padding)(IAvnBorder* self, AvnThickness* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_padding)(IAvnBorder* self, AvnThickness value); /* slot 72 */ - AvnHResult (AVN_CALL *get_background)(IAvnBorder* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_background)(IAvnBorder* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnBorder* self, int32_t* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnBorder* self, int32_t value); /* slot 76 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnBorder* self, IAvnBrush** value); /* slot 77 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnBorder* self, IAvnBrush* value); /* slot 78 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnBorder* self, AvnThickness* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnBorder* self, AvnThickness value); /* slot 80 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnBorder* self, AvnCornerRadius* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnBorder* self, AvnCornerRadius value); /* slot 82 */ - AvnHResult (AVN_CALL *get_box_shadow)(IAvnBorder* self, uint16_t** value); /* slot 83 */ - AvnHResult (AVN_CALL *set_box_shadow)(IAvnBorder* self, const uint16_t* value); /* slot 84 */ - AvnHResult (AVN_CALL *get_clip_to_bounds_radius)(IAvnBorder* self, AvnCornerRadius* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnBorder* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnBorder* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnBorder* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnBorder* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnBorder* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnBorder* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnBorder* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnBorder* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnBorder* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnBorder* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnBorder* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnBorder* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnBorder* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnBorder* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnBorder* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnBorder* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnBorder* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnBorder* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnBorder* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnBorder* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnBorder* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnBorder* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnBorder* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnBorder* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnBorder* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnBorder* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnBorder* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnBorder* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnBorder* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_child)(IAvnBorder* self, IAvnControl** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_child)(IAvnBorder* self, IAvnControl* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_padding)(IAvnBorder* self, AvnThickness* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_padding)(IAvnBorder* self, AvnThickness value); /* slot 87 */ + AvnHResult (AVN_CALL *get_background)(IAvnBorder* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_background)(IAvnBorder* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnBorder* self, int32_t* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnBorder* self, int32_t value); /* slot 91 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnBorder* self, IAvnBrush** value); /* slot 92 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnBorder* self, IAvnBrush* value); /* slot 93 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnBorder* self, AvnThickness* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnBorder* self, AvnThickness value); /* slot 95 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnBorder* self, AvnCornerRadius* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnBorder* self, AvnCornerRadius value); /* slot 97 */ + AvnHResult (AVN_CALL *get_box_shadow)(IAvnBorder* self, uint16_t** value); /* slot 98 */ + AvnHResult (AVN_CALL *set_box_shadow)(IAvnBorder* self, const uint16_t* value); /* slot 99 */ + AvnHResult (AVN_CALL *get_clip_to_bounds_radius)(IAvnBorder* self, AvnCornerRadius* value); /* slot 100 */ }; struct IAvnBorder { const IAvnBorderVtbl* vtbl; }; -#define I_AVN_BORDER_VTABLE_SLOTS 86 +#define I_AVN_BORDER_VTABLE_SLOTS 101 static const AvnGuid I_AVN_BUTTON_IID = { - 0x62D66949, - 0x2173, - 0x5007, - { 0x96, 0x13, 0x1F, 0x4B, 0x3E, 0x7C, 0x14, 0x4E } + 0x085861C8, + 0xF91D, + 0x5AFE, + { 0xB5, 0x7A, 0xE6, 0x01, 0x47, 0x7F, 0xC2, 0xD2 } }; -#define I_AVN_BUTTON_ABI_VERSION 16 +#define I_AVN_BUTTON_ABI_VERSION 19 struct IAvnButtonVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnButton* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnButton* self); /* slot 1 */ @@ -2745,84 +2940,99 @@ struct IAvnButtonVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnButton* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnButton* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnButton* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnButton* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnButton* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnButton* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnButton* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnButton* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnButton* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnButton* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnButton* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnButton* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnButton* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnButton* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnButton* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnButton* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnButton* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnButton* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnButton* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnButton* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnButton* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnButton* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnButton* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnButton* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnButton* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnButton* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnButton* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnButton* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnButton* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnButton* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnButton* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnButton* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnButton* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnButton* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnButton* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnButton* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnButton* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnButton* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnButton* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnButton* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnButton* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnButton* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnButton* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnButton* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnButton* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnButton* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnButton* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_click_mode)(IAvnButton* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_click_mode)(IAvnButton* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_command)(IAvnButton* self, IAvnCommand** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_command)(IAvnButton* self, IAvnCommand* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnButton* self, uint16_t** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnButton* self, const uint16_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnButton* self, AvnVariant* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnButton* self, AvnVariant value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_default)(IAvnButton* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_default)(IAvnButton* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_cancel)(IAvnButton* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_cancel)(IAvnButton* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_pressed)(IAvnButton* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *get_flyout)(IAvnButton* self, IAvnFlyoutBase** value); /* slot 118 */ - AvnHResult (AVN_CALL *set_flyout)(IAvnButton* self, IAvnFlyoutBase* value); /* slot 119 */ - AvnHResult (AVN_CALL *advise_click)(IAvnButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 120 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnButton* self, int64_t subscription_id); /* slot 121 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnButton* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnButton* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnButton* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnButton* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnButton* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnButton* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnButton* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnButton* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnButton* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnButton* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnButton* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnButton* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnButton* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnButton* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnButton* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnButton* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnButton* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnButton* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnButton* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnButton* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnButton* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnButton* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnButton* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnButton* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnButton* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnButton* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnButton* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnButton* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnButton* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnButton* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnButton* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnButton* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnButton* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnButton* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnButton* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnButton* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnButton* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnButton* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnButton* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnButton* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnButton* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnButton* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnButton* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnButton* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnButton* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnButton* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnButton* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnButton* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnButton* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnButton* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnButton* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnButton* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnButton* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnButton* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnButton* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnButton* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnButton* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnButton* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnButton* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_click_mode)(IAvnButton* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_click_mode)(IAvnButton* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_command)(IAvnButton* self, IAvnCommand** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_command)(IAvnButton* self, IAvnCommand* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnButton* self, uint16_t** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnButton* self, const uint16_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnButton* self, AvnVariant* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnButton* self, AvnVariant value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_default)(IAvnButton* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_default)(IAvnButton* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_cancel)(IAvnButton* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_cancel)(IAvnButton* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_pressed)(IAvnButton* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *get_flyout)(IAvnButton* self, IAvnFlyoutBase** value); /* slot 133 */ + AvnHResult (AVN_CALL *set_flyout)(IAvnButton* self, IAvnFlyoutBase* value); /* slot 134 */ + AvnHResult (AVN_CALL *advise_click)(IAvnButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 135 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnButton* self, int64_t subscription_id); /* slot 136 */ }; struct IAvnButton { const IAvnButtonVtbl* vtbl; }; -#define I_AVN_BUTTON_VTABLE_SLOTS 122 +#define I_AVN_BUTTON_VTABLE_SLOTS 137 static const AvnGuid I_AVN_BUTTON_SPINNER_IID = { - 0x046C4736, - 0xCECE, - 0x5455, - { 0x98, 0xA8, 0xF2, 0xDD, 0x3C, 0x84, 0xC8, 0x46 } + 0x907404D5, + 0x1DE4, + 0x574D, + { 0x99, 0x0E, 0x2D, 0x8A, 0x79, 0x37, 0x3D, 0x6D } }; -#define I_AVN_BUTTON_SPINNER_ABI_VERSION 9 +#define I_AVN_BUTTON_SPINNER_ABI_VERSION 12 struct IAvnButtonSpinnerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnButtonSpinner* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnButtonSpinner* self); /* slot 1 */ @@ -2879,77 +3089,92 @@ struct IAvnButtonSpinnerVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnButtonSpinner* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnButtonSpinner* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnButtonSpinner* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnButtonSpinner* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnButtonSpinner* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnButtonSpinner* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnButtonSpinner* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnButtonSpinner* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnButtonSpinner* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnButtonSpinner* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnButtonSpinner* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnButtonSpinner* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnButtonSpinner* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnButtonSpinner* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnButtonSpinner* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnButtonSpinner* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnButtonSpinner* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnButtonSpinner* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnButtonSpinner* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnButtonSpinner* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnButtonSpinner* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnButtonSpinner* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnButtonSpinner* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnButtonSpinner* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnButtonSpinner* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnButtonSpinner* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnButtonSpinner* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnButtonSpinner* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnButtonSpinner* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnButtonSpinner* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnButtonSpinner* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnButtonSpinner* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnButtonSpinner* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnButtonSpinner* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnButtonSpinner* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnButtonSpinner* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnButtonSpinner* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnButtonSpinner* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnButtonSpinner* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnButtonSpinner* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnButtonSpinner* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnButtonSpinner* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnButtonSpinner* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnButtonSpinner* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnButtonSpinner* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnButtonSpinner* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnButtonSpinner* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_valid_spin_direction)(IAvnButtonSpinner* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_valid_spin_direction)(IAvnButtonSpinner* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *advise_spin)(IAvnButtonSpinner* self, IAvnSpinnerSpinHandler* handler, int64_t* subscription_id); /* slot 107 */ - AvnHResult (AVN_CALL *unadvise_spin)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 108 */ - AvnHResult (AVN_CALL *get_allow_spin)(IAvnButtonSpinner* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_allow_spin)(IAvnButtonSpinner* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_show_button_spinner)(IAvnButtonSpinner* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_show_button_spinner)(IAvnButtonSpinner* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_button_spinner_location)(IAvnButtonSpinner* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_button_spinner_location)(IAvnButtonSpinner* self, int32_t value); /* slot 114 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnButtonSpinner* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnButtonSpinner* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnButtonSpinner* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnButtonSpinner* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnButtonSpinner* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnButtonSpinner* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnButtonSpinner* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnButtonSpinner* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnButtonSpinner* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnButtonSpinner* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnButtonSpinner* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnButtonSpinner* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnButtonSpinner* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnButtonSpinner* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnButtonSpinner* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnButtonSpinner* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnButtonSpinner* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnButtonSpinner* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnButtonSpinner* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnButtonSpinner* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnButtonSpinner* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnButtonSpinner* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnButtonSpinner* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnButtonSpinner* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnButtonSpinner* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnButtonSpinner* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnButtonSpinner* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnButtonSpinner* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnButtonSpinner* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnButtonSpinner* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnButtonSpinner* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnButtonSpinner* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnButtonSpinner* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnButtonSpinner* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnButtonSpinner* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnButtonSpinner* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnButtonSpinner* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnButtonSpinner* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnButtonSpinner* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnButtonSpinner* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnButtonSpinner* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnButtonSpinner* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnButtonSpinner* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnButtonSpinner* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnButtonSpinner* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnButtonSpinner* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnButtonSpinner* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnButtonSpinner* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnButtonSpinner* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnButtonSpinner* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnButtonSpinner* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnButtonSpinner* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnButtonSpinner* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_valid_spin_direction)(IAvnButtonSpinner* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_valid_spin_direction)(IAvnButtonSpinner* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *advise_spin)(IAvnButtonSpinner* self, IAvnSpinnerSpinHandler* handler, int64_t* subscription_id); /* slot 122 */ + AvnHResult (AVN_CALL *unadvise_spin)(IAvnButtonSpinner* self, int64_t subscription_id); /* slot 123 */ + AvnHResult (AVN_CALL *get_allow_spin)(IAvnButtonSpinner* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_allow_spin)(IAvnButtonSpinner* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_show_button_spinner)(IAvnButtonSpinner* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_show_button_spinner)(IAvnButtonSpinner* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_button_spinner_location)(IAvnButtonSpinner* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_button_spinner_location)(IAvnButtonSpinner* self, int32_t value); /* slot 129 */ }; struct IAvnButtonSpinner { const IAvnButtonSpinnerVtbl* vtbl; }; -#define I_AVN_BUTTON_SPINNER_VTABLE_SLOTS 115 +#define I_AVN_BUTTON_SPINNER_VTABLE_SLOTS 130 static const AvnGuid I_AVN_CALENDAR_IID = { - 0xF1D659B7, - 0x93E5, - 0x5093, - { 0x9D, 0x16, 0xC4, 0x80, 0xF7, 0x52, 0x0E, 0x14 } + 0x2ECA7A03, + 0x1AA5, + 0x5FC5, + { 0xB1, 0xCC, 0x7E, 0xCD, 0xDC, 0xF2, 0x00, 0xD1 } }; -#define I_AVN_CALENDAR_ABI_VERSION 12 +#define I_AVN_CALENDAR_ABI_VERSION 15 struct IAvnCalendarVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnCalendar* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnCalendar* self); /* slot 1 */ @@ -3006,91 +3231,106 @@ struct IAvnCalendarVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnCalendar* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnCalendar* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnCalendar* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnCalendar* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnCalendar* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnCalendar* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCalendar* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnCalendar* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCalendar* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnCalendar* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCalendar* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnCalendar* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCalendar* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCalendar* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCalendar* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCalendar* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCalendar* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnCalendar* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnCalendar* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnCalendar* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnCalendar* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnCalendar* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnCalendar* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnCalendar* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnCalendar* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnCalendar* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnCalendar* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnCalendar* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnCalendar* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnCalendar* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnCalendar* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnCalendar* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnCalendar* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnCalendar* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnCalendar* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnCalendar* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnCalendar* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnCalendar* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnCalendar* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnCalendar* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnCalendar* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCalendar* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCalendar* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnCalendar* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnCalendar* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_first_day_of_week)(IAvnCalendar* self, int32_t* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_first_day_of_week)(IAvnCalendar* self, int32_t value); /* slot 98 */ - AvnHResult (AVN_CALL *get_is_today_highlighted)(IAvnCalendar* self, int32_t* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_is_today_highlighted)(IAvnCalendar* self, int32_t value); /* slot 100 */ - AvnHResult (AVN_CALL *get_header_background)(IAvnCalendar* self, IAvnBrush** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_header_background)(IAvnCalendar* self, IAvnBrush* value); /* slot 102 */ - AvnHResult (AVN_CALL *get_is_week_number_visible)(IAvnCalendar* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_is_week_number_visible)(IAvnCalendar* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_week_number_rule)(IAvnCalendar* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_week_number_rule)(IAvnCalendar* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_display_mode)(IAvnCalendar* self, int32_t* value); /* slot 107 */ - AvnHResult (AVN_CALL *set_display_mode)(IAvnCalendar* self, int32_t value); /* slot 108 */ - AvnHResult (AVN_CALL *get_selection_mode)(IAvnCalendar* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_selection_mode)(IAvnCalendar* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_allow_tap_range_selection)(IAvnCalendar* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_allow_tap_range_selection)(IAvnCalendar* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_date)(IAvnCalendar* self, uint16_t** value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_date)(IAvnCalendar* self, const uint16_t* value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_dates)(IAvnCalendar* self, IAvnDateTimeList** value); /* slot 115 */ - AvnHResult (AVN_CALL *get_display_date)(IAvnCalendar* self, uint16_t** value); /* slot 116 */ - AvnHResult (AVN_CALL *set_display_date)(IAvnCalendar* self, const uint16_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *get_display_date_start)(IAvnCalendar* self, uint16_t** value); /* slot 118 */ - AvnHResult (AVN_CALL *set_display_date_start)(IAvnCalendar* self, const uint16_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *get_blackout_dates)(IAvnCalendar* self, IAvnDateTimeList** value); /* slot 120 */ - AvnHResult (AVN_CALL *get_display_date_end)(IAvnCalendar* self, uint16_t** value); /* slot 121 */ - AvnHResult (AVN_CALL *set_display_date_end)(IAvnCalendar* self, const uint16_t* value); /* slot 122 */ - AvnHResult (AVN_CALL *advise_selected_dates_changed)(IAvnCalendar* self, IAvnCalendarSelectedDatesChangedHandler* handler, int64_t* subscription_id); /* slot 123 */ - AvnHResult (AVN_CALL *unadvise_selected_dates_changed)(IAvnCalendar* self, int64_t subscription_id); /* slot 124 */ - AvnHResult (AVN_CALL *advise_display_date_changed)(IAvnCalendar* self, IAvnCalendarDisplayDateChangedHandler* handler, int64_t* subscription_id); /* slot 125 */ - AvnHResult (AVN_CALL *unadvise_display_date_changed)(IAvnCalendar* self, int64_t subscription_id); /* slot 126 */ - AvnHResult (AVN_CALL *advise_display_mode_changed)(IAvnCalendar* self, IAvnCalendarDisplayModeChangedHandler* handler, int64_t* subscription_id); /* slot 127 */ - AvnHResult (AVN_CALL *unadvise_display_mode_changed)(IAvnCalendar* self, int64_t subscription_id); /* slot 128 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnCalendar* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnCalendar* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnCalendar* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnCalendar* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnCalendar* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnCalendar* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCalendar* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnCalendar* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCalendar* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnCalendar* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCalendar* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnCalendar* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnCalendar* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnCalendar* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnCalendar* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnCalendar* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCalendar* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnCalendar* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnCalendar* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCalendar* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCalendar* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCalendar* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCalendar* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnCalendar* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnCalendar* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnCalendar* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnCalendar* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnCalendar* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnCalendar* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnCalendar* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnCalendar* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnCalendar* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnCalendar* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnCalendar* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnCalendar* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnCalendar* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnCalendar* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnCalendar* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnCalendar* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnCalendar* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnCalendar* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnCalendar* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnCalendar* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnCalendar* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnCalendar* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnCalendar* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnCalendar* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnCalendar* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnCalendar* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnCalendar* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnCalendar* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnCalendar* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnCalendar* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCalendar* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCalendar* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnCalendar* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnCalendar* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_first_day_of_week)(IAvnCalendar* self, int32_t* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_first_day_of_week)(IAvnCalendar* self, int32_t value); /* slot 113 */ + AvnHResult (AVN_CALL *get_is_today_highlighted)(IAvnCalendar* self, int32_t* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_is_today_highlighted)(IAvnCalendar* self, int32_t value); /* slot 115 */ + AvnHResult (AVN_CALL *get_header_background)(IAvnCalendar* self, IAvnBrush** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_header_background)(IAvnCalendar* self, IAvnBrush* value); /* slot 117 */ + AvnHResult (AVN_CALL *get_is_week_number_visible)(IAvnCalendar* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_is_week_number_visible)(IAvnCalendar* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_week_number_rule)(IAvnCalendar* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_week_number_rule)(IAvnCalendar* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_display_mode)(IAvnCalendar* self, int32_t* value); /* slot 122 */ + AvnHResult (AVN_CALL *set_display_mode)(IAvnCalendar* self, int32_t value); /* slot 123 */ + AvnHResult (AVN_CALL *get_selection_mode)(IAvnCalendar* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_selection_mode)(IAvnCalendar* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_allow_tap_range_selection)(IAvnCalendar* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_allow_tap_range_selection)(IAvnCalendar* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_date)(IAvnCalendar* self, uint16_t** value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_date)(IAvnCalendar* self, const uint16_t* value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_dates)(IAvnCalendar* self, IAvnDateTimeList** value); /* slot 130 */ + AvnHResult (AVN_CALL *get_display_date)(IAvnCalendar* self, uint16_t** value); /* slot 131 */ + AvnHResult (AVN_CALL *set_display_date)(IAvnCalendar* self, const uint16_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *get_display_date_start)(IAvnCalendar* self, uint16_t** value); /* slot 133 */ + AvnHResult (AVN_CALL *set_display_date_start)(IAvnCalendar* self, const uint16_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *get_blackout_dates)(IAvnCalendar* self, IAvnDateTimeList** value); /* slot 135 */ + AvnHResult (AVN_CALL *get_display_date_end)(IAvnCalendar* self, uint16_t** value); /* slot 136 */ + AvnHResult (AVN_CALL *set_display_date_end)(IAvnCalendar* self, const uint16_t* value); /* slot 137 */ + AvnHResult (AVN_CALL *advise_selected_dates_changed)(IAvnCalendar* self, IAvnCalendarSelectedDatesChangedHandler* handler, int64_t* subscription_id); /* slot 138 */ + AvnHResult (AVN_CALL *unadvise_selected_dates_changed)(IAvnCalendar* self, int64_t subscription_id); /* slot 139 */ + AvnHResult (AVN_CALL *advise_display_date_changed)(IAvnCalendar* self, IAvnCalendarDisplayDateChangedHandler* handler, int64_t* subscription_id); /* slot 140 */ + AvnHResult (AVN_CALL *unadvise_display_date_changed)(IAvnCalendar* self, int64_t subscription_id); /* slot 141 */ + AvnHResult (AVN_CALL *advise_display_mode_changed)(IAvnCalendar* self, IAvnCalendarDisplayModeChangedHandler* handler, int64_t* subscription_id); /* slot 142 */ + AvnHResult (AVN_CALL *unadvise_display_mode_changed)(IAvnCalendar* self, int64_t subscription_id); /* slot 143 */ }; struct IAvnCalendar { const IAvnCalendarVtbl* vtbl; }; -#define I_AVN_CALENDAR_VTABLE_SLOTS 129 +#define I_AVN_CALENDAR_VTABLE_SLOTS 144 static const AvnGuid I_AVN_CALENDAR_DATE_PICKER_IID = { - 0xDC5958DB, - 0xF3AD, - 0x5B9F, - { 0x9C, 0x86, 0x7B, 0x66, 0xDD, 0x3D, 0x24, 0x29 } + 0x3CB1E562, + 0x6FEB, + 0x5E8B, + { 0xA7, 0x9A, 0x9C, 0x1B, 0x3D, 0xB4, 0xAE, 0x62 } }; -#define I_AVN_CALENDAR_DATE_PICKER_ABI_VERSION 11 +#define I_AVN_CALENDAR_DATE_PICKER_ABI_VERSION 14 struct IAvnCalendarDatePickerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnCalendarDatePicker* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnCalendarDatePicker* self); /* slot 1 */ @@ -3147,103 +3387,118 @@ struct IAvnCalendarDatePickerVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnCalendarDatePicker* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnCalendarDatePicker* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnCalendarDatePicker* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnCalendarDatePicker* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnCalendarDatePicker* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnCalendarDatePicker* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnCalendarDatePicker* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCalendarDatePicker* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCalendarDatePicker* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnCalendarDatePicker* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnCalendarDatePicker* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnCalendarDatePicker* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnCalendarDatePicker* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnCalendarDatePicker* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnCalendarDatePicker* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnCalendarDatePicker* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnCalendarDatePicker* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnCalendarDatePicker* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnCalendarDatePicker* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnCalendarDatePicker* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnCalendarDatePicker* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnCalendarDatePicker* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnCalendarDatePicker* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnCalendarDatePicker* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnCalendarDatePicker* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCalendarDatePicker* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCalendarDatePicker* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnCalendarDatePicker* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnCalendarDatePicker* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_blackout_dates)(IAvnCalendarDatePicker* self, IAvnDateTimeList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_display_date)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 98 */ - AvnHResult (AVN_CALL *set_display_date)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 99 */ - AvnHResult (AVN_CALL *get_display_date_start)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 100 */ - AvnHResult (AVN_CALL *set_display_date_start)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *get_display_date_end)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 102 */ - AvnHResult (AVN_CALL *set_display_date_end)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *get_first_day_of_week)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 104 */ - AvnHResult (AVN_CALL *set_first_day_of_week)(IAvnCalendarDatePicker* self, int32_t value); /* slot 105 */ - AvnHResult (AVN_CALL *get_is_drop_down_open)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 106 */ - AvnHResult (AVN_CALL *set_is_drop_down_open)(IAvnCalendarDatePicker* self, int32_t value); /* slot 107 */ - AvnHResult (AVN_CALL *get_is_today_highlighted)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 108 */ - AvnHResult (AVN_CALL *set_is_today_highlighted)(IAvnCalendarDatePicker* self, int32_t value); /* slot 109 */ - AvnHResult (AVN_CALL *get_selected_date)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 110 */ - AvnHResult (AVN_CALL *set_selected_date)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *get_selected_date_format)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 112 */ - AvnHResult (AVN_CALL *set_selected_date_format)(IAvnCalendarDatePicker* self, int32_t value); /* slot 113 */ - AvnHResult (AVN_CALL *get_custom_date_format_string)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 114 */ - AvnHResult (AVN_CALL *set_custom_date_format_string)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *get_text)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 116 */ - AvnHResult (AVN_CALL *set_text)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *get_placeholder_text)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 118 */ - AvnHResult (AVN_CALL *set_placeholder_text)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *get_use_floating_placeholder)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 120 */ - AvnHResult (AVN_CALL *set_use_floating_placeholder)(IAvnCalendarDatePicker* self, int32_t value); /* slot 121 */ - AvnHResult (AVN_CALL *get_placeholder_foreground)(IAvnCalendarDatePicker* self, IAvnBrush** value); /* slot 122 */ - AvnHResult (AVN_CALL *set_placeholder_foreground)(IAvnCalendarDatePicker* self, IAvnBrush* value); /* slot 123 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 124 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnCalendarDatePicker* self, int32_t value); /* slot 125 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 126 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnCalendarDatePicker* self, int32_t value); /* slot 127 */ - AvnHResult (AVN_CALL *get_is_week_number_visible)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 128 */ - AvnHResult (AVN_CALL *set_is_week_number_visible)(IAvnCalendarDatePicker* self, int32_t value); /* slot 129 */ - AvnHResult (AVN_CALL *get_week_number_rule)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 130 */ - AvnHResult (AVN_CALL *set_week_number_rule)(IAvnCalendarDatePicker* self, int32_t value); /* slot 131 */ - AvnHResult (AVN_CALL *clear)(IAvnCalendarDatePicker* self); /* slot 132 */ - AvnHResult (AVN_CALL *advise_calendar_closed)(IAvnCalendarDatePicker* self, IAvnCalendarDatePickerCalendarClosedHandler* handler, int64_t* subscription_id); /* slot 133 */ - AvnHResult (AVN_CALL *unadvise_calendar_closed)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 134 */ - AvnHResult (AVN_CALL *advise_calendar_opened)(IAvnCalendarDatePicker* self, IAvnCalendarDatePickerCalendarOpenedHandler* handler, int64_t* subscription_id); /* slot 135 */ - AvnHResult (AVN_CALL *unadvise_calendar_opened)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 136 */ - AvnHResult (AVN_CALL *advise_date_validation_error)(IAvnCalendarDatePicker* self, IAvnCalendarDatePickerDateValidationErrorHandler* handler, int64_t* subscription_id); /* slot 137 */ - AvnHResult (AVN_CALL *unadvise_date_validation_error)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 138 */ - AvnHResult (AVN_CALL *advise_selected_date_changed)(IAvnCalendarDatePicker* self, IAvnCalendarDatePickerSelectedDateChangedHandler* handler, int64_t* subscription_id); /* slot 139 */ - AvnHResult (AVN_CALL *unadvise_selected_date_changed)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 140 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnCalendarDatePicker* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnCalendarDatePicker* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnCalendarDatePicker* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnCalendarDatePicker* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnCalendarDatePicker* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnCalendarDatePicker* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnCalendarDatePicker* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnCalendarDatePicker* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnCalendarDatePicker* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnCalendarDatePicker* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCalendarDatePicker* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCalendarDatePicker* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnCalendarDatePicker* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnCalendarDatePicker* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnCalendarDatePicker* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnCalendarDatePicker* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnCalendarDatePicker* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnCalendarDatePicker* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnCalendarDatePicker* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnCalendarDatePicker* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnCalendarDatePicker* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnCalendarDatePicker* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnCalendarDatePicker* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnCalendarDatePicker* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnCalendarDatePicker* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnCalendarDatePicker* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnCalendarDatePicker* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnCalendarDatePicker* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnCalendarDatePicker* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnCalendarDatePicker* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnCalendarDatePicker* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCalendarDatePicker* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCalendarDatePicker* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnCalendarDatePicker* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnCalendarDatePicker* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_blackout_dates)(IAvnCalendarDatePicker* self, IAvnDateTimeList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_display_date)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 113 */ + AvnHResult (AVN_CALL *set_display_date)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 114 */ + AvnHResult (AVN_CALL *get_display_date_start)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 115 */ + AvnHResult (AVN_CALL *set_display_date_start)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *get_display_date_end)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 117 */ + AvnHResult (AVN_CALL *set_display_date_end)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *get_first_day_of_week)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 119 */ + AvnHResult (AVN_CALL *set_first_day_of_week)(IAvnCalendarDatePicker* self, int32_t value); /* slot 120 */ + AvnHResult (AVN_CALL *get_is_drop_down_open)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 121 */ + AvnHResult (AVN_CALL *set_is_drop_down_open)(IAvnCalendarDatePicker* self, int32_t value); /* slot 122 */ + AvnHResult (AVN_CALL *get_is_today_highlighted)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 123 */ + AvnHResult (AVN_CALL *set_is_today_highlighted)(IAvnCalendarDatePicker* self, int32_t value); /* slot 124 */ + AvnHResult (AVN_CALL *get_selected_date)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 125 */ + AvnHResult (AVN_CALL *set_selected_date)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *get_selected_date_format)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 127 */ + AvnHResult (AVN_CALL *set_selected_date_format)(IAvnCalendarDatePicker* self, int32_t value); /* slot 128 */ + AvnHResult (AVN_CALL *get_custom_date_format_string)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 129 */ + AvnHResult (AVN_CALL *set_custom_date_format_string)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *get_text)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 131 */ + AvnHResult (AVN_CALL *set_text)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *get_placeholder_text)(IAvnCalendarDatePicker* self, uint16_t** value); /* slot 133 */ + AvnHResult (AVN_CALL *set_placeholder_text)(IAvnCalendarDatePicker* self, const uint16_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *get_use_floating_placeholder)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 135 */ + AvnHResult (AVN_CALL *set_use_floating_placeholder)(IAvnCalendarDatePicker* self, int32_t value); /* slot 136 */ + AvnHResult (AVN_CALL *get_placeholder_foreground)(IAvnCalendarDatePicker* self, IAvnBrush** value); /* slot 137 */ + AvnHResult (AVN_CALL *set_placeholder_foreground)(IAvnCalendarDatePicker* self, IAvnBrush* value); /* slot 138 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 139 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnCalendarDatePicker* self, int32_t value); /* slot 140 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 141 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnCalendarDatePicker* self, int32_t value); /* slot 142 */ + AvnHResult (AVN_CALL *get_is_week_number_visible)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 143 */ + AvnHResult (AVN_CALL *set_is_week_number_visible)(IAvnCalendarDatePicker* self, int32_t value); /* slot 144 */ + AvnHResult (AVN_CALL *get_week_number_rule)(IAvnCalendarDatePicker* self, int32_t* value); /* slot 145 */ + AvnHResult (AVN_CALL *set_week_number_rule)(IAvnCalendarDatePicker* self, int32_t value); /* slot 146 */ + AvnHResult (AVN_CALL *clear)(IAvnCalendarDatePicker* self); /* slot 147 */ + AvnHResult (AVN_CALL *advise_calendar_closed)(IAvnCalendarDatePicker* self, IAvnCalendarDatePickerCalendarClosedHandler* handler, int64_t* subscription_id); /* slot 148 */ + AvnHResult (AVN_CALL *unadvise_calendar_closed)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 149 */ + AvnHResult (AVN_CALL *advise_calendar_opened)(IAvnCalendarDatePicker* self, IAvnCalendarDatePickerCalendarOpenedHandler* handler, int64_t* subscription_id); /* slot 150 */ + AvnHResult (AVN_CALL *unadvise_calendar_opened)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 151 */ + AvnHResult (AVN_CALL *advise_date_validation_error)(IAvnCalendarDatePicker* self, IAvnCalendarDatePickerDateValidationErrorHandler* handler, int64_t* subscription_id); /* slot 152 */ + AvnHResult (AVN_CALL *unadvise_date_validation_error)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 153 */ + AvnHResult (AVN_CALL *advise_selected_date_changed)(IAvnCalendarDatePicker* self, IAvnCalendarDatePickerSelectedDateChangedHandler* handler, int64_t* subscription_id); /* slot 154 */ + AvnHResult (AVN_CALL *unadvise_selected_date_changed)(IAvnCalendarDatePicker* self, int64_t subscription_id); /* slot 155 */ }; struct IAvnCalendarDatePicker { const IAvnCalendarDatePickerVtbl* vtbl; }; -#define I_AVN_CALENDAR_DATE_PICKER_VTABLE_SLOTS 141 +#define I_AVN_CALENDAR_DATE_PICKER_VTABLE_SLOTS 156 static const AvnGuid I_AVN_CANVAS_IID = { - 0xD9F89602, - 0xBD30, - 0x55F3, - { 0x84, 0xC5, 0x69, 0xEF, 0x65, 0xA6, 0xD0, 0xDA } + 0xDB97347A, + 0xFE7E, + 0x5006, + { 0x93, 0xB7, 0xE4, 0xB5, 0x55, 0xA2, 0x61, 0xA9 } }; -#define I_AVN_CANVAS_ABI_VERSION 11 +#define I_AVN_CANVAS_ABI_VERSION 14 struct IAvnCanvasVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnCanvas* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnCanvas* self); /* slot 1 */ @@ -3300,34 +3555,49 @@ struct IAvnCanvasVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnCanvas* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnCanvas* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnCanvas* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnCanvas* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnCanvas* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnCanvas* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCanvas* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnCanvas* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCanvas* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnCanvas* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCanvas* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnCanvas* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCanvas* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCanvas* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCanvas* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCanvas* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCanvas* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_children)(IAvnCanvas* self, IAvnControlList** value); /* slot 69 */ - AvnHResult (AVN_CALL *get_background)(IAvnCanvas* self, IAvnBrush** value); /* slot 70 */ - AvnHResult (AVN_CALL *set_background)(IAvnCanvas* self, IAvnBrush* value); /* slot 71 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnCanvas* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnCanvas* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnCanvas* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnCanvas* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnCanvas* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnCanvas* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCanvas* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnCanvas* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCanvas* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnCanvas* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCanvas* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnCanvas* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnCanvas* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnCanvas* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnCanvas* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnCanvas* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCanvas* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnCanvas* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnCanvas* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCanvas* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCanvas* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCanvas* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCanvas* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnCanvas* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnCanvas* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnCanvas* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnCanvas* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnCanvas* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnCanvas* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_children)(IAvnCanvas* self, IAvnControlList** value); /* slot 84 */ + AvnHResult (AVN_CALL *get_background)(IAvnCanvas* self, IAvnBrush** value); /* slot 85 */ + AvnHResult (AVN_CALL *set_background)(IAvnCanvas* self, IAvnBrush* value); /* slot 86 */ }; struct IAvnCanvas { const IAvnCanvasVtbl* vtbl; }; -#define I_AVN_CANVAS_VTABLE_SLOTS 72 +#define I_AVN_CANVAS_VTABLE_SLOTS 87 static const AvnGuid I_AVN_CAROUSEL_IID = { - 0x14D0DA2B, - 0xD8DF, - 0x5816, - { 0x8B, 0x51, 0x45, 0x5D, 0xCF, 0x73, 0x8D, 0xF0 } + 0x062C586F, + 0xDB97, + 0x53CF, + { 0x8D, 0xC3, 0xA2, 0xF1, 0x59, 0xE0, 0xBD, 0x23 } }; -#define I_AVN_CAROUSEL_ABI_VERSION 13 +#define I_AVN_CAROUSEL_ABI_VERSION 16 struct IAvnCarouselVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnCarousel* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnCarousel* self); /* slot 1 */ @@ -3384,92 +3654,107 @@ struct IAvnCarouselVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnCarousel* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnCarousel* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnCarousel* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnCarousel* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnCarousel* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnCarousel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCarousel* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnCarousel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCarousel* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnCarousel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCarousel* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnCarousel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCarousel* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCarousel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCarousel* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCarousel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCarousel* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnCarousel* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnCarousel* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnCarousel* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnCarousel* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnCarousel* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnCarousel* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnCarousel* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnCarousel* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnCarousel* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnCarousel* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnCarousel* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnCarousel* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnCarousel* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnCarousel* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnCarousel* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnCarousel* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnCarousel* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnCarousel* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnCarousel* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnCarousel* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnCarousel* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnCarousel* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnCarousel* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnCarousel* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCarousel* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCarousel* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnCarousel* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnCarousel* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnCarousel* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnCarousel* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnCarousel* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnCarousel* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnCarousel* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnCarousel* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnCarousel* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnCarousel* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnCarousel* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnCarousel* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnCarousel* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnCarousel* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnCarousel* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnCarousel* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selected_index)(IAvnCarousel* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selected_index)(IAvnCarousel* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnCarousel* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnCarousel* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_value)(IAvnCarousel* self, AvnVariant* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_value)(IAvnCarousel* self, AvnVariant value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnCarousel* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnCarousel* self, int32_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_wrap_selection)(IAvnCarousel* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_wrap_selection)(IAvnCarousel* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnCarousel* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnCarousel* self, int64_t subscription_id); /* slot 122 */ - AvnHResult (AVN_CALL *get_is_swipe_enabled)(IAvnCarousel* self, int32_t* value); /* slot 123 */ - AvnHResult (AVN_CALL *set_is_swipe_enabled)(IAvnCarousel* self, int32_t value); /* slot 124 */ - AvnHResult (AVN_CALL *get_viewport_fraction)(IAvnCarousel* self, double* value); /* slot 125 */ - AvnHResult (AVN_CALL *set_viewport_fraction)(IAvnCarousel* self, double value); /* slot 126 */ - AvnHResult (AVN_CALL *get_is_swiping)(IAvnCarousel* self, int32_t* value); /* slot 127 */ - AvnHResult (AVN_CALL *next)(IAvnCarousel* self); /* slot 128 */ - AvnHResult (AVN_CALL *previous)(IAvnCarousel* self); /* slot 129 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnCarousel* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnCarousel* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnCarousel* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnCarousel* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnCarousel* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnCarousel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCarousel* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnCarousel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCarousel* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnCarousel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCarousel* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnCarousel* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnCarousel* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnCarousel* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnCarousel* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnCarousel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCarousel* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnCarousel* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnCarousel* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCarousel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCarousel* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCarousel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCarousel* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnCarousel* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnCarousel* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnCarousel* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnCarousel* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnCarousel* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnCarousel* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnCarousel* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnCarousel* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnCarousel* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnCarousel* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnCarousel* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnCarousel* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnCarousel* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnCarousel* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnCarousel* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnCarousel* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnCarousel* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnCarousel* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnCarousel* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnCarousel* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnCarousel* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnCarousel* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnCarousel* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnCarousel* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnCarousel* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnCarousel* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnCarousel* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnCarousel* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnCarousel* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnCarousel* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCarousel* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCarousel* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnCarousel* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnCarousel* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnCarousel* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnCarousel* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnCarousel* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnCarousel* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnCarousel* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnCarousel* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnCarousel* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnCarousel* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnCarousel* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnCarousel* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnCarousel* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnCarousel* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnCarousel* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnCarousel* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selected_index)(IAvnCarousel* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selected_index)(IAvnCarousel* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnCarousel* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnCarousel* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_value)(IAvnCarousel* self, AvnVariant* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_value)(IAvnCarousel* self, AvnVariant value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnCarousel* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnCarousel* self, int32_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_wrap_selection)(IAvnCarousel* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_wrap_selection)(IAvnCarousel* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnCarousel* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnCarousel* self, int64_t subscription_id); /* slot 137 */ + AvnHResult (AVN_CALL *get_is_swipe_enabled)(IAvnCarousel* self, int32_t* value); /* slot 138 */ + AvnHResult (AVN_CALL *set_is_swipe_enabled)(IAvnCarousel* self, int32_t value); /* slot 139 */ + AvnHResult (AVN_CALL *get_viewport_fraction)(IAvnCarousel* self, double* value); /* slot 140 */ + AvnHResult (AVN_CALL *set_viewport_fraction)(IAvnCarousel* self, double value); /* slot 141 */ + AvnHResult (AVN_CALL *get_is_swiping)(IAvnCarousel* self, int32_t* value); /* slot 142 */ + AvnHResult (AVN_CALL *next)(IAvnCarousel* self); /* slot 143 */ + AvnHResult (AVN_CALL *previous)(IAvnCarousel* self); /* slot 144 */ }; struct IAvnCarousel { const IAvnCarouselVtbl* vtbl; }; -#define I_AVN_CAROUSEL_VTABLE_SLOTS 130 +#define I_AVN_CAROUSEL_VTABLE_SLOTS 145 static const AvnGuid I_AVN_CHECK_BOX_IID = { - 0x2D002AFC, - 0xAAFB, - 0x5C2D, - { 0xB7, 0x47, 0xD0, 0x8D, 0xF7, 0x8A, 0xC8, 0x52 } + 0x7A084E79, + 0xBA86, + 0x55BF, + { 0xA9, 0xE8, 0xE7, 0x78, 0x6F, 0x3D, 0x42, 0x42 } }; -#define I_AVN_CHECK_BOX_ABI_VERSION 16 +#define I_AVN_CHECK_BOX_ABI_VERSION 19 struct IAvnCheckBoxVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnCheckBox* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnCheckBox* self); /* slot 1 */ @@ -3526,90 +3811,105 @@ struct IAvnCheckBoxVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnCheckBox* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnCheckBox* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnCheckBox* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnCheckBox* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnCheckBox* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnCheckBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCheckBox* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnCheckBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCheckBox* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnCheckBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCheckBox* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnCheckBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCheckBox* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCheckBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCheckBox* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCheckBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCheckBox* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnCheckBox* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnCheckBox* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnCheckBox* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnCheckBox* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnCheckBox* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnCheckBox* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnCheckBox* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnCheckBox* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnCheckBox* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnCheckBox* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnCheckBox* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnCheckBox* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnCheckBox* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnCheckBox* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnCheckBox* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnCheckBox* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnCheckBox* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnCheckBox* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnCheckBox* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnCheckBox* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnCheckBox* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnCheckBox* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnCheckBox* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnCheckBox* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCheckBox* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCheckBox* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnCheckBox* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnCheckBox* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnCheckBox* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnCheckBox* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnCheckBox* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnCheckBox* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnCheckBox* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnCheckBox* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnCheckBox* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnCheckBox* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_click_mode)(IAvnCheckBox* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_click_mode)(IAvnCheckBox* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_command)(IAvnCheckBox* self, IAvnCommand** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_command)(IAvnCheckBox* self, IAvnCommand* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnCheckBox* self, uint16_t** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnCheckBox* self, const uint16_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnCheckBox* self, AvnVariant* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnCheckBox* self, AvnVariant value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_default)(IAvnCheckBox* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_default)(IAvnCheckBox* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_cancel)(IAvnCheckBox* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_cancel)(IAvnCheckBox* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_pressed)(IAvnCheckBox* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *get_flyout)(IAvnCheckBox* self, IAvnFlyoutBase** value); /* slot 118 */ - AvnHResult (AVN_CALL *set_flyout)(IAvnCheckBox* self, IAvnFlyoutBase* value); /* slot 119 */ - AvnHResult (AVN_CALL *advise_click)(IAvnCheckBox* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 120 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnCheckBox* self, int64_t subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *get_is_checked)(IAvnCheckBox* self, int32_t* value); /* slot 122 */ - AvnHResult (AVN_CALL *set_is_checked)(IAvnCheckBox* self, int32_t value); /* slot 123 */ - AvnHResult (AVN_CALL *get_is_three_state)(IAvnCheckBox* self, int32_t* value); /* slot 124 */ - AvnHResult (AVN_CALL *set_is_three_state)(IAvnCheckBox* self, int32_t value); /* slot 125 */ - AvnHResult (AVN_CALL *advise_is_checked_changed)(IAvnCheckBox* self, IAvnToggleButtonIsCheckedChangedHandler* handler, int64_t* subscription_id); /* slot 126 */ - AvnHResult (AVN_CALL *unadvise_is_checked_changed)(IAvnCheckBox* self, int64_t subscription_id); /* slot 127 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnCheckBox* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnCheckBox* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnCheckBox* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnCheckBox* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnCheckBox* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnCheckBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCheckBox* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnCheckBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCheckBox* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnCheckBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCheckBox* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnCheckBox* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnCheckBox* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnCheckBox* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnCheckBox* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnCheckBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCheckBox* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnCheckBox* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnCheckBox* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCheckBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCheckBox* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCheckBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCheckBox* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnCheckBox* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnCheckBox* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnCheckBox* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnCheckBox* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnCheckBox* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnCheckBox* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnCheckBox* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnCheckBox* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnCheckBox* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnCheckBox* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnCheckBox* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnCheckBox* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnCheckBox* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnCheckBox* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnCheckBox* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnCheckBox* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnCheckBox* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnCheckBox* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnCheckBox* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnCheckBox* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnCheckBox* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnCheckBox* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnCheckBox* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnCheckBox* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnCheckBox* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnCheckBox* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnCheckBox* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnCheckBox* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnCheckBox* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnCheckBox* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCheckBox* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCheckBox* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnCheckBox* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnCheckBox* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnCheckBox* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnCheckBox* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnCheckBox* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnCheckBox* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnCheckBox* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnCheckBox* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnCheckBox* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnCheckBox* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_click_mode)(IAvnCheckBox* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_click_mode)(IAvnCheckBox* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_command)(IAvnCheckBox* self, IAvnCommand** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_command)(IAvnCheckBox* self, IAvnCommand* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnCheckBox* self, uint16_t** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnCheckBox* self, const uint16_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnCheckBox* self, AvnVariant* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnCheckBox* self, AvnVariant value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_default)(IAvnCheckBox* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_default)(IAvnCheckBox* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_cancel)(IAvnCheckBox* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_cancel)(IAvnCheckBox* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_pressed)(IAvnCheckBox* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *get_flyout)(IAvnCheckBox* self, IAvnFlyoutBase** value); /* slot 133 */ + AvnHResult (AVN_CALL *set_flyout)(IAvnCheckBox* self, IAvnFlyoutBase* value); /* slot 134 */ + AvnHResult (AVN_CALL *advise_click)(IAvnCheckBox* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 135 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnCheckBox* self, int64_t subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *get_is_checked)(IAvnCheckBox* self, int32_t* value); /* slot 137 */ + AvnHResult (AVN_CALL *set_is_checked)(IAvnCheckBox* self, int32_t value); /* slot 138 */ + AvnHResult (AVN_CALL *get_is_three_state)(IAvnCheckBox* self, int32_t* value); /* slot 139 */ + AvnHResult (AVN_CALL *set_is_three_state)(IAvnCheckBox* self, int32_t value); /* slot 140 */ + AvnHResult (AVN_CALL *advise_is_checked_changed)(IAvnCheckBox* self, IAvnToggleButtonIsCheckedChangedHandler* handler, int64_t* subscription_id); /* slot 141 */ + AvnHResult (AVN_CALL *unadvise_is_checked_changed)(IAvnCheckBox* self, int64_t subscription_id); /* slot 142 */ }; struct IAvnCheckBox { const IAvnCheckBoxVtbl* vtbl; }; -#define I_AVN_CHECK_BOX_VTABLE_SLOTS 128 +#define I_AVN_CHECK_BOX_VTABLE_SLOTS 143 static const AvnGuid I_AVN_COMBO_BOX_IID = { - 0x86CA773B, - 0x56AB, - 0x521C, - { 0xBA, 0x29, 0xD2, 0x57, 0x9C, 0x59, 0xF7, 0xF3 } + 0x1DA7FC0F, + 0x6D3F, + 0x5669, + { 0x86, 0x44, 0x03, 0x06, 0x86, 0xAD, 0x4F, 0xD3 } }; -#define I_AVN_COMBO_BOX_ABI_VERSION 17 +#define I_AVN_COMBO_BOX_ABI_VERSION 20 struct IAvnComboBoxVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnComboBox* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnComboBox* self); /* slot 1 */ @@ -3666,105 +3966,120 @@ struct IAvnComboBoxVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnComboBox* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnComboBox* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnComboBox* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnComboBox* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnComboBox* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnComboBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnComboBox* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnComboBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnComboBox* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnComboBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnComboBox* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnComboBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnComboBox* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnComboBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnComboBox* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnComboBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnComboBox* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnComboBox* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnComboBox* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnComboBox* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnComboBox* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnComboBox* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnComboBox* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnComboBox* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnComboBox* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnComboBox* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnComboBox* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnComboBox* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnComboBox* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnComboBox* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnComboBox* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnComboBox* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnComboBox* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnComboBox* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnComboBox* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnComboBox* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnComboBox* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnComboBox* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnComboBox* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnComboBox* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnComboBox* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnComboBox* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnComboBox* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnComboBox* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnComboBox* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnComboBox* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnComboBox* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnComboBox* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnComboBox* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnComboBox* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnComboBox* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnComboBox* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnComboBox* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnComboBox* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnComboBox* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnComboBox* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnComboBox* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnComboBox* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnComboBox* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selected_index)(IAvnComboBox* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selected_index)(IAvnComboBox* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnComboBox* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnComboBox* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_value)(IAvnComboBox* self, AvnVariant* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_value)(IAvnComboBox* self, AvnVariant value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnComboBox* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnComboBox* self, int32_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_wrap_selection)(IAvnComboBox* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_wrap_selection)(IAvnComboBox* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnComboBox* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnComboBox* self, int64_t subscription_id); /* slot 122 */ - AvnHResult (AVN_CALL *get_is_drop_down_open)(IAvnComboBox* self, int32_t* value); /* slot 123 */ - AvnHResult (AVN_CALL *set_is_drop_down_open)(IAvnComboBox* self, int32_t value); /* slot 124 */ - AvnHResult (AVN_CALL *get_is_editable)(IAvnComboBox* self, int32_t* value); /* slot 125 */ - AvnHResult (AVN_CALL *set_is_editable)(IAvnComboBox* self, int32_t value); /* slot 126 */ - AvnHResult (AVN_CALL *get_max_drop_down_height)(IAvnComboBox* self, double* value); /* slot 127 */ - AvnHResult (AVN_CALL *set_max_drop_down_height)(IAvnComboBox* self, double value); /* slot 128 */ - AvnHResult (AVN_CALL *get_selection_box_item)(IAvnComboBox* self, AvnVariant* value); /* slot 129 */ - AvnHResult (AVN_CALL *get_placeholder_text)(IAvnComboBox* self, uint16_t** value); /* slot 130 */ - AvnHResult (AVN_CALL *set_placeholder_text)(IAvnComboBox* self, const uint16_t* value); /* slot 131 */ - AvnHResult (AVN_CALL *get_placeholder_foreground)(IAvnComboBox* self, IAvnBrush** value); /* slot 132 */ - AvnHResult (AVN_CALL *set_placeholder_foreground)(IAvnComboBox* self, IAvnBrush* value); /* slot 133 */ - AvnHResult (AVN_CALL *get_selection_box_item_template)(IAvnComboBox* self, IAvnDataTemplate** value); /* slot 134 */ - AvnHResult (AVN_CALL *set_selection_box_item_template)(IAvnComboBox* self, IAvnDataTemplate* value); /* slot 135 */ - AvnHResult (AVN_CALL *get_text)(IAvnComboBox* self, uint16_t** value); /* slot 136 */ - AvnHResult (AVN_CALL *set_text)(IAvnComboBox* self, const uint16_t* value); /* slot 137 */ - AvnHResult (AVN_CALL *clear)(IAvnComboBox* self); /* slot 138 */ - AvnHResult (AVN_CALL *advise_drop_down_closed)(IAvnComboBox* self, IAvnComboBoxDropDownClosedHandler* handler, int64_t* subscription_id); /* slot 139 */ - AvnHResult (AVN_CALL *unadvise_drop_down_closed)(IAvnComboBox* self, int64_t subscription_id); /* slot 140 */ - AvnHResult (AVN_CALL *advise_drop_down_opened)(IAvnComboBox* self, IAvnComboBoxDropDownOpenedHandler* handler, int64_t* subscription_id); /* slot 141 */ - AvnHResult (AVN_CALL *unadvise_drop_down_opened)(IAvnComboBox* self, int64_t subscription_id); /* slot 142 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnComboBox* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnComboBox* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnComboBox* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnComboBox* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnComboBox* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnComboBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnComboBox* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnComboBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnComboBox* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnComboBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnComboBox* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnComboBox* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnComboBox* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnComboBox* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnComboBox* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnComboBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnComboBox* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnComboBox* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnComboBox* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnComboBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnComboBox* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnComboBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnComboBox* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnComboBox* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnComboBox* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnComboBox* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnComboBox* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnComboBox* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnComboBox* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnComboBox* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnComboBox* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnComboBox* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnComboBox* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnComboBox* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnComboBox* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnComboBox* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnComboBox* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnComboBox* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnComboBox* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnComboBox* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnComboBox* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnComboBox* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnComboBox* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnComboBox* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnComboBox* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnComboBox* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnComboBox* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnComboBox* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnComboBox* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnComboBox* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnComboBox* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnComboBox* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnComboBox* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnComboBox* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnComboBox* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnComboBox* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnComboBox* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnComboBox* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnComboBox* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnComboBox* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnComboBox* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnComboBox* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnComboBox* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnComboBox* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnComboBox* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnComboBox* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnComboBox* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnComboBox* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnComboBox* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnComboBox* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnComboBox* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selected_index)(IAvnComboBox* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selected_index)(IAvnComboBox* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnComboBox* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnComboBox* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_value)(IAvnComboBox* self, AvnVariant* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_value)(IAvnComboBox* self, AvnVariant value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnComboBox* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnComboBox* self, int32_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_wrap_selection)(IAvnComboBox* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_wrap_selection)(IAvnComboBox* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnComboBox* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnComboBox* self, int64_t subscription_id); /* slot 137 */ + AvnHResult (AVN_CALL *get_is_drop_down_open)(IAvnComboBox* self, int32_t* value); /* slot 138 */ + AvnHResult (AVN_CALL *set_is_drop_down_open)(IAvnComboBox* self, int32_t value); /* slot 139 */ + AvnHResult (AVN_CALL *get_is_editable)(IAvnComboBox* self, int32_t* value); /* slot 140 */ + AvnHResult (AVN_CALL *set_is_editable)(IAvnComboBox* self, int32_t value); /* slot 141 */ + AvnHResult (AVN_CALL *get_max_drop_down_height)(IAvnComboBox* self, double* value); /* slot 142 */ + AvnHResult (AVN_CALL *set_max_drop_down_height)(IAvnComboBox* self, double value); /* slot 143 */ + AvnHResult (AVN_CALL *get_selection_box_item)(IAvnComboBox* self, AvnVariant* value); /* slot 144 */ + AvnHResult (AVN_CALL *get_placeholder_text)(IAvnComboBox* self, uint16_t** value); /* slot 145 */ + AvnHResult (AVN_CALL *set_placeholder_text)(IAvnComboBox* self, const uint16_t* value); /* slot 146 */ + AvnHResult (AVN_CALL *get_placeholder_foreground)(IAvnComboBox* self, IAvnBrush** value); /* slot 147 */ + AvnHResult (AVN_CALL *set_placeholder_foreground)(IAvnComboBox* self, IAvnBrush* value); /* slot 148 */ + AvnHResult (AVN_CALL *get_selection_box_item_template)(IAvnComboBox* self, IAvnDataTemplate** value); /* slot 149 */ + AvnHResult (AVN_CALL *set_selection_box_item_template)(IAvnComboBox* self, IAvnDataTemplate* value); /* slot 150 */ + AvnHResult (AVN_CALL *get_text)(IAvnComboBox* self, uint16_t** value); /* slot 151 */ + AvnHResult (AVN_CALL *set_text)(IAvnComboBox* self, const uint16_t* value); /* slot 152 */ + AvnHResult (AVN_CALL *clear)(IAvnComboBox* self); /* slot 153 */ + AvnHResult (AVN_CALL *advise_drop_down_closed)(IAvnComboBox* self, IAvnComboBoxDropDownClosedHandler* handler, int64_t* subscription_id); /* slot 154 */ + AvnHResult (AVN_CALL *unadvise_drop_down_closed)(IAvnComboBox* self, int64_t subscription_id); /* slot 155 */ + AvnHResult (AVN_CALL *advise_drop_down_opened)(IAvnComboBox* self, IAvnComboBoxDropDownOpenedHandler* handler, int64_t* subscription_id); /* slot 156 */ + AvnHResult (AVN_CALL *unadvise_drop_down_opened)(IAvnComboBox* self, int64_t subscription_id); /* slot 157 */ }; struct IAvnComboBox { const IAvnComboBoxVtbl* vtbl; }; -#define I_AVN_COMBO_BOX_VTABLE_SLOTS 143 +#define I_AVN_COMBO_BOX_VTABLE_SLOTS 158 static const AvnGuid I_AVN_COMBO_BOX_ITEM_IID = { - 0x2B9D2E17, - 0x500A, - 0x56F0, - { 0xA0, 0xDB, 0x14, 0xB9, 0x2F, 0xF2, 0x8C, 0xCB } + 0x2D2F584F, + 0x6CD6, + 0x59C9, + { 0xB5, 0x36, 0x46, 0x3E, 0x6C, 0xC2, 0x1B, 0x72 } }; -#define I_AVN_COMBO_BOX_ITEM_ABI_VERSION 15 +#define I_AVN_COMBO_BOX_ITEM_ABI_VERSION 18 struct IAvnComboBoxItemVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnComboBoxItem* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnComboBoxItem* self); /* slot 1 */ @@ -3821,69 +4136,84 @@ struct IAvnComboBoxItemVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnComboBoxItem* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnComboBoxItem* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnComboBoxItem* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnComboBoxItem* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnComboBoxItem* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnComboBoxItem* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnComboBoxItem* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnComboBoxItem* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnComboBoxItem* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnComboBoxItem* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnComboBoxItem* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnComboBoxItem* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnComboBoxItem* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnComboBoxItem* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnComboBoxItem* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnComboBoxItem* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnComboBoxItem* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnComboBoxItem* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnComboBoxItem* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnComboBoxItem* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnComboBoxItem* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnComboBoxItem* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnComboBoxItem* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnComboBoxItem* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnComboBoxItem* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnComboBoxItem* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnComboBoxItem* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnComboBoxItem* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnComboBoxItem* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnComboBoxItem* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnComboBoxItem* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnComboBoxItem* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnComboBoxItem* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnComboBoxItem* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnComboBoxItem* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnComboBoxItem* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnComboBoxItem* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnComboBoxItem* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnComboBoxItem* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnComboBoxItem* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnComboBoxItem* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnComboBoxItem* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnComboBoxItem* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnComboBoxItem* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnComboBoxItem* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnComboBoxItem* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnComboBoxItem* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_is_selected)(IAvnComboBoxItem* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_is_selected)(IAvnComboBoxItem* self, int32_t value); /* slot 106 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnComboBoxItem* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnComboBoxItem* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnComboBoxItem* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnComboBoxItem* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnComboBoxItem* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnComboBoxItem* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnComboBoxItem* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnComboBoxItem* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnComboBoxItem* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnComboBoxItem* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnComboBoxItem* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnComboBoxItem* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnComboBoxItem* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnComboBoxItem* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnComboBoxItem* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnComboBoxItem* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnComboBoxItem* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnComboBoxItem* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnComboBoxItem* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnComboBoxItem* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnComboBoxItem* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnComboBoxItem* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnComboBoxItem* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnComboBoxItem* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnComboBoxItem* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnComboBoxItem* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnComboBoxItem* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnComboBoxItem* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnComboBoxItem* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnComboBoxItem* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnComboBoxItem* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnComboBoxItem* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnComboBoxItem* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnComboBoxItem* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnComboBoxItem* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnComboBoxItem* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnComboBoxItem* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnComboBoxItem* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnComboBoxItem* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnComboBoxItem* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnComboBoxItem* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnComboBoxItem* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnComboBoxItem* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnComboBoxItem* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnComboBoxItem* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnComboBoxItem* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnComboBoxItem* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnComboBoxItem* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnComboBoxItem* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnComboBoxItem* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnComboBoxItem* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnComboBoxItem* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnComboBoxItem* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnComboBoxItem* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_is_selected)(IAvnComboBoxItem* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_is_selected)(IAvnComboBoxItem* self, int32_t value); /* slot 121 */ }; struct IAvnComboBoxItem { const IAvnComboBoxItemVtbl* vtbl; }; -#define I_AVN_COMBO_BOX_ITEM_VTABLE_SLOTS 107 +#define I_AVN_COMBO_BOX_ITEM_VTABLE_SLOTS 122 static const AvnGuid I_AVN_COMMAND_BAR_IID = { - 0x1A9B7C3D, - 0x4D24, - 0x5330, - { 0x9F, 0x8F, 0xD9, 0xD0, 0xBC, 0x71, 0x26, 0x95 } + 0x19280D2B, + 0x7145, + 0x59DC, + { 0xAD, 0x55, 0x55, 0x75, 0x41, 0xEC, 0x01, 0x47 } }; -#define I_AVN_COMMAND_BAR_ABI_VERSION 12 +#define I_AVN_COMMAND_BAR_ABI_VERSION 15 struct IAvnCommandBarVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnCommandBar* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnCommandBar* self); /* slot 1 */ @@ -3940,93 +4270,108 @@ struct IAvnCommandBarVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnCommandBar* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnCommandBar* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnCommandBar* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnCommandBar* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnCommandBar* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnCommandBar* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCommandBar* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnCommandBar* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCommandBar* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnCommandBar* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCommandBar* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnCommandBar* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCommandBar* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCommandBar* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCommandBar* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCommandBar* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCommandBar* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnCommandBar* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnCommandBar* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnCommandBar* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnCommandBar* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnCommandBar* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnCommandBar* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnCommandBar* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnCommandBar* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnCommandBar* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnCommandBar* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnCommandBar* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnCommandBar* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnCommandBar* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnCommandBar* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnCommandBar* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnCommandBar* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnCommandBar* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnCommandBar* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnCommandBar* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnCommandBar* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnCommandBar* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnCommandBar* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnCommandBar* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnCommandBar* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCommandBar* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCommandBar* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnCommandBar* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnCommandBar* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_visible_primary_commands)(IAvnCommandBar* self, IAvnControlList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_overflow_items)(IAvnCommandBar* self, IAvnControlList** value); /* slot 98 */ - AvnHResult (AVN_CALL *get_primary_commands)(IAvnCommandBar* self, IAvnControlList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_primary_commands)(IAvnCommandBar* self, IAvnControlList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_secondary_commands)(IAvnCommandBar* self, IAvnControlList** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_secondary_commands)(IAvnCommandBar* self, IAvnControlList* value); /* slot 102 */ - AvnHResult (AVN_CALL *get_content)(IAvnCommandBar* self, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *set_content)(IAvnCommandBar* self, IAvnControl* value); /* slot 104 */ - AvnHResult (AVN_CALL *get_default_label_position)(IAvnCommandBar* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_default_label_position)(IAvnCommandBar* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_is_dynamic_overflow_enabled)(IAvnCommandBar* self, int32_t* value); /* slot 107 */ - AvnHResult (AVN_CALL *set_is_dynamic_overflow_enabled)(IAvnCommandBar* self, int32_t value); /* slot 108 */ - AvnHResult (AVN_CALL *get_overflow_button_visibility)(IAvnCommandBar* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_overflow_button_visibility)(IAvnCommandBar* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_is_open)(IAvnCommandBar* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_is_open)(IAvnCommandBar* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_sticky)(IAvnCommandBar* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_sticky)(IAvnCommandBar* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_item_width_bottom)(IAvnCommandBar* self, double* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_item_width_bottom)(IAvnCommandBar* self, double value); /* slot 116 */ - AvnHResult (AVN_CALL *get_item_width_right)(IAvnCommandBar* self, double* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_item_width_right)(IAvnCommandBar* self, double value); /* slot 118 */ - AvnHResult (AVN_CALL *get_item_width_collapsed)(IAvnCommandBar* self, double* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_item_width_collapsed)(IAvnCommandBar* self, double value); /* slot 120 */ - AvnHResult (AVN_CALL *get_has_secondary_commands)(IAvnCommandBar* self, int32_t* value); /* slot 121 */ - AvnHResult (AVN_CALL *get_is_overflow_button_visible)(IAvnCommandBar* self, int32_t* value); /* slot 122 */ - AvnHResult (AVN_CALL *advise_opening)(IAvnCommandBar* self, IAvnCommandBarOpeningHandler* handler, int64_t* subscription_id); /* slot 123 */ - AvnHResult (AVN_CALL *unadvise_opening)(IAvnCommandBar* self, int64_t subscription_id); /* slot 124 */ - AvnHResult (AVN_CALL *advise_opened)(IAvnCommandBar* self, IAvnCommandBarOpenedHandler* handler, int64_t* subscription_id); /* slot 125 */ - AvnHResult (AVN_CALL *unadvise_opened)(IAvnCommandBar* self, int64_t subscription_id); /* slot 126 */ - AvnHResult (AVN_CALL *advise_closing)(IAvnCommandBar* self, IAvnCommandBarClosingHandler* handler, int64_t* subscription_id); /* slot 127 */ - AvnHResult (AVN_CALL *unadvise_closing)(IAvnCommandBar* self, int64_t subscription_id); /* slot 128 */ - AvnHResult (AVN_CALL *advise_closed)(IAvnCommandBar* self, IAvnCommandBarClosedHandler* handler, int64_t* subscription_id); /* slot 129 */ - AvnHResult (AVN_CALL *unadvise_closed)(IAvnCommandBar* self, int64_t subscription_id); /* slot 130 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnCommandBar* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnCommandBar* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnCommandBar* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnCommandBar* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnCommandBar* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnCommandBar* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCommandBar* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnCommandBar* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCommandBar* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnCommandBar* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCommandBar* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnCommandBar* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnCommandBar* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnCommandBar* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnCommandBar* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnCommandBar* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCommandBar* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnCommandBar* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnCommandBar* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCommandBar* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCommandBar* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCommandBar* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCommandBar* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnCommandBar* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnCommandBar* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnCommandBar* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnCommandBar* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnCommandBar* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnCommandBar* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnCommandBar* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnCommandBar* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnCommandBar* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnCommandBar* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnCommandBar* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnCommandBar* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnCommandBar* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnCommandBar* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnCommandBar* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnCommandBar* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnCommandBar* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnCommandBar* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnCommandBar* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnCommandBar* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnCommandBar* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnCommandBar* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnCommandBar* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnCommandBar* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnCommandBar* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnCommandBar* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnCommandBar* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnCommandBar* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnCommandBar* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnCommandBar* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCommandBar* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCommandBar* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnCommandBar* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnCommandBar* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_visible_primary_commands)(IAvnCommandBar* self, IAvnControlList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_overflow_items)(IAvnCommandBar* self, IAvnControlList** value); /* slot 113 */ + AvnHResult (AVN_CALL *get_primary_commands)(IAvnCommandBar* self, IAvnControlList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_primary_commands)(IAvnCommandBar* self, IAvnControlList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_secondary_commands)(IAvnCommandBar* self, IAvnControlList** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_secondary_commands)(IAvnCommandBar* self, IAvnControlList* value); /* slot 117 */ + AvnHResult (AVN_CALL *get_content)(IAvnCommandBar* self, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *set_content)(IAvnCommandBar* self, IAvnControl* value); /* slot 119 */ + AvnHResult (AVN_CALL *get_default_label_position)(IAvnCommandBar* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_default_label_position)(IAvnCommandBar* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_is_dynamic_overflow_enabled)(IAvnCommandBar* self, int32_t* value); /* slot 122 */ + AvnHResult (AVN_CALL *set_is_dynamic_overflow_enabled)(IAvnCommandBar* self, int32_t value); /* slot 123 */ + AvnHResult (AVN_CALL *get_overflow_button_visibility)(IAvnCommandBar* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_overflow_button_visibility)(IAvnCommandBar* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_is_open)(IAvnCommandBar* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_is_open)(IAvnCommandBar* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_sticky)(IAvnCommandBar* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_sticky)(IAvnCommandBar* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_item_width_bottom)(IAvnCommandBar* self, double* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_item_width_bottom)(IAvnCommandBar* self, double value); /* slot 131 */ + AvnHResult (AVN_CALL *get_item_width_right)(IAvnCommandBar* self, double* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_item_width_right)(IAvnCommandBar* self, double value); /* slot 133 */ + AvnHResult (AVN_CALL *get_item_width_collapsed)(IAvnCommandBar* self, double* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_item_width_collapsed)(IAvnCommandBar* self, double value); /* slot 135 */ + AvnHResult (AVN_CALL *get_has_secondary_commands)(IAvnCommandBar* self, int32_t* value); /* slot 136 */ + AvnHResult (AVN_CALL *get_is_overflow_button_visible)(IAvnCommandBar* self, int32_t* value); /* slot 137 */ + AvnHResult (AVN_CALL *advise_opening)(IAvnCommandBar* self, IAvnCommandBarOpeningHandler* handler, int64_t* subscription_id); /* slot 138 */ + AvnHResult (AVN_CALL *unadvise_opening)(IAvnCommandBar* self, int64_t subscription_id); /* slot 139 */ + AvnHResult (AVN_CALL *advise_opened)(IAvnCommandBar* self, IAvnCommandBarOpenedHandler* handler, int64_t* subscription_id); /* slot 140 */ + AvnHResult (AVN_CALL *unadvise_opened)(IAvnCommandBar* self, int64_t subscription_id); /* slot 141 */ + AvnHResult (AVN_CALL *advise_closing)(IAvnCommandBar* self, IAvnCommandBarClosingHandler* handler, int64_t* subscription_id); /* slot 142 */ + AvnHResult (AVN_CALL *unadvise_closing)(IAvnCommandBar* self, int64_t subscription_id); /* slot 143 */ + AvnHResult (AVN_CALL *advise_closed)(IAvnCommandBar* self, IAvnCommandBarClosedHandler* handler, int64_t* subscription_id); /* slot 144 */ + AvnHResult (AVN_CALL *unadvise_closed)(IAvnCommandBar* self, int64_t subscription_id); /* slot 145 */ }; struct IAvnCommandBar { const IAvnCommandBarVtbl* vtbl; }; -#define I_AVN_COMMAND_BAR_VTABLE_SLOTS 131 +#define I_AVN_COMMAND_BAR_VTABLE_SLOTS 146 static const AvnGuid I_AVN_COMMAND_BAR_BUTTON_IID = { - 0x427EE3EA, - 0x2EA0, - 0x5FF8, - { 0xB4, 0x13, 0x7D, 0x98, 0x9D, 0x89, 0x26, 0x04 } + 0x45F67F66, + 0xADC9, + 0x5D8D, + { 0x9D, 0x41, 0x87, 0x49, 0xF5, 0x37, 0x02, 0x5E } }; -#define I_AVN_COMMAND_BAR_BUTTON_ABI_VERSION 11 +#define I_AVN_COMMAND_BAR_BUTTON_ABI_VERSION 14 struct IAvnCommandBarButtonVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnCommandBarButton* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnCommandBarButton* self); /* slot 1 */ @@ -4083,96 +4428,111 @@ struct IAvnCommandBarButtonVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnCommandBarButton* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnCommandBarButton* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnCommandBarButton* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnCommandBarButton* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnCommandBarButton* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnCommandBarButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnCommandBarButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnCommandBarButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnCommandBarButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCommandBarButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCommandBarButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnCommandBarButton* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnCommandBarButton* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnCommandBarButton* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnCommandBarButton* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnCommandBarButton* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnCommandBarButton* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnCommandBarButton* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnCommandBarButton* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnCommandBarButton* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnCommandBarButton* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnCommandBarButton* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnCommandBarButton* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnCommandBarButton* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnCommandBarButton* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnCommandBarButton* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnCommandBarButton* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnCommandBarButton* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnCommandBarButton* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnCommandBarButton* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnCommandBarButton* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnCommandBarButton* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnCommandBarButton* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnCommandBarButton* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnCommandBarButton* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCommandBarButton* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCommandBarButton* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnCommandBarButton* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnCommandBarButton* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnCommandBarButton* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnCommandBarButton* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnCommandBarButton* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnCommandBarButton* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnCommandBarButton* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnCommandBarButton* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnCommandBarButton* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnCommandBarButton* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_click_mode)(IAvnCommandBarButton* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_click_mode)(IAvnCommandBarButton* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_command)(IAvnCommandBarButton* self, IAvnCommand** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_command)(IAvnCommandBarButton* self, IAvnCommand* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnCommandBarButton* self, uint16_t** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnCommandBarButton* self, const uint16_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnCommandBarButton* self, AvnVariant* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnCommandBarButton* self, AvnVariant value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_default)(IAvnCommandBarButton* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_default)(IAvnCommandBarButton* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_cancel)(IAvnCommandBarButton* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_cancel)(IAvnCommandBarButton* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_pressed)(IAvnCommandBarButton* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *get_flyout)(IAvnCommandBarButton* self, IAvnFlyoutBase** value); /* slot 118 */ - AvnHResult (AVN_CALL *set_flyout)(IAvnCommandBarButton* self, IAvnFlyoutBase* value); /* slot 119 */ - AvnHResult (AVN_CALL *advise_click)(IAvnCommandBarButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 120 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *get_label)(IAvnCommandBarButton* self, uint16_t** value); /* slot 122 */ - AvnHResult (AVN_CALL *set_label)(IAvnCommandBarButton* self, const uint16_t* value); /* slot 123 */ - AvnHResult (AVN_CALL *get_icon)(IAvnCommandBarButton* self, AvnVariant* value); /* slot 124 */ - AvnHResult (AVN_CALL *set_icon)(IAvnCommandBarButton* self, AvnVariant value); /* slot 125 */ - AvnHResult (AVN_CALL *get_is_compact)(IAvnCommandBarButton* self, int32_t* value); /* slot 126 */ - AvnHResult (AVN_CALL *set_is_compact)(IAvnCommandBarButton* self, int32_t value); /* slot 127 */ - AvnHResult (AVN_CALL *get_dynamic_overflow_order)(IAvnCommandBarButton* self, int32_t* value); /* slot 128 */ - AvnHResult (AVN_CALL *set_dynamic_overflow_order)(IAvnCommandBarButton* self, int32_t value); /* slot 129 */ - AvnHResult (AVN_CALL *get_label_position)(IAvnCommandBarButton* self, int32_t* value); /* slot 130 */ - AvnHResult (AVN_CALL *set_label_position)(IAvnCommandBarButton* self, int32_t value); /* slot 131 */ - AvnHResult (AVN_CALL *get_is_in_overflow)(IAvnCommandBarButton* self, int32_t* value); /* slot 132 */ - AvnHResult (AVN_CALL *set_is_in_overflow)(IAvnCommandBarButton* self, int32_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnCommandBarButton* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnCommandBarButton* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnCommandBarButton* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnCommandBarButton* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnCommandBarButton* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnCommandBarButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnCommandBarButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnCommandBarButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnCommandBarButton* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnCommandBarButton* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnCommandBarButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnCommandBarButton* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCommandBarButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCommandBarButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnCommandBarButton* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnCommandBarButton* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnCommandBarButton* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnCommandBarButton* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnCommandBarButton* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnCommandBarButton* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnCommandBarButton* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnCommandBarButton* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnCommandBarButton* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnCommandBarButton* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnCommandBarButton* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnCommandBarButton* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnCommandBarButton* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnCommandBarButton* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnCommandBarButton* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnCommandBarButton* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnCommandBarButton* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnCommandBarButton* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnCommandBarButton* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnCommandBarButton* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnCommandBarButton* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnCommandBarButton* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnCommandBarButton* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnCommandBarButton* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnCommandBarButton* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnCommandBarButton* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnCommandBarButton* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCommandBarButton* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCommandBarButton* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnCommandBarButton* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnCommandBarButton* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnCommandBarButton* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnCommandBarButton* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnCommandBarButton* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnCommandBarButton* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnCommandBarButton* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnCommandBarButton* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnCommandBarButton* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnCommandBarButton* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_click_mode)(IAvnCommandBarButton* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_click_mode)(IAvnCommandBarButton* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_command)(IAvnCommandBarButton* self, IAvnCommand** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_command)(IAvnCommandBarButton* self, IAvnCommand* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnCommandBarButton* self, uint16_t** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnCommandBarButton* self, const uint16_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnCommandBarButton* self, AvnVariant* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnCommandBarButton* self, AvnVariant value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_default)(IAvnCommandBarButton* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_default)(IAvnCommandBarButton* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_cancel)(IAvnCommandBarButton* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_cancel)(IAvnCommandBarButton* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_pressed)(IAvnCommandBarButton* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *get_flyout)(IAvnCommandBarButton* self, IAvnFlyoutBase** value); /* slot 133 */ + AvnHResult (AVN_CALL *set_flyout)(IAvnCommandBarButton* self, IAvnFlyoutBase* value); /* slot 134 */ + AvnHResult (AVN_CALL *advise_click)(IAvnCommandBarButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 135 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnCommandBarButton* self, int64_t subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *get_label)(IAvnCommandBarButton* self, uint16_t** value); /* slot 137 */ + AvnHResult (AVN_CALL *set_label)(IAvnCommandBarButton* self, const uint16_t* value); /* slot 138 */ + AvnHResult (AVN_CALL *get_icon)(IAvnCommandBarButton* self, AvnVariant* value); /* slot 139 */ + AvnHResult (AVN_CALL *set_icon)(IAvnCommandBarButton* self, AvnVariant value); /* slot 140 */ + AvnHResult (AVN_CALL *get_is_compact)(IAvnCommandBarButton* self, int32_t* value); /* slot 141 */ + AvnHResult (AVN_CALL *set_is_compact)(IAvnCommandBarButton* self, int32_t value); /* slot 142 */ + AvnHResult (AVN_CALL *get_dynamic_overflow_order)(IAvnCommandBarButton* self, int32_t* value); /* slot 143 */ + AvnHResult (AVN_CALL *set_dynamic_overflow_order)(IAvnCommandBarButton* self, int32_t value); /* slot 144 */ + AvnHResult (AVN_CALL *get_label_position)(IAvnCommandBarButton* self, int32_t* value); /* slot 145 */ + AvnHResult (AVN_CALL *set_label_position)(IAvnCommandBarButton* self, int32_t value); /* slot 146 */ + AvnHResult (AVN_CALL *get_is_in_overflow)(IAvnCommandBarButton* self, int32_t* value); /* slot 147 */ + AvnHResult (AVN_CALL *set_is_in_overflow)(IAvnCommandBarButton* self, int32_t value); /* slot 148 */ }; struct IAvnCommandBarButton { const IAvnCommandBarButtonVtbl* vtbl; }; -#define I_AVN_COMMAND_BAR_BUTTON_VTABLE_SLOTS 134 +#define I_AVN_COMMAND_BAR_BUTTON_VTABLE_SLOTS 149 static const AvnGuid I_AVN_COMMAND_BAR_SEPARATOR_IID = { - 0x3D86A39E, - 0x0EC3, - 0x58FA, - { 0xBE, 0x17, 0x2F, 0x3C, 0xE4, 0xE9, 0x50, 0x21 } + 0x7A5D6F68, + 0x43D8, + 0x5F3C, + { 0xB7, 0xA3, 0x09, 0xC4, 0x44, 0x0A, 0x3E, 0xF7 } }; -#define I_AVN_COMMAND_BAR_SEPARATOR_ABI_VERSION 9 +#define I_AVN_COMMAND_BAR_SEPARATOR_ABI_VERSION 12 struct IAvnCommandBarSeparatorVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnCommandBarSeparator* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnCommandBarSeparator* self); /* slot 1 */ @@ -4229,63 +4589,78 @@ struct IAvnCommandBarSeparatorVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnCommandBarSeparator* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnCommandBarSeparator* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnCommandBarSeparator* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnCommandBarSeparator* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnCommandBarSeparator* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnCommandBarSeparator* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnCommandBarSeparator* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCommandBarSeparator* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCommandBarSeparator* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnCommandBarSeparator* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnCommandBarSeparator* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnCommandBarSeparator* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnCommandBarSeparator* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnCommandBarSeparator* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnCommandBarSeparator* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnCommandBarSeparator* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnCommandBarSeparator* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnCommandBarSeparator* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnCommandBarSeparator* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnCommandBarSeparator* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnCommandBarSeparator* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnCommandBarSeparator* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnCommandBarSeparator* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnCommandBarSeparator* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnCommandBarSeparator* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnCommandBarSeparator* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnCommandBarSeparator* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnCommandBarSeparator* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnCommandBarSeparator* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCommandBarSeparator* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCommandBarSeparator* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnCommandBarSeparator* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnCommandBarSeparator* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_is_compact)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_is_compact)(IAvnCommandBarSeparator* self, int32_t value); /* slot 98 */ - AvnHResult (AVN_CALL *get_is_in_overflow)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_is_in_overflow)(IAvnCommandBarSeparator* self, int32_t value); /* slot 100 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnCommandBarSeparator* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnCommandBarSeparator* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnCommandBarSeparator* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnCommandBarSeparator* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnCommandBarSeparator* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnCommandBarSeparator* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnCommandBarSeparator* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnCommandBarSeparator* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnCommandBarSeparator* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnCommandBarSeparator* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCommandBarSeparator* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCommandBarSeparator* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnCommandBarSeparator* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnCommandBarSeparator* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnCommandBarSeparator* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnCommandBarSeparator* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnCommandBarSeparator* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnCommandBarSeparator* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnCommandBarSeparator* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnCommandBarSeparator* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnCommandBarSeparator* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnCommandBarSeparator* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnCommandBarSeparator* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnCommandBarSeparator* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnCommandBarSeparator* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnCommandBarSeparator* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnCommandBarSeparator* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnCommandBarSeparator* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnCommandBarSeparator* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnCommandBarSeparator* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnCommandBarSeparator* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnCommandBarSeparator* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnCommandBarSeparator* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnCommandBarSeparator* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnCommandBarSeparator* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnCommandBarSeparator* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCommandBarSeparator* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCommandBarSeparator* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnCommandBarSeparator* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnCommandBarSeparator* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_is_compact)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_is_compact)(IAvnCommandBarSeparator* self, int32_t value); /* slot 113 */ + AvnHResult (AVN_CALL *get_is_in_overflow)(IAvnCommandBarSeparator* self, int32_t* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_is_in_overflow)(IAvnCommandBarSeparator* self, int32_t value); /* slot 115 */ }; struct IAvnCommandBarSeparator { const IAvnCommandBarSeparatorVtbl* vtbl; }; -#define I_AVN_COMMAND_BAR_SEPARATOR_VTABLE_SLOTS 101 +#define I_AVN_COMMAND_BAR_SEPARATOR_VTABLE_SLOTS 116 static const AvnGuid I_AVN_COMMAND_BAR_TOGGLE_BUTTON_IID = { - 0x7E7CC18B, - 0x4E66, - 0x5650, - { 0x8F, 0xE4, 0x1A, 0xCA, 0x44, 0x5F, 0xA9, 0x07 } + 0x3E3D29A6, + 0x520A, + 0x5B09, + { 0x81, 0xE3, 0x63, 0x95, 0x78, 0x4D, 0x2C, 0x55 } }; -#define I_AVN_COMMAND_BAR_TOGGLE_BUTTON_ABI_VERSION 11 +#define I_AVN_COMMAND_BAR_TOGGLE_BUTTON_ABI_VERSION 14 struct IAvnCommandBarToggleButtonVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnCommandBarToggleButton* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnCommandBarToggleButton* self); /* slot 1 */ @@ -4342,102 +4717,117 @@ struct IAvnCommandBarToggleButtonVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnCommandBarToggleButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnCommandBarToggleButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnCommandBarToggleButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnCommandBarToggleButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCommandBarToggleButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCommandBarToggleButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnCommandBarToggleButton* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnCommandBarToggleButton* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnCommandBarToggleButton* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnCommandBarToggleButton* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnCommandBarToggleButton* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnCommandBarToggleButton* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnCommandBarToggleButton* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnCommandBarToggleButton* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnCommandBarToggleButton* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnCommandBarToggleButton* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnCommandBarToggleButton* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnCommandBarToggleButton* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnCommandBarToggleButton* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnCommandBarToggleButton* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnCommandBarToggleButton* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnCommandBarToggleButton* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCommandBarToggleButton* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCommandBarToggleButton* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnCommandBarToggleButton* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnCommandBarToggleButton* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnCommandBarToggleButton* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnCommandBarToggleButton* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnCommandBarToggleButton* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnCommandBarToggleButton* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_click_mode)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_click_mode)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_command)(IAvnCommandBarToggleButton* self, IAvnCommand** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_command)(IAvnCommandBarToggleButton* self, IAvnCommand* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnCommandBarToggleButton* self, uint16_t** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnCommandBarToggleButton* self, const uint16_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnCommandBarToggleButton* self, AvnVariant* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnCommandBarToggleButton* self, AvnVariant value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_default)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_default)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_cancel)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_cancel)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_pressed)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *get_flyout)(IAvnCommandBarToggleButton* self, IAvnFlyoutBase** value); /* slot 118 */ - AvnHResult (AVN_CALL *set_flyout)(IAvnCommandBarToggleButton* self, IAvnFlyoutBase* value); /* slot 119 */ - AvnHResult (AVN_CALL *advise_click)(IAvnCommandBarToggleButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 120 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *get_is_checked)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 122 */ - AvnHResult (AVN_CALL *set_is_checked)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 123 */ - AvnHResult (AVN_CALL *get_is_three_state)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 124 */ - AvnHResult (AVN_CALL *set_is_three_state)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 125 */ - AvnHResult (AVN_CALL *advise_is_checked_changed)(IAvnCommandBarToggleButton* self, IAvnToggleButtonIsCheckedChangedHandler* handler, int64_t* subscription_id); /* slot 126 */ - AvnHResult (AVN_CALL *unadvise_is_checked_changed)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 127 */ - AvnHResult (AVN_CALL *get_label)(IAvnCommandBarToggleButton* self, uint16_t** value); /* slot 128 */ - AvnHResult (AVN_CALL *set_label)(IAvnCommandBarToggleButton* self, const uint16_t* value); /* slot 129 */ - AvnHResult (AVN_CALL *get_icon)(IAvnCommandBarToggleButton* self, AvnVariant* value); /* slot 130 */ - AvnHResult (AVN_CALL *set_icon)(IAvnCommandBarToggleButton* self, AvnVariant value); /* slot 131 */ - AvnHResult (AVN_CALL *get_is_compact)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 132 */ - AvnHResult (AVN_CALL *set_is_compact)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 133 */ - AvnHResult (AVN_CALL *get_dynamic_overflow_order)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 134 */ - AvnHResult (AVN_CALL *set_dynamic_overflow_order)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 135 */ - AvnHResult (AVN_CALL *get_label_position)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 136 */ - AvnHResult (AVN_CALL *set_label_position)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 137 */ - AvnHResult (AVN_CALL *get_is_in_overflow)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 138 */ - AvnHResult (AVN_CALL *set_is_in_overflow)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 139 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnCommandBarToggleButton* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnCommandBarToggleButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnCommandBarToggleButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnCommandBarToggleButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnCommandBarToggleButton* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnCommandBarToggleButton* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnCommandBarToggleButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnCommandBarToggleButton* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnCommandBarToggleButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnCommandBarToggleButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnCommandBarToggleButton* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnCommandBarToggleButton* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnCommandBarToggleButton* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnCommandBarToggleButton* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnCommandBarToggleButton* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnCommandBarToggleButton* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnCommandBarToggleButton* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnCommandBarToggleButton* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnCommandBarToggleButton* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnCommandBarToggleButton* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnCommandBarToggleButton* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnCommandBarToggleButton* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnCommandBarToggleButton* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnCommandBarToggleButton* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnCommandBarToggleButton* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnCommandBarToggleButton* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnCommandBarToggleButton* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnCommandBarToggleButton* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnCommandBarToggleButton* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnCommandBarToggleButton* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnCommandBarToggleButton* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnCommandBarToggleButton* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnCommandBarToggleButton* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnCommandBarToggleButton* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnCommandBarToggleButton* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnCommandBarToggleButton* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnCommandBarToggleButton* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_click_mode)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_click_mode)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_command)(IAvnCommandBarToggleButton* self, IAvnCommand** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_command)(IAvnCommandBarToggleButton* self, IAvnCommand* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnCommandBarToggleButton* self, uint16_t** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnCommandBarToggleButton* self, const uint16_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnCommandBarToggleButton* self, AvnVariant* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnCommandBarToggleButton* self, AvnVariant value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_default)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_default)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_cancel)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_cancel)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_pressed)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *get_flyout)(IAvnCommandBarToggleButton* self, IAvnFlyoutBase** value); /* slot 133 */ + AvnHResult (AVN_CALL *set_flyout)(IAvnCommandBarToggleButton* self, IAvnFlyoutBase* value); /* slot 134 */ + AvnHResult (AVN_CALL *advise_click)(IAvnCommandBarToggleButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 135 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *get_is_checked)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 137 */ + AvnHResult (AVN_CALL *set_is_checked)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 138 */ + AvnHResult (AVN_CALL *get_is_three_state)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 139 */ + AvnHResult (AVN_CALL *set_is_three_state)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 140 */ + AvnHResult (AVN_CALL *advise_is_checked_changed)(IAvnCommandBarToggleButton* self, IAvnToggleButtonIsCheckedChangedHandler* handler, int64_t* subscription_id); /* slot 141 */ + AvnHResult (AVN_CALL *unadvise_is_checked_changed)(IAvnCommandBarToggleButton* self, int64_t subscription_id); /* slot 142 */ + AvnHResult (AVN_CALL *get_label)(IAvnCommandBarToggleButton* self, uint16_t** value); /* slot 143 */ + AvnHResult (AVN_CALL *set_label)(IAvnCommandBarToggleButton* self, const uint16_t* value); /* slot 144 */ + AvnHResult (AVN_CALL *get_icon)(IAvnCommandBarToggleButton* self, AvnVariant* value); /* slot 145 */ + AvnHResult (AVN_CALL *set_icon)(IAvnCommandBarToggleButton* self, AvnVariant value); /* slot 146 */ + AvnHResult (AVN_CALL *get_is_compact)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 147 */ + AvnHResult (AVN_CALL *set_is_compact)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 148 */ + AvnHResult (AVN_CALL *get_dynamic_overflow_order)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 149 */ + AvnHResult (AVN_CALL *set_dynamic_overflow_order)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 150 */ + AvnHResult (AVN_CALL *get_label_position)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 151 */ + AvnHResult (AVN_CALL *set_label_position)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 152 */ + AvnHResult (AVN_CALL *get_is_in_overflow)(IAvnCommandBarToggleButton* self, int32_t* value); /* slot 153 */ + AvnHResult (AVN_CALL *set_is_in_overflow)(IAvnCommandBarToggleButton* self, int32_t value); /* slot 154 */ }; struct IAvnCommandBarToggleButton { const IAvnCommandBarToggleButtonVtbl* vtbl; }; -#define I_AVN_COMMAND_BAR_TOGGLE_BUTTON_VTABLE_SLOTS 140 +#define I_AVN_COMMAND_BAR_TOGGLE_BUTTON_VTABLE_SLOTS 155 static const AvnGuid I_AVN_CONTENT_CONTROL_IID = { - 0xF3CE3FB2, - 0xCD2D, - 0x5839, - { 0x81, 0xC7, 0x3D, 0xF7, 0x0C, 0x3A, 0xD2, 0xF5 } + 0x7312A513, + 0x1E46, + 0x5A98, + { 0x95, 0x07, 0x85, 0x12, 0x20, 0xC7, 0xA4, 0x65 } }; -#define I_AVN_CONTENT_CONTROL_ABI_VERSION 13 +#define I_AVN_CONTENT_CONTROL_ABI_VERSION 16 struct IAvnContentControlVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnContentControl* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnContentControl* self); /* slot 1 */ @@ -4494,67 +4884,82 @@ struct IAvnContentControlVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnContentControl* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnContentControl* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnContentControl* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnContentControl* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnContentControl* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnContentControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnContentControl* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnContentControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnContentControl* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnContentControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnContentControl* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnContentControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnContentControl* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnContentControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnContentControl* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnContentControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnContentControl* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnContentControl* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnContentControl* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnContentControl* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnContentControl* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnContentControl* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnContentControl* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnContentControl* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnContentControl* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnContentControl* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnContentControl* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnContentControl* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnContentControl* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnContentControl* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnContentControl* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnContentControl* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnContentControl* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnContentControl* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnContentControl* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnContentControl* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnContentControl* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnContentControl* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnContentControl* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnContentControl* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnContentControl* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnContentControl* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnContentControl* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnContentControl* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnContentControl* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnContentControl* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnContentControl* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnContentControl* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnContentControl* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnContentControl* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnContentControl* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnContentControl* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnContentControl* self, int32_t value); /* slot 104 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnContentControl* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnContentControl* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnContentControl* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnContentControl* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnContentControl* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnContentControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnContentControl* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnContentControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnContentControl* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnContentControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnContentControl* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnContentControl* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnContentControl* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnContentControl* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnContentControl* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnContentControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnContentControl* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnContentControl* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnContentControl* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnContentControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnContentControl* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnContentControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnContentControl* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnContentControl* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnContentControl* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnContentControl* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnContentControl* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnContentControl* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnContentControl* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnContentControl* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnContentControl* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnContentControl* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnContentControl* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnContentControl* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnContentControl* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnContentControl* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnContentControl* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnContentControl* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnContentControl* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnContentControl* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnContentControl* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnContentControl* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnContentControl* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnContentControl* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnContentControl* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnContentControl* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnContentControl* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnContentControl* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnContentControl* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnContentControl* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnContentControl* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnContentControl* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnContentControl* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnContentControl* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnContentControl* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnContentControl* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnContentControl* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnContentControl* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnContentControl* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnContentControl* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnContentControl* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnContentControl* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnContentControl* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnContentControl* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnContentControl* self, int32_t value); /* slot 119 */ }; struct IAvnContentControl { const IAvnContentControlVtbl* vtbl; }; -#define I_AVN_CONTENT_CONTROL_VTABLE_SLOTS 105 +#define I_AVN_CONTENT_CONTROL_VTABLE_SLOTS 120 static const AvnGuid I_AVN_CONTEXT_MENU_IID = { - 0xA5BAC0B5, - 0x5163, - 0x5500, - { 0x8C, 0x58, 0x62, 0x9B, 0xE7, 0xDE, 0x30, 0x37 } + 0x58A98293, + 0x5AA3, + 0x59E4, + { 0xAB, 0x2B, 0xCE, 0x02, 0x1C, 0x5A, 0x5C, 0xCA } }; -#define I_AVN_CONTEXT_MENU_ABI_VERSION 15 +#define I_AVN_CONTEXT_MENU_ABI_VERSION 18 struct IAvnContextMenuVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnContextMenu* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnContextMenu* self); /* slot 1 */ @@ -4611,117 +5016,132 @@ struct IAvnContextMenuVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnContextMenu* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnContextMenu* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnContextMenu* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnContextMenu* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnContextMenu* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnContextMenu* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnContextMenu* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnContextMenu* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnContextMenu* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnContextMenu* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnContextMenu* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnContextMenu* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnContextMenu* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnContextMenu* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnContextMenu* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnContextMenu* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnContextMenu* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnContextMenu* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnContextMenu* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnContextMenu* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnContextMenu* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnContextMenu* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnContextMenu* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnContextMenu* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnContextMenu* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnContextMenu* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnContextMenu* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnContextMenu* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnContextMenu* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnContextMenu* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnContextMenu* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnContextMenu* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnContextMenu* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnContextMenu* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnContextMenu* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnContextMenu* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnContextMenu* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnContextMenu* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnContextMenu* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnContextMenu* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnContextMenu* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnContextMenu* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnContextMenu* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnContextMenu* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnContextMenu* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnContextMenu* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnContextMenu* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnContextMenu* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnContextMenu* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnContextMenu* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnContextMenu* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnContextMenu* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnContextMenu* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnContextMenu* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnContextMenu* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnContextMenu* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnContextMenu* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnContextMenu* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnContextMenu* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selected_index)(IAvnContextMenu* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selected_index)(IAvnContextMenu* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnContextMenu* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnContextMenu* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_value)(IAvnContextMenu* self, AvnVariant* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_value)(IAvnContextMenu* self, AvnVariant value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnContextMenu* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnContextMenu* self, int32_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_wrap_selection)(IAvnContextMenu* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_wrap_selection)(IAvnContextMenu* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnContextMenu* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnContextMenu* self, int64_t subscription_id); /* slot 122 */ - AvnHResult (AVN_CALL *get_is_open)(IAvnContextMenu* self, int32_t* value); /* slot 123 */ - AvnHResult (AVN_CALL *close)(IAvnContextMenu* self); /* slot 124 */ - AvnHResult (AVN_CALL *open)(IAvnContextMenu* self); /* slot 125 */ - AvnHResult (AVN_CALL *advise_opened)(IAvnContextMenu* self, IAvnMenuBaseOpenedHandler* handler, int64_t* subscription_id); /* slot 126 */ - AvnHResult (AVN_CALL *unadvise_opened)(IAvnContextMenu* self, int64_t subscription_id); /* slot 127 */ - AvnHResult (AVN_CALL *advise_closed)(IAvnContextMenu* self, IAvnMenuBaseClosedHandler* handler, int64_t* subscription_id); /* slot 128 */ - AvnHResult (AVN_CALL *unadvise_closed)(IAvnContextMenu* self, int64_t subscription_id); /* slot 129 */ - AvnHResult (AVN_CALL *get_horizontal_offset)(IAvnContextMenu* self, double* value); /* slot 130 */ - AvnHResult (AVN_CALL *set_horizontal_offset)(IAvnContextMenu* self, double value); /* slot 131 */ - AvnHResult (AVN_CALL *get_vertical_offset)(IAvnContextMenu* self, double* value); /* slot 132 */ - AvnHResult (AVN_CALL *set_vertical_offset)(IAvnContextMenu* self, double value); /* slot 133 */ - AvnHResult (AVN_CALL *get_placement_anchor)(IAvnContextMenu* self, int32_t* value); /* slot 134 */ - AvnHResult (AVN_CALL *set_placement_anchor)(IAvnContextMenu* self, int32_t value); /* slot 135 */ - AvnHResult (AVN_CALL *get_placement_constraint_adjustment)(IAvnContextMenu* self, int32_t* value); /* slot 136 */ - AvnHResult (AVN_CALL *set_placement_constraint_adjustment)(IAvnContextMenu* self, int32_t value); /* slot 137 */ - AvnHResult (AVN_CALL *get_placement_gravity)(IAvnContextMenu* self, int32_t* value); /* slot 138 */ - AvnHResult (AVN_CALL *set_placement_gravity)(IAvnContextMenu* self, int32_t value); /* slot 139 */ - AvnHResult (AVN_CALL *get_placement)(IAvnContextMenu* self, int32_t* value); /* slot 140 */ - AvnHResult (AVN_CALL *set_placement)(IAvnContextMenu* self, int32_t value); /* slot 141 */ - AvnHResult (AVN_CALL *get_window_manager_add_shadow_hint)(IAvnContextMenu* self, int32_t* value); /* slot 142 */ - AvnHResult (AVN_CALL *set_window_manager_add_shadow_hint)(IAvnContextMenu* self, int32_t value); /* slot 143 */ - AvnHResult (AVN_CALL *get_placement_rect)(IAvnContextMenu* self, AvnOptionalRect* value); /* slot 144 */ - AvnHResult (AVN_CALL *set_placement_rect)(IAvnContextMenu* self, AvnOptionalRect value); /* slot 145 */ - AvnHResult (AVN_CALL *get_placement_target)(IAvnContextMenu* self, IAvnControl** value); /* slot 146 */ - AvnHResult (AVN_CALL *set_placement_target)(IAvnContextMenu* self, IAvnControl* value); /* slot 147 */ - AvnHResult (AVN_CALL *get_custom_popup_placement_callback)(IAvnContextMenu* self, IAvnPopupPlacementCallback** value); /* slot 148 */ - AvnHResult (AVN_CALL *set_custom_popup_placement_callback)(IAvnContextMenu* self, IAvnPopupPlacementCallback* value); /* slot 149 */ - AvnHResult (AVN_CALL *open_with_control)(IAvnContextMenu* self, IAvnControl* control); /* slot 150 */ - AvnHResult (AVN_CALL *advise_opening)(IAvnContextMenu* self, IAvnContextMenuOpeningHandler* handler, int64_t* subscription_id); /* slot 151 */ - AvnHResult (AVN_CALL *unadvise_opening)(IAvnContextMenu* self, int64_t subscription_id); /* slot 152 */ - AvnHResult (AVN_CALL *advise_closing)(IAvnContextMenu* self, IAvnContextMenuClosingHandler* handler, int64_t* subscription_id); /* slot 153 */ - AvnHResult (AVN_CALL *unadvise_closing)(IAvnContextMenu* self, int64_t subscription_id); /* slot 154 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnContextMenu* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnContextMenu* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnContextMenu* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnContextMenu* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnContextMenu* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnContextMenu* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnContextMenu* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnContextMenu* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnContextMenu* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnContextMenu* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnContextMenu* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnContextMenu* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnContextMenu* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnContextMenu* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnContextMenu* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnContextMenu* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnContextMenu* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnContextMenu* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnContextMenu* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnContextMenu* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnContextMenu* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnContextMenu* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnContextMenu* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnContextMenu* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnContextMenu* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnContextMenu* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnContextMenu* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnContextMenu* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnContextMenu* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnContextMenu* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnContextMenu* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnContextMenu* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnContextMenu* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnContextMenu* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnContextMenu* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnContextMenu* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnContextMenu* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnContextMenu* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnContextMenu* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnContextMenu* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnContextMenu* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnContextMenu* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnContextMenu* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnContextMenu* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnContextMenu* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnContextMenu* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnContextMenu* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnContextMenu* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnContextMenu* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnContextMenu* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnContextMenu* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnContextMenu* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnContextMenu* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnContextMenu* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnContextMenu* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnContextMenu* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnContextMenu* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnContextMenu* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnContextMenu* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnContextMenu* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnContextMenu* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnContextMenu* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnContextMenu* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnContextMenu* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnContextMenu* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnContextMenu* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnContextMenu* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnContextMenu* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnContextMenu* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnContextMenu* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnContextMenu* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selected_index)(IAvnContextMenu* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selected_index)(IAvnContextMenu* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnContextMenu* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnContextMenu* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_value)(IAvnContextMenu* self, AvnVariant* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_value)(IAvnContextMenu* self, AvnVariant value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnContextMenu* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnContextMenu* self, int32_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_wrap_selection)(IAvnContextMenu* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_wrap_selection)(IAvnContextMenu* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnContextMenu* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnContextMenu* self, int64_t subscription_id); /* slot 137 */ + AvnHResult (AVN_CALL *get_is_open)(IAvnContextMenu* self, int32_t* value); /* slot 138 */ + AvnHResult (AVN_CALL *close)(IAvnContextMenu* self); /* slot 139 */ + AvnHResult (AVN_CALL *open)(IAvnContextMenu* self); /* slot 140 */ + AvnHResult (AVN_CALL *advise_opened)(IAvnContextMenu* self, IAvnMenuBaseOpenedHandler* handler, int64_t* subscription_id); /* slot 141 */ + AvnHResult (AVN_CALL *unadvise_opened)(IAvnContextMenu* self, int64_t subscription_id); /* slot 142 */ + AvnHResult (AVN_CALL *advise_closed)(IAvnContextMenu* self, IAvnMenuBaseClosedHandler* handler, int64_t* subscription_id); /* slot 143 */ + AvnHResult (AVN_CALL *unadvise_closed)(IAvnContextMenu* self, int64_t subscription_id); /* slot 144 */ + AvnHResult (AVN_CALL *get_horizontal_offset)(IAvnContextMenu* self, double* value); /* slot 145 */ + AvnHResult (AVN_CALL *set_horizontal_offset)(IAvnContextMenu* self, double value); /* slot 146 */ + AvnHResult (AVN_CALL *get_vertical_offset)(IAvnContextMenu* self, double* value); /* slot 147 */ + AvnHResult (AVN_CALL *set_vertical_offset)(IAvnContextMenu* self, double value); /* slot 148 */ + AvnHResult (AVN_CALL *get_placement_anchor)(IAvnContextMenu* self, int32_t* value); /* slot 149 */ + AvnHResult (AVN_CALL *set_placement_anchor)(IAvnContextMenu* self, int32_t value); /* slot 150 */ + AvnHResult (AVN_CALL *get_placement_constraint_adjustment)(IAvnContextMenu* self, int32_t* value); /* slot 151 */ + AvnHResult (AVN_CALL *set_placement_constraint_adjustment)(IAvnContextMenu* self, int32_t value); /* slot 152 */ + AvnHResult (AVN_CALL *get_placement_gravity)(IAvnContextMenu* self, int32_t* value); /* slot 153 */ + AvnHResult (AVN_CALL *set_placement_gravity)(IAvnContextMenu* self, int32_t value); /* slot 154 */ + AvnHResult (AVN_CALL *get_placement)(IAvnContextMenu* self, int32_t* value); /* slot 155 */ + AvnHResult (AVN_CALL *set_placement)(IAvnContextMenu* self, int32_t value); /* slot 156 */ + AvnHResult (AVN_CALL *get_window_manager_add_shadow_hint)(IAvnContextMenu* self, int32_t* value); /* slot 157 */ + AvnHResult (AVN_CALL *set_window_manager_add_shadow_hint)(IAvnContextMenu* self, int32_t value); /* slot 158 */ + AvnHResult (AVN_CALL *get_placement_rect)(IAvnContextMenu* self, AvnOptionalRect* value); /* slot 159 */ + AvnHResult (AVN_CALL *set_placement_rect)(IAvnContextMenu* self, AvnOptionalRect value); /* slot 160 */ + AvnHResult (AVN_CALL *get_placement_target)(IAvnContextMenu* self, IAvnControl** value); /* slot 161 */ + AvnHResult (AVN_CALL *set_placement_target)(IAvnContextMenu* self, IAvnControl* value); /* slot 162 */ + AvnHResult (AVN_CALL *get_custom_popup_placement_callback)(IAvnContextMenu* self, IAvnPopupPlacementCallback** value); /* slot 163 */ + AvnHResult (AVN_CALL *set_custom_popup_placement_callback)(IAvnContextMenu* self, IAvnPopupPlacementCallback* value); /* slot 164 */ + AvnHResult (AVN_CALL *open_with_control)(IAvnContextMenu* self, IAvnControl* control); /* slot 165 */ + AvnHResult (AVN_CALL *advise_opening)(IAvnContextMenu* self, IAvnContextMenuOpeningHandler* handler, int64_t* subscription_id); /* slot 166 */ + AvnHResult (AVN_CALL *unadvise_opening)(IAvnContextMenu* self, int64_t subscription_id); /* slot 167 */ + AvnHResult (AVN_CALL *advise_closing)(IAvnContextMenu* self, IAvnContextMenuClosingHandler* handler, int64_t* subscription_id); /* slot 168 */ + AvnHResult (AVN_CALL *unadvise_closing)(IAvnContextMenu* self, int64_t subscription_id); /* slot 169 */ }; struct IAvnContextMenu { const IAvnContextMenuVtbl* vtbl; }; -#define I_AVN_CONTEXT_MENU_VTABLE_SLOTS 155 +#define I_AVN_CONTEXT_MENU_VTABLE_SLOTS 170 static const AvnGuid I_AVN_CONTROL_IID = { - 0x06D79016, - 0x63D8, - 0x5035, - { 0xB2, 0x93, 0x19, 0x96, 0x9F, 0x0B, 0xB3, 0xC6 } + 0x8B272500, + 0x09E4, + 0x535F, + { 0xAB, 0xF1, 0x14, 0x99, 0x2E, 0x90, 0xE7, 0x78 } }; -#define I_AVN_CONTROL_ABI_VERSION 8 +#define I_AVN_CONTROL_ABI_VERSION 11 struct IAvnControlVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnControl* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnControl* self); /* slot 1 */ @@ -4778,31 +5198,46 @@ struct IAvnControlVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnControl* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnControl* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnControl* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnControl* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnControl* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnControl* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnControl* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnControl* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnControl* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnControl* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnControl* self, int64_t subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnControl* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnControl* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnControl* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnControl* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnControl* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnControl* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnControl* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnControl* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnControl* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnControl* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnControl* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnControl* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnControl* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnControl* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnControl* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnControl* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnControl* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnControl* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnControl* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnControl* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnControl* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnControl* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnControl* self, int64_t subscription_id); /* slot 83 */ }; struct IAvnControl { const IAvnControlVtbl* vtbl; }; -#define I_AVN_CONTROL_VTABLE_SLOTS 69 +#define I_AVN_CONTROL_VTABLE_SLOTS 84 static const AvnGuid I_AVN_DATE_PICKER_IID = { - 0x5C7D5B90, - 0xEC20, - 0x5621, - { 0xBE, 0x13, 0xEA, 0xDA, 0xB8, 0xA0, 0x70, 0x1B } + 0x2AAFC151, + 0x688F, + 0x5326, + { 0xB6, 0x51, 0xD0, 0x22, 0xBD, 0x55, 0x48, 0x7D } }; -#define I_AVN_DATE_PICKER_ABI_VERSION 11 +#define I_AVN_DATE_PICKER_ABI_VERSION 14 struct IAvnDatePickerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnDatePicker* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnDatePicker* self); /* slot 1 */ @@ -4859,82 +5294,97 @@ struct IAvnDatePickerVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnDatePicker* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnDatePicker* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnDatePicker* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnDatePicker* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnDatePicker* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnDatePicker* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnDatePicker* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnDatePicker* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnDatePicker* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnDatePicker* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnDatePicker* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnDatePicker* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnDatePicker* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnDatePicker* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnDatePicker* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnDatePicker* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnDatePicker* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnDatePicker* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnDatePicker* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnDatePicker* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnDatePicker* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnDatePicker* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnDatePicker* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnDatePicker* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnDatePicker* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnDatePicker* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnDatePicker* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnDatePicker* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnDatePicker* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnDatePicker* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnDatePicker* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnDatePicker* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnDatePicker* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnDatePicker* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnDatePicker* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnDatePicker* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnDatePicker* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnDatePicker* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnDatePicker* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnDatePicker* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnDatePicker* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnDatePicker* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnDatePicker* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnDatePicker* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnDatePicker* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnDatePicker* self, int32_t* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnDatePicker* self, int32_t value); /* slot 98 */ - AvnHResult (AVN_CALL *get_day_format)(IAvnDatePicker* self, uint16_t** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_day_format)(IAvnDatePicker* self, const uint16_t* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_day_visible)(IAvnDatePicker* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_day_visible)(IAvnDatePicker* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_max_year)(IAvnDatePicker* self, uint16_t** value); /* slot 103 */ - AvnHResult (AVN_CALL *set_max_year)(IAvnDatePicker* self, const uint16_t* value); /* slot 104 */ - AvnHResult (AVN_CALL *get_min_year)(IAvnDatePicker* self, uint16_t** value); /* slot 105 */ - AvnHResult (AVN_CALL *set_min_year)(IAvnDatePicker* self, const uint16_t* value); /* slot 106 */ - AvnHResult (AVN_CALL *get_month_format)(IAvnDatePicker* self, uint16_t** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_month_format)(IAvnDatePicker* self, const uint16_t* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_month_visible)(IAvnDatePicker* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_month_visible)(IAvnDatePicker* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_year_format)(IAvnDatePicker* self, uint16_t** value); /* slot 111 */ - AvnHResult (AVN_CALL *set_year_format)(IAvnDatePicker* self, const uint16_t* value); /* slot 112 */ - AvnHResult (AVN_CALL *get_year_visible)(IAvnDatePicker* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_year_visible)(IAvnDatePicker* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_date)(IAvnDatePicker* self, uint16_t** value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_date)(IAvnDatePicker* self, const uint16_t* value); /* slot 116 */ - AvnHResult (AVN_CALL *clear)(IAvnDatePicker* self); /* slot 117 */ - AvnHResult (AVN_CALL *advise_selected_date_changed)(IAvnDatePicker* self, IAvnDatePickerSelectedDateChangedHandler* handler, int64_t* subscription_id); /* slot 118 */ - AvnHResult (AVN_CALL *unadvise_selected_date_changed)(IAvnDatePicker* self, int64_t subscription_id); /* slot 119 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnDatePicker* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnDatePicker* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnDatePicker* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnDatePicker* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnDatePicker* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnDatePicker* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnDatePicker* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnDatePicker* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnDatePicker* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnDatePicker* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnDatePicker* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnDatePicker* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnDatePicker* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnDatePicker* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnDatePicker* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnDatePicker* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnDatePicker* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnDatePicker* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnDatePicker* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnDatePicker* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnDatePicker* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnDatePicker* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnDatePicker* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnDatePicker* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnDatePicker* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnDatePicker* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnDatePicker* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnDatePicker* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnDatePicker* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnDatePicker* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnDatePicker* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnDatePicker* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnDatePicker* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnDatePicker* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnDatePicker* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnDatePicker* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnDatePicker* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnDatePicker* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnDatePicker* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnDatePicker* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnDatePicker* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnDatePicker* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnDatePicker* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnDatePicker* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnDatePicker* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnDatePicker* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnDatePicker* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnDatePicker* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnDatePicker* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnDatePicker* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnDatePicker* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnDatePicker* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnDatePicker* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnDatePicker* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnDatePicker* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnDatePicker* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnDatePicker* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnDatePicker* self, int32_t* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnDatePicker* self, int32_t value); /* slot 113 */ + AvnHResult (AVN_CALL *get_day_format)(IAvnDatePicker* self, uint16_t** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_day_format)(IAvnDatePicker* self, const uint16_t* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_day_visible)(IAvnDatePicker* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_day_visible)(IAvnDatePicker* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_max_year)(IAvnDatePicker* self, uint16_t** value); /* slot 118 */ + AvnHResult (AVN_CALL *set_max_year)(IAvnDatePicker* self, const uint16_t* value); /* slot 119 */ + AvnHResult (AVN_CALL *get_min_year)(IAvnDatePicker* self, uint16_t** value); /* slot 120 */ + AvnHResult (AVN_CALL *set_min_year)(IAvnDatePicker* self, const uint16_t* value); /* slot 121 */ + AvnHResult (AVN_CALL *get_month_format)(IAvnDatePicker* self, uint16_t** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_month_format)(IAvnDatePicker* self, const uint16_t* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_month_visible)(IAvnDatePicker* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_month_visible)(IAvnDatePicker* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_year_format)(IAvnDatePicker* self, uint16_t** value); /* slot 126 */ + AvnHResult (AVN_CALL *set_year_format)(IAvnDatePicker* self, const uint16_t* value); /* slot 127 */ + AvnHResult (AVN_CALL *get_year_visible)(IAvnDatePicker* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_year_visible)(IAvnDatePicker* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_date)(IAvnDatePicker* self, uint16_t** value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_date)(IAvnDatePicker* self, const uint16_t* value); /* slot 131 */ + AvnHResult (AVN_CALL *clear)(IAvnDatePicker* self); /* slot 132 */ + AvnHResult (AVN_CALL *advise_selected_date_changed)(IAvnDatePicker* self, IAvnDatePickerSelectedDateChangedHandler* handler, int64_t* subscription_id); /* slot 133 */ + AvnHResult (AVN_CALL *unadvise_selected_date_changed)(IAvnDatePicker* self, int64_t subscription_id); /* slot 134 */ }; struct IAvnDatePicker { const IAvnDatePickerVtbl* vtbl; }; -#define I_AVN_DATE_PICKER_VTABLE_SLOTS 120 +#define I_AVN_DATE_PICKER_VTABLE_SLOTS 135 static const AvnGuid I_AVN_DECORATOR_IID = { - 0x57E09C6B, - 0xA22C, - 0x5F01, - { 0xB6, 0x5C, 0xE5, 0x4C, 0x3D, 0xD5, 0x5E, 0x6C } + 0xF8530439, + 0xABA5, + 0x5B16, + { 0x9C, 0x0B, 0x21, 0x32, 0xD4, 0xEF, 0xD2, 0x05 } }; -#define I_AVN_DECORATOR_ABI_VERSION 10 +#define I_AVN_DECORATOR_ABI_VERSION 13 struct IAvnDecoratorVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnDecorator* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnDecorator* self); /* slot 1 */ @@ -4991,35 +5441,50 @@ struct IAvnDecoratorVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnDecorator* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnDecorator* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnDecorator* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnDecorator* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnDecorator* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnDecorator* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnDecorator* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnDecorator* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnDecorator* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnDecorator* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnDecorator* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnDecorator* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnDecorator* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnDecorator* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnDecorator* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnDecorator* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnDecorator* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_child)(IAvnDecorator* self, IAvnControl** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_child)(IAvnDecorator* self, IAvnControl* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_padding)(IAvnDecorator* self, AvnThickness* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_padding)(IAvnDecorator* self, AvnThickness value); /* slot 72 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnDecorator* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnDecorator* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnDecorator* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnDecorator* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnDecorator* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnDecorator* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnDecorator* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnDecorator* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnDecorator* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnDecorator* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnDecorator* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnDecorator* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnDecorator* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnDecorator* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnDecorator* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnDecorator* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnDecorator* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnDecorator* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnDecorator* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnDecorator* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnDecorator* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnDecorator* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnDecorator* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnDecorator* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnDecorator* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnDecorator* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnDecorator* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnDecorator* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnDecorator* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_child)(IAvnDecorator* self, IAvnControl** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_child)(IAvnDecorator* self, IAvnControl* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_padding)(IAvnDecorator* self, AvnThickness* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_padding)(IAvnDecorator* self, AvnThickness value); /* slot 87 */ }; struct IAvnDecorator { const IAvnDecoratorVtbl* vtbl; }; -#define I_AVN_DECORATOR_VTABLE_SLOTS 73 +#define I_AVN_DECORATOR_VTABLE_SLOTS 88 static const AvnGuid I_AVN_DOCK_PANEL_IID = { - 0xF0C3E239, - 0x81CB, - 0x544D, - { 0x9C, 0xEF, 0x73, 0xB1, 0xD0, 0x4C, 0x1F, 0xB3 } + 0x63D1EF80, + 0xEEE5, + 0x50CA, + { 0xB1, 0xA7, 0xC6, 0x00, 0x85, 0x60, 0xBF, 0xD3 } }; -#define I_AVN_DOCK_PANEL_ABI_VERSION 11 +#define I_AVN_DOCK_PANEL_ABI_VERSION 14 struct IAvnDockPanelVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnDockPanel* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnDockPanel* self); /* slot 1 */ @@ -5076,40 +5541,55 @@ struct IAvnDockPanelVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnDockPanel* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnDockPanel* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnDockPanel* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnDockPanel* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnDockPanel* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnDockPanel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnDockPanel* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnDockPanel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnDockPanel* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnDockPanel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnDockPanel* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnDockPanel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnDockPanel* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnDockPanel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnDockPanel* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnDockPanel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnDockPanel* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_children)(IAvnDockPanel* self, IAvnControlList** value); /* slot 69 */ - AvnHResult (AVN_CALL *get_background)(IAvnDockPanel* self, IAvnBrush** value); /* slot 70 */ - AvnHResult (AVN_CALL *set_background)(IAvnDockPanel* self, IAvnBrush* value); /* slot 71 */ - AvnHResult (AVN_CALL *get_last_child_fill)(IAvnDockPanel* self, int32_t* value); /* slot 72 */ - AvnHResult (AVN_CALL *set_last_child_fill)(IAvnDockPanel* self, int32_t value); /* slot 73 */ - AvnHResult (AVN_CALL *get_horizontal_spacing)(IAvnDockPanel* self, double* value); /* slot 74 */ - AvnHResult (AVN_CALL *set_horizontal_spacing)(IAvnDockPanel* self, double value); /* slot 75 */ - AvnHResult (AVN_CALL *get_vertical_spacing)(IAvnDockPanel* self, double* value); /* slot 76 */ - AvnHResult (AVN_CALL *set_vertical_spacing)(IAvnDockPanel* self, double value); /* slot 77 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnDockPanel* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnDockPanel* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnDockPanel* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnDockPanel* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnDockPanel* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnDockPanel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnDockPanel* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnDockPanel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnDockPanel* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnDockPanel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnDockPanel* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnDockPanel* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnDockPanel* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnDockPanel* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnDockPanel* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnDockPanel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnDockPanel* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnDockPanel* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnDockPanel* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnDockPanel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnDockPanel* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnDockPanel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnDockPanel* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnDockPanel* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnDockPanel* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnDockPanel* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnDockPanel* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnDockPanel* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnDockPanel* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_children)(IAvnDockPanel* self, IAvnControlList** value); /* slot 84 */ + AvnHResult (AVN_CALL *get_background)(IAvnDockPanel* self, IAvnBrush** value); /* slot 85 */ + AvnHResult (AVN_CALL *set_background)(IAvnDockPanel* self, IAvnBrush* value); /* slot 86 */ + AvnHResult (AVN_CALL *get_last_child_fill)(IAvnDockPanel* self, int32_t* value); /* slot 87 */ + AvnHResult (AVN_CALL *set_last_child_fill)(IAvnDockPanel* self, int32_t value); /* slot 88 */ + AvnHResult (AVN_CALL *get_horizontal_spacing)(IAvnDockPanel* self, double* value); /* slot 89 */ + AvnHResult (AVN_CALL *set_horizontal_spacing)(IAvnDockPanel* self, double value); /* slot 90 */ + AvnHResult (AVN_CALL *get_vertical_spacing)(IAvnDockPanel* self, double* value); /* slot 91 */ + AvnHResult (AVN_CALL *set_vertical_spacing)(IAvnDockPanel* self, double value); /* slot 92 */ }; struct IAvnDockPanel { const IAvnDockPanelVtbl* vtbl; }; -#define I_AVN_DOCK_PANEL_VTABLE_SLOTS 78 +#define I_AVN_DOCK_PANEL_VTABLE_SLOTS 93 static const AvnGuid I_AVN_DROP_DOWN_BUTTON_IID = { - 0x7CDEF76D, - 0x7FD4, - 0x5552, - { 0xB5, 0x91, 0x2D, 0x98, 0x14, 0x0A, 0x7A, 0x63 } + 0x99F4E9B6, + 0xDAAC, + 0x55B1, + { 0xAF, 0xDE, 0x75, 0xD3, 0x8A, 0x5C, 0x24, 0x91 } }; -#define I_AVN_DROP_DOWN_BUTTON_ABI_VERSION 11 +#define I_AVN_DROP_DOWN_BUTTON_ABI_VERSION 14 struct IAvnDropDownButtonVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnDropDownButton* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnDropDownButton* self); /* slot 1 */ @@ -5166,84 +5646,99 @@ struct IAvnDropDownButtonVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnDropDownButton* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnDropDownButton* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnDropDownButton* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnDropDownButton* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnDropDownButton* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnDropDownButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnDropDownButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnDropDownButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnDropDownButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnDropDownButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnDropDownButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnDropDownButton* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnDropDownButton* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnDropDownButton* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnDropDownButton* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnDropDownButton* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnDropDownButton* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnDropDownButton* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnDropDownButton* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnDropDownButton* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnDropDownButton* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnDropDownButton* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnDropDownButton* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnDropDownButton* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnDropDownButton* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnDropDownButton* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnDropDownButton* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnDropDownButton* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnDropDownButton* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnDropDownButton* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnDropDownButton* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnDropDownButton* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnDropDownButton* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnDropDownButton* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnDropDownButton* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnDropDownButton* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnDropDownButton* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnDropDownButton* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnDropDownButton* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnDropDownButton* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnDropDownButton* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnDropDownButton* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnDropDownButton* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnDropDownButton* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnDropDownButton* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnDropDownButton* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnDropDownButton* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_click_mode)(IAvnDropDownButton* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_click_mode)(IAvnDropDownButton* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_command)(IAvnDropDownButton* self, IAvnCommand** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_command)(IAvnDropDownButton* self, IAvnCommand* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnDropDownButton* self, uint16_t** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnDropDownButton* self, const uint16_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnDropDownButton* self, AvnVariant* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnDropDownButton* self, AvnVariant value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_default)(IAvnDropDownButton* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_default)(IAvnDropDownButton* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_cancel)(IAvnDropDownButton* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_cancel)(IAvnDropDownButton* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_pressed)(IAvnDropDownButton* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *get_flyout)(IAvnDropDownButton* self, IAvnFlyoutBase** value); /* slot 118 */ - AvnHResult (AVN_CALL *set_flyout)(IAvnDropDownButton* self, IAvnFlyoutBase* value); /* slot 119 */ - AvnHResult (AVN_CALL *advise_click)(IAvnDropDownButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 120 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 121 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnDropDownButton* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnDropDownButton* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnDropDownButton* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnDropDownButton* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnDropDownButton* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnDropDownButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnDropDownButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnDropDownButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnDropDownButton* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnDropDownButton* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnDropDownButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnDropDownButton* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnDropDownButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnDropDownButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnDropDownButton* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnDropDownButton* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnDropDownButton* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnDropDownButton* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnDropDownButton* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnDropDownButton* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnDropDownButton* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnDropDownButton* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnDropDownButton* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnDropDownButton* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnDropDownButton* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnDropDownButton* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnDropDownButton* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnDropDownButton* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnDropDownButton* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnDropDownButton* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnDropDownButton* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnDropDownButton* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnDropDownButton* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnDropDownButton* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnDropDownButton* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnDropDownButton* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnDropDownButton* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnDropDownButton* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnDropDownButton* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnDropDownButton* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnDropDownButton* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnDropDownButton* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnDropDownButton* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnDropDownButton* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnDropDownButton* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnDropDownButton* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnDropDownButton* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnDropDownButton* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnDropDownButton* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnDropDownButton* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnDropDownButton* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnDropDownButton* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnDropDownButton* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_click_mode)(IAvnDropDownButton* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_click_mode)(IAvnDropDownButton* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_command)(IAvnDropDownButton* self, IAvnCommand** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_command)(IAvnDropDownButton* self, IAvnCommand* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnDropDownButton* self, uint16_t** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnDropDownButton* self, const uint16_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnDropDownButton* self, AvnVariant* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnDropDownButton* self, AvnVariant value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_default)(IAvnDropDownButton* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_default)(IAvnDropDownButton* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_cancel)(IAvnDropDownButton* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_cancel)(IAvnDropDownButton* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_pressed)(IAvnDropDownButton* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *get_flyout)(IAvnDropDownButton* self, IAvnFlyoutBase** value); /* slot 133 */ + AvnHResult (AVN_CALL *set_flyout)(IAvnDropDownButton* self, IAvnFlyoutBase* value); /* slot 134 */ + AvnHResult (AVN_CALL *advise_click)(IAvnDropDownButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 135 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnDropDownButton* self, int64_t subscription_id); /* slot 136 */ }; struct IAvnDropDownButton { const IAvnDropDownButtonVtbl* vtbl; }; -#define I_AVN_DROP_DOWN_BUTTON_VTABLE_SLOTS 122 +#define I_AVN_DROP_DOWN_BUTTON_VTABLE_SLOTS 137 static const AvnGuid I_AVN_ELLIPSE_IID = { - 0x613206FF, - 0x5917, - 0x53D8, - { 0xA9, 0x28, 0x1B, 0xDE, 0x30, 0x9F, 0xB7, 0xF1 } + 0x71442BCB, + 0x5E0D, + 0x53BF, + { 0xB4, 0xC8, 0x4B, 0xE3, 0x9A, 0x9E, 0x19, 0x10 } }; -#define I_AVN_ELLIPSE_ABI_VERSION 8 +#define I_AVN_ELLIPSE_ABI_VERSION 11 struct IAvnEllipseVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnEllipse* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnEllipse* self); /* slot 1 */ @@ -5300,49 +5795,64 @@ struct IAvnEllipseVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnEllipse* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnEllipse* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnEllipse* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnEllipse* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnEllipse* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnEllipse* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnEllipse* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnEllipse* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnEllipse* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnEllipse* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnEllipse* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnEllipse* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnEllipse* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnEllipse* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnEllipse* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnEllipse* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnEllipse* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_fill)(IAvnEllipse* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_fill)(IAvnEllipse* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_stretch)(IAvnEllipse* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_stretch)(IAvnEllipse* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_stroke)(IAvnEllipse* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_stroke)(IAvnEllipse* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnEllipse* self, uint16_t** value); /* slot 75 */ - AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnEllipse* self, const uint16_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnEllipse* self, double* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnEllipse* self, double value); /* slot 78 */ - AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnEllipse* self, double* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnEllipse* self, double value); /* slot 80 */ - AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnEllipse* self, int32_t* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnEllipse* self, int32_t value); /* slot 82 */ - AvnHResult (AVN_CALL *get_stroke_join)(IAvnEllipse* self, int32_t* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_stroke_join)(IAvnEllipse* self, int32_t value); /* slot 84 */ - AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnEllipse* self, double* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnEllipse* self, double value); /* slot 86 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnEllipse* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnEllipse* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnEllipse* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnEllipse* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnEllipse* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnEllipse* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnEllipse* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnEllipse* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnEllipse* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnEllipse* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnEllipse* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnEllipse* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnEllipse* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnEllipse* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnEllipse* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnEllipse* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnEllipse* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnEllipse* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnEllipse* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnEllipse* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnEllipse* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnEllipse* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnEllipse* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnEllipse* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnEllipse* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnEllipse* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnEllipse* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnEllipse* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnEllipse* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_fill)(IAvnEllipse* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_fill)(IAvnEllipse* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_stretch)(IAvnEllipse* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_stretch)(IAvnEllipse* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_stroke)(IAvnEllipse* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_stroke)(IAvnEllipse* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnEllipse* self, uint16_t** value); /* slot 90 */ + AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnEllipse* self, const uint16_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnEllipse* self, double* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnEllipse* self, double value); /* slot 93 */ + AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnEllipse* self, double* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnEllipse* self, double value); /* slot 95 */ + AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnEllipse* self, int32_t* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnEllipse* self, int32_t value); /* slot 97 */ + AvnHResult (AVN_CALL *get_stroke_join)(IAvnEllipse* self, int32_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_stroke_join)(IAvnEllipse* self, int32_t value); /* slot 99 */ + AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnEllipse* self, double* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnEllipse* self, double value); /* slot 101 */ }; struct IAvnEllipse { const IAvnEllipseVtbl* vtbl; }; -#define I_AVN_ELLIPSE_VTABLE_SLOTS 87 +#define I_AVN_ELLIPSE_VTABLE_SLOTS 102 static const AvnGuid I_AVN_EXPANDER_IID = { - 0x24CFAB36, - 0x1C9D, - 0x5E25, - { 0xAE, 0x07, 0xE9, 0x1D, 0xA6, 0xB3, 0xA2, 0x1C } + 0x014D8342, + 0x03F6, + 0x590B, + { 0xAF, 0xF5, 0xA8, 0x2C, 0x0E, 0xB3, 0x76, 0xBB } }; -#define I_AVN_EXPANDER_ABI_VERSION 13 +#define I_AVN_EXPANDER_ABI_VERSION 16 struct IAvnExpanderVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnExpander* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnExpander* self); /* slot 1 */ @@ -5399,83 +5909,98 @@ struct IAvnExpanderVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnExpander* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnExpander* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnExpander* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnExpander* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnExpander* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnExpander* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnExpander* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnExpander* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnExpander* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnExpander* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnExpander* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnExpander* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnExpander* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnExpander* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnExpander* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnExpander* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnExpander* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnExpander* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnExpander* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnExpander* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnExpander* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnExpander* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnExpander* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnExpander* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnExpander* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnExpander* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnExpander* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnExpander* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnExpander* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnExpander* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnExpander* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnExpander* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnExpander* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnExpander* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnExpander* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnExpander* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnExpander* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnExpander* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnExpander* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnExpander* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnExpander* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnExpander* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnExpander* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnExpander* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnExpander* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnExpander* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnExpander* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnExpander* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnExpander* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnExpander* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnExpander* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnExpander* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnExpander* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_header)(IAvnExpander* self, IAvnControl** value); /* slot 105 */ - AvnHResult (AVN_CALL *set_header)(IAvnExpander* self, IAvnControl* value); /* slot 106 */ - AvnHResult (AVN_CALL *get_header_template)(IAvnExpander* self, IAvnDataTemplate** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_header_template)(IAvnExpander* self, IAvnDataTemplate* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_expand_direction)(IAvnExpander* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_expand_direction)(IAvnExpander* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_is_expanded)(IAvnExpander* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_is_expanded)(IAvnExpander* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *advise_collapsed)(IAvnExpander* self, IAvnExpanderCollapsedHandler* handler, int64_t* subscription_id); /* slot 113 */ - AvnHResult (AVN_CALL *unadvise_collapsed)(IAvnExpander* self, int64_t subscription_id); /* slot 114 */ - AvnHResult (AVN_CALL *advise_collapsing)(IAvnExpander* self, IAvnExpanderCollapsingHandler* handler, int64_t* subscription_id); /* slot 115 */ - AvnHResult (AVN_CALL *unadvise_collapsing)(IAvnExpander* self, int64_t subscription_id); /* slot 116 */ - AvnHResult (AVN_CALL *advise_expanded)(IAvnExpander* self, IAvnExpanderExpandedHandler* handler, int64_t* subscription_id); /* slot 117 */ - AvnHResult (AVN_CALL *unadvise_expanded)(IAvnExpander* self, int64_t subscription_id); /* slot 118 */ - AvnHResult (AVN_CALL *advise_expanding)(IAvnExpander* self, IAvnExpanderExpandingHandler* handler, int64_t* subscription_id); /* slot 119 */ - AvnHResult (AVN_CALL *unadvise_expanding)(IAvnExpander* self, int64_t subscription_id); /* slot 120 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnExpander* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnExpander* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnExpander* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnExpander* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnExpander* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnExpander* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnExpander* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnExpander* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnExpander* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnExpander* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnExpander* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnExpander* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnExpander* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnExpander* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnExpander* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnExpander* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnExpander* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnExpander* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnExpander* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnExpander* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnExpander* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnExpander* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnExpander* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnExpander* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnExpander* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnExpander* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnExpander* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnExpander* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnExpander* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnExpander* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnExpander* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnExpander* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnExpander* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnExpander* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnExpander* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnExpander* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnExpander* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnExpander* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnExpander* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnExpander* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnExpander* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnExpander* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnExpander* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnExpander* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnExpander* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnExpander* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnExpander* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnExpander* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnExpander* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnExpander* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnExpander* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnExpander* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnExpander* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnExpander* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnExpander* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnExpander* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnExpander* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnExpander* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnExpander* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnExpander* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnExpander* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnExpander* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnExpander* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnExpander* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnExpander* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_header)(IAvnExpander* self, IAvnControl** value); /* slot 120 */ + AvnHResult (AVN_CALL *set_header)(IAvnExpander* self, IAvnControl* value); /* slot 121 */ + AvnHResult (AVN_CALL *get_header_template)(IAvnExpander* self, IAvnDataTemplate** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_header_template)(IAvnExpander* self, IAvnDataTemplate* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_expand_direction)(IAvnExpander* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_expand_direction)(IAvnExpander* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_is_expanded)(IAvnExpander* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_is_expanded)(IAvnExpander* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *advise_collapsed)(IAvnExpander* self, IAvnExpanderCollapsedHandler* handler, int64_t* subscription_id); /* slot 128 */ + AvnHResult (AVN_CALL *unadvise_collapsed)(IAvnExpander* self, int64_t subscription_id); /* slot 129 */ + AvnHResult (AVN_CALL *advise_collapsing)(IAvnExpander* self, IAvnExpanderCollapsingHandler* handler, int64_t* subscription_id); /* slot 130 */ + AvnHResult (AVN_CALL *unadvise_collapsing)(IAvnExpander* self, int64_t subscription_id); /* slot 131 */ + AvnHResult (AVN_CALL *advise_expanded)(IAvnExpander* self, IAvnExpanderExpandedHandler* handler, int64_t* subscription_id); /* slot 132 */ + AvnHResult (AVN_CALL *unadvise_expanded)(IAvnExpander* self, int64_t subscription_id); /* slot 133 */ + AvnHResult (AVN_CALL *advise_expanding)(IAvnExpander* self, IAvnExpanderExpandingHandler* handler, int64_t* subscription_id); /* slot 134 */ + AvnHResult (AVN_CALL *unadvise_expanding)(IAvnExpander* self, int64_t subscription_id); /* slot 135 */ }; struct IAvnExpander { const IAvnExpanderVtbl* vtbl; }; -#define I_AVN_EXPANDER_VTABLE_SLOTS 121 +#define I_AVN_EXPANDER_VTABLE_SLOTS 136 static const AvnGuid I_AVN_FLEX_PANEL_IID = { - 0x299F0D1D, - 0x2C19, - 0x5531, - { 0xA4, 0xC9, 0x32, 0x7C, 0x78, 0x4B, 0x29, 0x7D } + 0x82049C23, + 0xF315, + 0x5A82, + { 0x86, 0xD9, 0x84, 0x5D, 0x8B, 0x82, 0xBA, 0x59 } }; -#define I_AVN_FLEX_PANEL_ABI_VERSION 8 +#define I_AVN_FLEX_PANEL_ABI_VERSION 11 struct IAvnFlexPanelVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnFlexPanel* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnFlexPanel* self); /* slot 1 */ @@ -5532,40 +6057,55 @@ struct IAvnFlexPanelVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnFlexPanel* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnFlexPanel* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnFlexPanel* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnFlexPanel* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnFlexPanel* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnFlexPanel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnFlexPanel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnFlexPanel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnFlexPanel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnFlexPanel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnFlexPanel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_children)(IAvnFlexPanel* self, IAvnControlList** value); /* slot 69 */ - AvnHResult (AVN_CALL *get_background)(IAvnFlexPanel* self, IAvnBrush** value); /* slot 70 */ - AvnHResult (AVN_CALL *set_background)(IAvnFlexPanel* self, IAvnBrush* value); /* slot 71 */ - AvnHResult (AVN_CALL *get_direction)(IAvnFlexPanel* self, int32_t* value); /* slot 72 */ - AvnHResult (AVN_CALL *set_direction)(IAvnFlexPanel* self, int32_t value); /* slot 73 */ - AvnHResult (AVN_CALL *get_justify_content)(IAvnFlexPanel* self, int32_t* value); /* slot 74 */ - AvnHResult (AVN_CALL *set_justify_content)(IAvnFlexPanel* self, int32_t value); /* slot 75 */ - AvnHResult (AVN_CALL *get_align_items)(IAvnFlexPanel* self, int32_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *set_align_items)(IAvnFlexPanel* self, int32_t value); /* slot 77 */ - AvnHResult (AVN_CALL *get_align_content)(IAvnFlexPanel* self, int32_t* value); /* slot 78 */ - AvnHResult (AVN_CALL *set_align_content)(IAvnFlexPanel* self, int32_t value); /* slot 79 */ - AvnHResult (AVN_CALL *get_wrap)(IAvnFlexPanel* self, int32_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *set_wrap)(IAvnFlexPanel* self, int32_t value); /* slot 81 */ - AvnHResult (AVN_CALL *get_column_spacing)(IAvnFlexPanel* self, double* value); /* slot 82 */ - AvnHResult (AVN_CALL *set_column_spacing)(IAvnFlexPanel* self, double value); /* slot 83 */ - AvnHResult (AVN_CALL *get_row_spacing)(IAvnFlexPanel* self, double* value); /* slot 84 */ - AvnHResult (AVN_CALL *set_row_spacing)(IAvnFlexPanel* self, double value); /* slot 85 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnFlexPanel* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnFlexPanel* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnFlexPanel* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnFlexPanel* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnFlexPanel* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnFlexPanel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnFlexPanel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnFlexPanel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnFlexPanel* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnFlexPanel* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnFlexPanel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnFlexPanel* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnFlexPanel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnFlexPanel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnFlexPanel* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnFlexPanel* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnFlexPanel* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnFlexPanel* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_children)(IAvnFlexPanel* self, IAvnControlList** value); /* slot 84 */ + AvnHResult (AVN_CALL *get_background)(IAvnFlexPanel* self, IAvnBrush** value); /* slot 85 */ + AvnHResult (AVN_CALL *set_background)(IAvnFlexPanel* self, IAvnBrush* value); /* slot 86 */ + AvnHResult (AVN_CALL *get_direction)(IAvnFlexPanel* self, int32_t* value); /* slot 87 */ + AvnHResult (AVN_CALL *set_direction)(IAvnFlexPanel* self, int32_t value); /* slot 88 */ + AvnHResult (AVN_CALL *get_justify_content)(IAvnFlexPanel* self, int32_t* value); /* slot 89 */ + AvnHResult (AVN_CALL *set_justify_content)(IAvnFlexPanel* self, int32_t value); /* slot 90 */ + AvnHResult (AVN_CALL *get_align_items)(IAvnFlexPanel* self, int32_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *set_align_items)(IAvnFlexPanel* self, int32_t value); /* slot 92 */ + AvnHResult (AVN_CALL *get_align_content)(IAvnFlexPanel* self, int32_t* value); /* slot 93 */ + AvnHResult (AVN_CALL *set_align_content)(IAvnFlexPanel* self, int32_t value); /* slot 94 */ + AvnHResult (AVN_CALL *get_wrap)(IAvnFlexPanel* self, int32_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *set_wrap)(IAvnFlexPanel* self, int32_t value); /* slot 96 */ + AvnHResult (AVN_CALL *get_column_spacing)(IAvnFlexPanel* self, double* value); /* slot 97 */ + AvnHResult (AVN_CALL *set_column_spacing)(IAvnFlexPanel* self, double value); /* slot 98 */ + AvnHResult (AVN_CALL *get_row_spacing)(IAvnFlexPanel* self, double* value); /* slot 99 */ + AvnHResult (AVN_CALL *set_row_spacing)(IAvnFlexPanel* self, double value); /* slot 100 */ }; struct IAvnFlexPanel { const IAvnFlexPanelVtbl* vtbl; }; -#define I_AVN_FLEX_PANEL_VTABLE_SLOTS 86 +#define I_AVN_FLEX_PANEL_VTABLE_SLOTS 101 static const AvnGuid I_AVN_FLYOUT_IID = { 0xCD1035F1, @@ -5650,12 +6190,12 @@ struct IAvnFlyoutBase { const IAvnFlyoutBaseVtbl* vtbl; }; #define I_AVN_FLYOUT_BASE_VTABLE_SLOTS 14 static const AvnGuid I_AVN_GRID_IID = { - 0x55E75D4C, - 0xFC75, - 0x51A9, - { 0xBA, 0x87, 0x6D, 0x28, 0x70, 0x4E, 0xAF, 0xC8 } + 0x028C589C, + 0x2C52, + 0x5505, + { 0x9C, 0xD2, 0x36, 0xA2, 0x5B, 0x4F, 0x43, 0xA6 } }; -#define I_AVN_GRID_ABI_VERSION 12 +#define I_AVN_GRID_ABI_VERSION 15 struct IAvnGridVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnGrid* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnGrid* self); /* slot 1 */ @@ -5712,44 +6252,59 @@ struct IAvnGridVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnGrid* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnGrid* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnGrid* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnGrid* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnGrid* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnGrid* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnGrid* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnGrid* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnGrid* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnGrid* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnGrid* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnGrid* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnGrid* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnGrid* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnGrid* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnGrid* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnGrid* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_children)(IAvnGrid* self, IAvnControlList** value); /* slot 69 */ - AvnHResult (AVN_CALL *get_background)(IAvnGrid* self, IAvnBrush** value); /* slot 70 */ - AvnHResult (AVN_CALL *set_background)(IAvnGrid* self, IAvnBrush* value); /* slot 71 */ - AvnHResult (AVN_CALL *get_show_grid_lines)(IAvnGrid* self, int32_t* value); /* slot 72 */ - AvnHResult (AVN_CALL *set_show_grid_lines)(IAvnGrid* self, int32_t value); /* slot 73 */ - AvnHResult (AVN_CALL *get_row_spacing)(IAvnGrid* self, double* value); /* slot 74 */ - AvnHResult (AVN_CALL *set_row_spacing)(IAvnGrid* self, double value); /* slot 75 */ - AvnHResult (AVN_CALL *get_column_spacing)(IAvnGrid* self, double* value); /* slot 76 */ - AvnHResult (AVN_CALL *set_column_spacing)(IAvnGrid* self, double value); /* slot 77 */ - AvnHResult (AVN_CALL *get_column_definitions)(IAvnGrid* self, uint16_t** value); /* slot 78 */ - AvnHResult (AVN_CALL *set_column_definitions)(IAvnGrid* self, const uint16_t* value); /* slot 79 */ - AvnHResult (AVN_CALL *get_row_definitions)(IAvnGrid* self, uint16_t** value); /* slot 80 */ - AvnHResult (AVN_CALL *set_row_definitions)(IAvnGrid* self, const uint16_t* value); /* slot 81 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnGrid* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnGrid* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnGrid* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnGrid* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnGrid* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnGrid* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnGrid* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnGrid* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnGrid* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnGrid* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnGrid* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnGrid* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnGrid* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnGrid* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnGrid* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnGrid* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnGrid* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnGrid* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnGrid* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnGrid* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnGrid* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnGrid* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnGrid* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnGrid* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnGrid* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnGrid* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnGrid* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnGrid* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnGrid* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_children)(IAvnGrid* self, IAvnControlList** value); /* slot 84 */ + AvnHResult (AVN_CALL *get_background)(IAvnGrid* self, IAvnBrush** value); /* slot 85 */ + AvnHResult (AVN_CALL *set_background)(IAvnGrid* self, IAvnBrush* value); /* slot 86 */ + AvnHResult (AVN_CALL *get_show_grid_lines)(IAvnGrid* self, int32_t* value); /* slot 87 */ + AvnHResult (AVN_CALL *set_show_grid_lines)(IAvnGrid* self, int32_t value); /* slot 88 */ + AvnHResult (AVN_CALL *get_row_spacing)(IAvnGrid* self, double* value); /* slot 89 */ + AvnHResult (AVN_CALL *set_row_spacing)(IAvnGrid* self, double value); /* slot 90 */ + AvnHResult (AVN_CALL *get_column_spacing)(IAvnGrid* self, double* value); /* slot 91 */ + AvnHResult (AVN_CALL *set_column_spacing)(IAvnGrid* self, double value); /* slot 92 */ + AvnHResult (AVN_CALL *get_column_definitions)(IAvnGrid* self, uint16_t** value); /* slot 93 */ + AvnHResult (AVN_CALL *set_column_definitions)(IAvnGrid* self, const uint16_t* value); /* slot 94 */ + AvnHResult (AVN_CALL *get_row_definitions)(IAvnGrid* self, uint16_t** value); /* slot 95 */ + AvnHResult (AVN_CALL *set_row_definitions)(IAvnGrid* self, const uint16_t* value); /* slot 96 */ }; struct IAvnGrid { const IAvnGridVtbl* vtbl; }; -#define I_AVN_GRID_VTABLE_SLOTS 82 +#define I_AVN_GRID_VTABLE_SLOTS 97 static const AvnGuid I_AVN_GRID_SPLITTER_IID = { - 0xDBCA4F68, - 0xAFEE, - 0x5885, - { 0x93, 0x8A, 0x19, 0x4E, 0x7D, 0xE5, 0xC5, 0x51 } + 0x135352FD, + 0x917A, + 0x577E, + { 0xA4, 0x28, 0xD1, 0xB6, 0x08, 0x27, 0x44, 0x11 } }; -#define I_AVN_GRID_SPLITTER_ABI_VERSION 10 +#define I_AVN_GRID_SPLITTER_ABI_VERSION 13 struct IAvnGridSplitterVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnGridSplitter* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnGridSplitter* self); /* slot 1 */ @@ -5806,75 +6361,90 @@ struct IAvnGridSplitterVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnGridSplitter* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnGridSplitter* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnGridSplitter* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnGridSplitter* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnGridSplitter* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnGridSplitter* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnGridSplitter* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnGridSplitter* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnGridSplitter* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnGridSplitter* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnGridSplitter* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnGridSplitter* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnGridSplitter* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnGridSplitter* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnGridSplitter* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnGridSplitter* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnGridSplitter* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnGridSplitter* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnGridSplitter* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnGridSplitter* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnGridSplitter* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnGridSplitter* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnGridSplitter* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnGridSplitter* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnGridSplitter* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnGridSplitter* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnGridSplitter* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnGridSplitter* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnGridSplitter* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnGridSplitter* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnGridSplitter* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnGridSplitter* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnGridSplitter* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnGridSplitter* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnGridSplitter* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnGridSplitter* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnGridSplitter* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnGridSplitter* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnGridSplitter* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *advise_drag_started)(IAvnGridSplitter* self, IAvnThumbDragStartedHandler* handler, int64_t* subscription_id); /* slot 97 */ - AvnHResult (AVN_CALL *unadvise_drag_started)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 98 */ - AvnHResult (AVN_CALL *advise_drag_delta)(IAvnGridSplitter* self, IAvnThumbDragDeltaHandler* handler, int64_t* subscription_id); /* slot 99 */ - AvnHResult (AVN_CALL *unadvise_drag_delta)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 100 */ - AvnHResult (AVN_CALL *advise_drag_completed)(IAvnGridSplitter* self, IAvnThumbDragCompletedHandler* handler, int64_t* subscription_id); /* slot 101 */ - AvnHResult (AVN_CALL *unadvise_drag_completed)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 102 */ - AvnHResult (AVN_CALL *get_resize_direction)(IAvnGridSplitter* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_resize_direction)(IAvnGridSplitter* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_resize_behavior)(IAvnGridSplitter* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_resize_behavior)(IAvnGridSplitter* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_shows_preview)(IAvnGridSplitter* self, int32_t* value); /* slot 107 */ - AvnHResult (AVN_CALL *set_shows_preview)(IAvnGridSplitter* self, int32_t value); /* slot 108 */ - AvnHResult (AVN_CALL *get_keyboard_increment)(IAvnGridSplitter* self, double* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_keyboard_increment)(IAvnGridSplitter* self, double value); /* slot 110 */ - AvnHResult (AVN_CALL *get_drag_increment)(IAvnGridSplitter* self, double* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_drag_increment)(IAvnGridSplitter* self, double value); /* slot 112 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnGridSplitter* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnGridSplitter* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnGridSplitter* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnGridSplitter* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnGridSplitter* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnGridSplitter* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnGridSplitter* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnGridSplitter* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnGridSplitter* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnGridSplitter* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnGridSplitter* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnGridSplitter* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnGridSplitter* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnGridSplitter* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnGridSplitter* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnGridSplitter* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnGridSplitter* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnGridSplitter* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnGridSplitter* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnGridSplitter* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnGridSplitter* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnGridSplitter* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnGridSplitter* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnGridSplitter* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnGridSplitter* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnGridSplitter* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnGridSplitter* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnGridSplitter* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnGridSplitter* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnGridSplitter* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnGridSplitter* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnGridSplitter* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnGridSplitter* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnGridSplitter* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnGridSplitter* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnGridSplitter* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnGridSplitter* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnGridSplitter* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnGridSplitter* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnGridSplitter* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnGridSplitter* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnGridSplitter* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnGridSplitter* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnGridSplitter* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnGridSplitter* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *advise_drag_started)(IAvnGridSplitter* self, IAvnThumbDragStartedHandler* handler, int64_t* subscription_id); /* slot 112 */ + AvnHResult (AVN_CALL *unadvise_drag_started)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 113 */ + AvnHResult (AVN_CALL *advise_drag_delta)(IAvnGridSplitter* self, IAvnThumbDragDeltaHandler* handler, int64_t* subscription_id); /* slot 114 */ + AvnHResult (AVN_CALL *unadvise_drag_delta)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 115 */ + AvnHResult (AVN_CALL *advise_drag_completed)(IAvnGridSplitter* self, IAvnThumbDragCompletedHandler* handler, int64_t* subscription_id); /* slot 116 */ + AvnHResult (AVN_CALL *unadvise_drag_completed)(IAvnGridSplitter* self, int64_t subscription_id); /* slot 117 */ + AvnHResult (AVN_CALL *get_resize_direction)(IAvnGridSplitter* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_resize_direction)(IAvnGridSplitter* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_resize_behavior)(IAvnGridSplitter* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_resize_behavior)(IAvnGridSplitter* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_shows_preview)(IAvnGridSplitter* self, int32_t* value); /* slot 122 */ + AvnHResult (AVN_CALL *set_shows_preview)(IAvnGridSplitter* self, int32_t value); /* slot 123 */ + AvnHResult (AVN_CALL *get_keyboard_increment)(IAvnGridSplitter* self, double* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_keyboard_increment)(IAvnGridSplitter* self, double value); /* slot 125 */ + AvnHResult (AVN_CALL *get_drag_increment)(IAvnGridSplitter* self, double* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_drag_increment)(IAvnGridSplitter* self, double value); /* slot 127 */ }; struct IAvnGridSplitter { const IAvnGridSplitterVtbl* vtbl; }; -#define I_AVN_GRID_SPLITTER_VTABLE_SLOTS 113 +#define I_AVN_GRID_SPLITTER_VTABLE_SLOTS 128 static const AvnGuid I_AVN_GROUP_BOX_IID = { - 0x48EE658E, - 0x57F1, - 0x5550, - { 0xAE, 0xB5, 0x76, 0x64, 0x77, 0xC6, 0x16, 0xBD } + 0x83F8FB71, + 0x5FB5, + 0x5C67, + { 0x9E, 0xDA, 0x9B, 0x19, 0x48, 0x17, 0x2B, 0x9E } }; -#define I_AVN_GROUP_BOX_ABI_VERSION 9 +#define I_AVN_GROUP_BOX_ABI_VERSION 12 struct IAvnGroupBoxVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnGroupBox* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnGroupBox* self); /* slot 1 */ @@ -5931,71 +6501,86 @@ struct IAvnGroupBoxVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnGroupBox* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnGroupBox* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnGroupBox* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnGroupBox* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnGroupBox* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnGroupBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnGroupBox* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnGroupBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnGroupBox* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnGroupBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnGroupBox* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnGroupBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnGroupBox* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnGroupBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnGroupBox* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnGroupBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnGroupBox* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnGroupBox* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnGroupBox* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnGroupBox* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnGroupBox* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnGroupBox* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnGroupBox* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnGroupBox* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnGroupBox* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnGroupBox* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnGroupBox* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnGroupBox* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnGroupBox* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnGroupBox* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnGroupBox* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnGroupBox* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnGroupBox* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnGroupBox* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnGroupBox* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnGroupBox* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnGroupBox* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnGroupBox* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnGroupBox* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnGroupBox* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnGroupBox* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnGroupBox* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnGroupBox* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnGroupBox* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnGroupBox* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnGroupBox* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnGroupBox* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnGroupBox* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnGroupBox* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnGroupBox* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnGroupBox* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnGroupBox* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnGroupBox* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_header)(IAvnGroupBox* self, IAvnControl** value); /* slot 105 */ - AvnHResult (AVN_CALL *set_header)(IAvnGroupBox* self, IAvnControl* value); /* slot 106 */ - AvnHResult (AVN_CALL *get_header_template)(IAvnGroupBox* self, IAvnDataTemplate** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_header_template)(IAvnGroupBox* self, IAvnDataTemplate* value); /* slot 108 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnGroupBox* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnGroupBox* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnGroupBox* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnGroupBox* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnGroupBox* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnGroupBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnGroupBox* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnGroupBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnGroupBox* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnGroupBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnGroupBox* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnGroupBox* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnGroupBox* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnGroupBox* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnGroupBox* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnGroupBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnGroupBox* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnGroupBox* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnGroupBox* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnGroupBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnGroupBox* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnGroupBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnGroupBox* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnGroupBox* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnGroupBox* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnGroupBox* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnGroupBox* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnGroupBox* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnGroupBox* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnGroupBox* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnGroupBox* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnGroupBox* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnGroupBox* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnGroupBox* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnGroupBox* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnGroupBox* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnGroupBox* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnGroupBox* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnGroupBox* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnGroupBox* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnGroupBox* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnGroupBox* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnGroupBox* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnGroupBox* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnGroupBox* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnGroupBox* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnGroupBox* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnGroupBox* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnGroupBox* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnGroupBox* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnGroupBox* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnGroupBox* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnGroupBox* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnGroupBox* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnGroupBox* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnGroupBox* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnGroupBox* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnGroupBox* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnGroupBox* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnGroupBox* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnGroupBox* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnGroupBox* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnGroupBox* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnGroupBox* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnGroupBox* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_header)(IAvnGroupBox* self, IAvnControl** value); /* slot 120 */ + AvnHResult (AVN_CALL *set_header)(IAvnGroupBox* self, IAvnControl* value); /* slot 121 */ + AvnHResult (AVN_CALL *get_header_template)(IAvnGroupBox* self, IAvnDataTemplate** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_header_template)(IAvnGroupBox* self, IAvnDataTemplate* value); /* slot 123 */ }; struct IAvnGroupBox { const IAvnGroupBoxVtbl* vtbl; }; -#define I_AVN_GROUP_BOX_VTABLE_SLOTS 109 +#define I_AVN_GROUP_BOX_VTABLE_SLOTS 124 static const AvnGuid I_AVN_HEADERED_CONTENT_CONTROL_IID = { - 0x326C8A38, - 0xFA42, - 0x51F4, - { 0x90, 0x41, 0xE7, 0xFD, 0x0F, 0xFF, 0xB6, 0x96 } + 0x0408F0EA, + 0x5BA0, + 0x54C6, + { 0xA8, 0xE6, 0x97, 0x93, 0x28, 0xFB, 0xE8, 0x8C } }; -#define I_AVN_HEADERED_CONTENT_CONTROL_ABI_VERSION 13 +#define I_AVN_HEADERED_CONTENT_CONTROL_ABI_VERSION 16 struct IAvnHeaderedContentControlVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnHeaderedContentControl* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnHeaderedContentControl* self); /* slot 1 */ @@ -6052,71 +6637,86 @@ struct IAvnHeaderedContentControlVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnHeaderedContentControl* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnHeaderedContentControl* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnHeaderedContentControl* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnHeaderedContentControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnHeaderedContentControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnHeaderedContentControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnHeaderedContentControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnHeaderedContentControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnHeaderedContentControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnHeaderedContentControl* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnHeaderedContentControl* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnHeaderedContentControl* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnHeaderedContentControl* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnHeaderedContentControl* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnHeaderedContentControl* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnHeaderedContentControl* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnHeaderedContentControl* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnHeaderedContentControl* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnHeaderedContentControl* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnHeaderedContentControl* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnHeaderedContentControl* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnHeaderedContentControl* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnHeaderedContentControl* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnHeaderedContentControl* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnHeaderedContentControl* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnHeaderedContentControl* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnHeaderedContentControl* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnHeaderedContentControl* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnHeaderedContentControl* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnHeaderedContentControl* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnHeaderedContentControl* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnHeaderedContentControl* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnHeaderedContentControl* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnHeaderedContentControl* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnHeaderedContentControl* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnHeaderedContentControl* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnHeaderedContentControl* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnHeaderedContentControl* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnHeaderedContentControl* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_header)(IAvnHeaderedContentControl* self, IAvnControl** value); /* slot 105 */ - AvnHResult (AVN_CALL *set_header)(IAvnHeaderedContentControl* self, IAvnControl* value); /* slot 106 */ - AvnHResult (AVN_CALL *get_header_template)(IAvnHeaderedContentControl* self, IAvnDataTemplate** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_header_template)(IAvnHeaderedContentControl* self, IAvnDataTemplate* value); /* slot 108 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnHeaderedContentControl* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnHeaderedContentControl* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnHeaderedContentControl* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnHeaderedContentControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnHeaderedContentControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnHeaderedContentControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnHeaderedContentControl* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnHeaderedContentControl* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnHeaderedContentControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnHeaderedContentControl* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnHeaderedContentControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnHeaderedContentControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnHeaderedContentControl* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnHeaderedContentControl* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnHeaderedContentControl* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnHeaderedContentControl* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnHeaderedContentControl* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnHeaderedContentControl* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnHeaderedContentControl* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnHeaderedContentControl* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnHeaderedContentControl* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnHeaderedContentControl* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnHeaderedContentControl* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnHeaderedContentControl* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnHeaderedContentControl* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnHeaderedContentControl* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnHeaderedContentControl* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnHeaderedContentControl* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnHeaderedContentControl* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnHeaderedContentControl* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnHeaderedContentControl* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnHeaderedContentControl* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnHeaderedContentControl* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnHeaderedContentControl* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnHeaderedContentControl* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnHeaderedContentControl* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnHeaderedContentControl* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnHeaderedContentControl* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnHeaderedContentControl* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnHeaderedContentControl* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnHeaderedContentControl* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnHeaderedContentControl* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnHeaderedContentControl* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnHeaderedContentControl* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnHeaderedContentControl* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnHeaderedContentControl* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnHeaderedContentControl* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_header)(IAvnHeaderedContentControl* self, IAvnControl** value); /* slot 120 */ + AvnHResult (AVN_CALL *set_header)(IAvnHeaderedContentControl* self, IAvnControl* value); /* slot 121 */ + AvnHResult (AVN_CALL *get_header_template)(IAvnHeaderedContentControl* self, IAvnDataTemplate** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_header_template)(IAvnHeaderedContentControl* self, IAvnDataTemplate* value); /* slot 123 */ }; struct IAvnHeaderedContentControl { const IAvnHeaderedContentControlVtbl* vtbl; }; -#define I_AVN_HEADERED_CONTENT_CONTROL_VTABLE_SLOTS 109 +#define I_AVN_HEADERED_CONTENT_CONTROL_VTABLE_SLOTS 124 static const AvnGuid I_AVN_HEADERED_ITEMS_CONTROL_IID = { - 0xE4AB3702, - 0x5F01, - 0x59CF, - { 0x9F, 0x5E, 0x3C, 0x3D, 0xD2, 0x81, 0x53, 0x3F } + 0x2E4EBFCB, + 0xEA24, + 0x5842, + { 0xAB, 0xC1, 0x0D, 0xC1, 0x37, 0xED, 0x31, 0xDA } }; -#define I_AVN_HEADERED_ITEMS_CONTROL_ABI_VERSION 12 +#define I_AVN_HEADERED_ITEMS_CONTROL_ABI_VERSION 15 struct IAvnHeaderedItemsControlVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnHeaderedItemsControl* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnHeaderedItemsControl* self); /* slot 1 */ @@ -6173,75 +6773,90 @@ struct IAvnHeaderedItemsControlVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnHeaderedItemsControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnHeaderedItemsControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnHeaderedItemsControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnHeaderedItemsControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnHeaderedItemsControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnHeaderedItemsControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnHeaderedItemsControl* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnHeaderedItemsControl* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnHeaderedItemsControl* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnHeaderedItemsControl* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnHeaderedItemsControl* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnHeaderedItemsControl* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnHeaderedItemsControl* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnHeaderedItemsControl* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnHeaderedItemsControl* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnHeaderedItemsControl* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnHeaderedItemsControl* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnHeaderedItemsControl* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnHeaderedItemsControl* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnHeaderedItemsControl* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnHeaderedItemsControl* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnHeaderedItemsControl* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnHeaderedItemsControl* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnHeaderedItemsControl* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnHeaderedItemsControl* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnHeaderedItemsControl* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnHeaderedItemsControl* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnHeaderedItemsControl* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnHeaderedItemsControl* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnHeaderedItemsControl* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnHeaderedItemsControl* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnHeaderedItemsControl* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnHeaderedItemsControl* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnHeaderedItemsControl* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnHeaderedItemsControl* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnHeaderedItemsControl* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnHeaderedItemsControl* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_header)(IAvnHeaderedItemsControl* self, IAvnControl** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_header)(IAvnHeaderedItemsControl* self, IAvnControl* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_header_template)(IAvnHeaderedItemsControl* self, IAvnDataTemplate** value); /* slot 111 */ - AvnHResult (AVN_CALL *set_header_template)(IAvnHeaderedItemsControl* self, IAvnDataTemplate* value); /* slot 112 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnHeaderedItemsControl* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnHeaderedItemsControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnHeaderedItemsControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnHeaderedItemsControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnHeaderedItemsControl* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnHeaderedItemsControl* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnHeaderedItemsControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnHeaderedItemsControl* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnHeaderedItemsControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnHeaderedItemsControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnHeaderedItemsControl* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnHeaderedItemsControl* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnHeaderedItemsControl* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnHeaderedItemsControl* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnHeaderedItemsControl* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnHeaderedItemsControl* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnHeaderedItemsControl* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnHeaderedItemsControl* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnHeaderedItemsControl* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnHeaderedItemsControl* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnHeaderedItemsControl* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnHeaderedItemsControl* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnHeaderedItemsControl* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnHeaderedItemsControl* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnHeaderedItemsControl* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnHeaderedItemsControl* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnHeaderedItemsControl* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnHeaderedItemsControl* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnHeaderedItemsControl* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnHeaderedItemsControl* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnHeaderedItemsControl* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnHeaderedItemsControl* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnHeaderedItemsControl* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnHeaderedItemsControl* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnHeaderedItemsControl* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnHeaderedItemsControl* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnHeaderedItemsControl* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnHeaderedItemsControl* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnHeaderedItemsControl* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnHeaderedItemsControl* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnHeaderedItemsControl* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnHeaderedItemsControl* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnHeaderedItemsControl* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnHeaderedItemsControl* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnHeaderedItemsControl* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnHeaderedItemsControl* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnHeaderedItemsControl* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_header)(IAvnHeaderedItemsControl* self, IAvnControl** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_header)(IAvnHeaderedItemsControl* self, IAvnControl* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_header_template)(IAvnHeaderedItemsControl* self, IAvnDataTemplate** value); /* slot 126 */ + AvnHResult (AVN_CALL *set_header_template)(IAvnHeaderedItemsControl* self, IAvnDataTemplate* value); /* slot 127 */ }; struct IAvnHeaderedItemsControl { const IAvnHeaderedItemsControlVtbl* vtbl; }; -#define I_AVN_HEADERED_ITEMS_CONTROL_VTABLE_SLOTS 113 +#define I_AVN_HEADERED_ITEMS_CONTROL_VTABLE_SLOTS 128 static const AvnGuid I_AVN_HEADERED_SELECTING_ITEMS_CONTROL_IID = { - 0xE0CB1C51, - 0x192B, - 0x5B9B, - { 0x8A, 0x19, 0x72, 0xEE, 0x4C, 0x68, 0xC2, 0x7D } + 0x723DA9D6, + 0x8356, + 0x5967, + { 0x83, 0xE1, 0x0E, 0x0A, 0x4B, 0x1C, 0x1B, 0x2C } }; -#define I_AVN_HEADERED_SELECTING_ITEMS_CONTROL_ABI_VERSION 12 +#define I_AVN_HEADERED_SELECTING_ITEMS_CONTROL_ABI_VERSION 15 struct IAvnHeaderedSelectingItemsControlVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnHeaderedSelectingItemsControl* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnHeaderedSelectingItemsControl* self); /* slot 1 */ @@ -6298,89 +6913,104 @@ struct IAvnHeaderedSelectingItemsControlVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnHeaderedSelectingItemsControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnHeaderedSelectingItemsControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnHeaderedSelectingItemsControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnHeaderedSelectingItemsControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnHeaderedSelectingItemsControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnHeaderedSelectingItemsControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnHeaderedSelectingItemsControl* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnHeaderedSelectingItemsControl* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnHeaderedSelectingItemsControl* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnHeaderedSelectingItemsControl* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnHeaderedSelectingItemsControl* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnHeaderedSelectingItemsControl* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnHeaderedSelectingItemsControl* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnHeaderedSelectingItemsControl* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnHeaderedSelectingItemsControl* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnHeaderedSelectingItemsControl* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnHeaderedSelectingItemsControl* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnHeaderedSelectingItemsControl* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnHeaderedSelectingItemsControl* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnHeaderedSelectingItemsControl* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnHeaderedSelectingItemsControl* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnHeaderedSelectingItemsControl* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnHeaderedSelectingItemsControl* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnHeaderedSelectingItemsControl* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnHeaderedSelectingItemsControl* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnHeaderedSelectingItemsControl* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnHeaderedSelectingItemsControl* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnHeaderedSelectingItemsControl* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnHeaderedSelectingItemsControl* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnHeaderedSelectingItemsControl* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnHeaderedSelectingItemsControl* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnHeaderedSelectingItemsControl* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnHeaderedSelectingItemsControl* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnHeaderedSelectingItemsControl* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnHeaderedSelectingItemsControl* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnHeaderedSelectingItemsControl* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnHeaderedSelectingItemsControl* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selected_index)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selected_index)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnHeaderedSelectingItemsControl* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnHeaderedSelectingItemsControl* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_value)(IAvnHeaderedSelectingItemsControl* self, AvnVariant* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_value)(IAvnHeaderedSelectingItemsControl* self, AvnVariant value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_wrap_selection)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_wrap_selection)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnHeaderedSelectingItemsControl* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 122 */ - AvnHResult (AVN_CALL *get_header)(IAvnHeaderedSelectingItemsControl* self, IAvnControl** value); /* slot 123 */ - AvnHResult (AVN_CALL *set_header)(IAvnHeaderedSelectingItemsControl* self, IAvnControl* value); /* slot 124 */ - AvnHResult (AVN_CALL *get_header_template)(IAvnHeaderedSelectingItemsControl* self, IAvnDataTemplate** value); /* slot 125 */ - AvnHResult (AVN_CALL *set_header_template)(IAvnHeaderedSelectingItemsControl* self, IAvnDataTemplate* value); /* slot 126 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnHeaderedSelectingItemsControl* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnHeaderedSelectingItemsControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnHeaderedSelectingItemsControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnHeaderedSelectingItemsControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnHeaderedSelectingItemsControl* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnHeaderedSelectingItemsControl* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnHeaderedSelectingItemsControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnHeaderedSelectingItemsControl* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnHeaderedSelectingItemsControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnHeaderedSelectingItemsControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnHeaderedSelectingItemsControl* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnHeaderedSelectingItemsControl* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnHeaderedSelectingItemsControl* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnHeaderedSelectingItemsControl* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnHeaderedSelectingItemsControl* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnHeaderedSelectingItemsControl* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnHeaderedSelectingItemsControl* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnHeaderedSelectingItemsControl* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnHeaderedSelectingItemsControl* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnHeaderedSelectingItemsControl* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnHeaderedSelectingItemsControl* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnHeaderedSelectingItemsControl* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnHeaderedSelectingItemsControl* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnHeaderedSelectingItemsControl* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnHeaderedSelectingItemsControl* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnHeaderedSelectingItemsControl* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnHeaderedSelectingItemsControl* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnHeaderedSelectingItemsControl* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnHeaderedSelectingItemsControl* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnHeaderedSelectingItemsControl* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnHeaderedSelectingItemsControl* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnHeaderedSelectingItemsControl* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnHeaderedSelectingItemsControl* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnHeaderedSelectingItemsControl* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnHeaderedSelectingItemsControl* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnHeaderedSelectingItemsControl* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnHeaderedSelectingItemsControl* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnHeaderedSelectingItemsControl* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnHeaderedSelectingItemsControl* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnHeaderedSelectingItemsControl* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnHeaderedSelectingItemsControl* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnHeaderedSelectingItemsControl* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnHeaderedSelectingItemsControl* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnHeaderedSelectingItemsControl* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selected_index)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selected_index)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnHeaderedSelectingItemsControl* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnHeaderedSelectingItemsControl* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_value)(IAvnHeaderedSelectingItemsControl* self, AvnVariant* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_value)(IAvnHeaderedSelectingItemsControl* self, AvnVariant value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_wrap_selection)(IAvnHeaderedSelectingItemsControl* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_wrap_selection)(IAvnHeaderedSelectingItemsControl* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnHeaderedSelectingItemsControl* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnHeaderedSelectingItemsControl* self, int64_t subscription_id); /* slot 137 */ + AvnHResult (AVN_CALL *get_header)(IAvnHeaderedSelectingItemsControl* self, IAvnControl** value); /* slot 138 */ + AvnHResult (AVN_CALL *set_header)(IAvnHeaderedSelectingItemsControl* self, IAvnControl* value); /* slot 139 */ + AvnHResult (AVN_CALL *get_header_template)(IAvnHeaderedSelectingItemsControl* self, IAvnDataTemplate** value); /* slot 140 */ + AvnHResult (AVN_CALL *set_header_template)(IAvnHeaderedSelectingItemsControl* self, IAvnDataTemplate* value); /* slot 141 */ }; struct IAvnHeaderedSelectingItemsControl { const IAvnHeaderedSelectingItemsControlVtbl* vtbl; }; -#define I_AVN_HEADERED_SELECTING_ITEMS_CONTROL_VTABLE_SLOTS 127 +#define I_AVN_HEADERED_SELECTING_ITEMS_CONTROL_VTABLE_SLOTS 142 static const AvnGuid I_AVN_HYPERLINK_BUTTON_IID = { - 0xBA5D6CE2, - 0xB42B, - 0x5ED0, - { 0xB2, 0x88, 0x97, 0x75, 0x60, 0x6E, 0x18, 0x02 } + 0x8130735B, + 0x8051, + 0x5246, + { 0x99, 0x14, 0x24, 0x89, 0xE9, 0xC8, 0xBE, 0xA6 } }; -#define I_AVN_HYPERLINK_BUTTON_ABI_VERSION 11 +#define I_AVN_HYPERLINK_BUTTON_ABI_VERSION 14 struct IAvnHyperlinkButtonVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnHyperlinkButton* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnHyperlinkButton* self); /* slot 1 */ @@ -6437,88 +7067,103 @@ struct IAvnHyperlinkButtonVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnHyperlinkButton* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnHyperlinkButton* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnHyperlinkButton* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnHyperlinkButton* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnHyperlinkButton* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnHyperlinkButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnHyperlinkButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnHyperlinkButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnHyperlinkButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnHyperlinkButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnHyperlinkButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnHyperlinkButton* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnHyperlinkButton* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnHyperlinkButton* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnHyperlinkButton* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnHyperlinkButton* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnHyperlinkButton* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnHyperlinkButton* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnHyperlinkButton* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnHyperlinkButton* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnHyperlinkButton* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnHyperlinkButton* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnHyperlinkButton* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnHyperlinkButton* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnHyperlinkButton* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnHyperlinkButton* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnHyperlinkButton* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnHyperlinkButton* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnHyperlinkButton* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnHyperlinkButton* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnHyperlinkButton* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnHyperlinkButton* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnHyperlinkButton* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnHyperlinkButton* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnHyperlinkButton* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnHyperlinkButton* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnHyperlinkButton* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnHyperlinkButton* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnHyperlinkButton* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnHyperlinkButton* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnHyperlinkButton* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnHyperlinkButton* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnHyperlinkButton* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnHyperlinkButton* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnHyperlinkButton* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnHyperlinkButton* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnHyperlinkButton* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_click_mode)(IAvnHyperlinkButton* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_click_mode)(IAvnHyperlinkButton* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_command)(IAvnHyperlinkButton* self, IAvnCommand** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_command)(IAvnHyperlinkButton* self, IAvnCommand* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnHyperlinkButton* self, uint16_t** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnHyperlinkButton* self, const uint16_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnHyperlinkButton* self, AvnVariant* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnHyperlinkButton* self, AvnVariant value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_default)(IAvnHyperlinkButton* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_default)(IAvnHyperlinkButton* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_cancel)(IAvnHyperlinkButton* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_cancel)(IAvnHyperlinkButton* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_pressed)(IAvnHyperlinkButton* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *get_flyout)(IAvnHyperlinkButton* self, IAvnFlyoutBase** value); /* slot 118 */ - AvnHResult (AVN_CALL *set_flyout)(IAvnHyperlinkButton* self, IAvnFlyoutBase* value); /* slot 119 */ - AvnHResult (AVN_CALL *advise_click)(IAvnHyperlinkButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 120 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *get_is_visited)(IAvnHyperlinkButton* self, int32_t* value); /* slot 122 */ - AvnHResult (AVN_CALL *set_is_visited)(IAvnHyperlinkButton* self, int32_t value); /* slot 123 */ - AvnHResult (AVN_CALL *get_navigate_uri)(IAvnHyperlinkButton* self, uint16_t** value); /* slot 124 */ - AvnHResult (AVN_CALL *set_navigate_uri)(IAvnHyperlinkButton* self, const uint16_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnHyperlinkButton* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnHyperlinkButton* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnHyperlinkButton* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnHyperlinkButton* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnHyperlinkButton* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnHyperlinkButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnHyperlinkButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnHyperlinkButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnHyperlinkButton* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnHyperlinkButton* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnHyperlinkButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnHyperlinkButton* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnHyperlinkButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnHyperlinkButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnHyperlinkButton* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnHyperlinkButton* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnHyperlinkButton* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnHyperlinkButton* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnHyperlinkButton* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnHyperlinkButton* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnHyperlinkButton* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnHyperlinkButton* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnHyperlinkButton* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnHyperlinkButton* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnHyperlinkButton* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnHyperlinkButton* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnHyperlinkButton* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnHyperlinkButton* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnHyperlinkButton* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnHyperlinkButton* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnHyperlinkButton* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnHyperlinkButton* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnHyperlinkButton* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnHyperlinkButton* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnHyperlinkButton* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnHyperlinkButton* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnHyperlinkButton* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnHyperlinkButton* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnHyperlinkButton* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnHyperlinkButton* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnHyperlinkButton* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnHyperlinkButton* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnHyperlinkButton* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnHyperlinkButton* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnHyperlinkButton* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnHyperlinkButton* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnHyperlinkButton* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnHyperlinkButton* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnHyperlinkButton* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnHyperlinkButton* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnHyperlinkButton* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnHyperlinkButton* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnHyperlinkButton* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_click_mode)(IAvnHyperlinkButton* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_click_mode)(IAvnHyperlinkButton* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_command)(IAvnHyperlinkButton* self, IAvnCommand** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_command)(IAvnHyperlinkButton* self, IAvnCommand* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnHyperlinkButton* self, uint16_t** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnHyperlinkButton* self, const uint16_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnHyperlinkButton* self, AvnVariant* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnHyperlinkButton* self, AvnVariant value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_default)(IAvnHyperlinkButton* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_default)(IAvnHyperlinkButton* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_cancel)(IAvnHyperlinkButton* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_cancel)(IAvnHyperlinkButton* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_pressed)(IAvnHyperlinkButton* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *get_flyout)(IAvnHyperlinkButton* self, IAvnFlyoutBase** value); /* slot 133 */ + AvnHResult (AVN_CALL *set_flyout)(IAvnHyperlinkButton* self, IAvnFlyoutBase* value); /* slot 134 */ + AvnHResult (AVN_CALL *advise_click)(IAvnHyperlinkButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 135 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnHyperlinkButton* self, int64_t subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *get_is_visited)(IAvnHyperlinkButton* self, int32_t* value); /* slot 137 */ + AvnHResult (AVN_CALL *set_is_visited)(IAvnHyperlinkButton* self, int32_t value); /* slot 138 */ + AvnHResult (AVN_CALL *get_navigate_uri)(IAvnHyperlinkButton* self, uint16_t** value); /* slot 139 */ + AvnHResult (AVN_CALL *set_navigate_uri)(IAvnHyperlinkButton* self, const uint16_t* value); /* slot 140 */ }; struct IAvnHyperlinkButton { const IAvnHyperlinkButtonVtbl* vtbl; }; -#define I_AVN_HYPERLINK_BUTTON_VTABLE_SLOTS 126 +#define I_AVN_HYPERLINK_BUTTON_VTABLE_SLOTS 141 static const AvnGuid I_AVN_ICON_ELEMENT_IID = { - 0x27129D51, - 0x9086, - 0x5E87, - { 0x97, 0xF2, 0xA7, 0xB3, 0x0B, 0x2F, 0x7A, 0x32 } + 0x32A49476, + 0xDB0C, + 0x5038, + { 0xB8, 0x88, 0xA6, 0x6D, 0x12, 0x2E, 0xC5, 0x57 } }; -#define I_AVN_ICON_ELEMENT_ABI_VERSION 9 +#define I_AVN_ICON_ELEMENT_ABI_VERSION 12 struct IAvnIconElementVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnIconElement* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnIconElement* self); /* slot 1 */ @@ -6575,59 +7220,74 @@ struct IAvnIconElementVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnIconElement* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnIconElement* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnIconElement* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnIconElement* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnIconElement* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnIconElement* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnIconElement* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnIconElement* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnIconElement* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnIconElement* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnIconElement* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnIconElement* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnIconElement* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnIconElement* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnIconElement* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnIconElement* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnIconElement* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnIconElement* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnIconElement* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnIconElement* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnIconElement* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnIconElement* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnIconElement* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnIconElement* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnIconElement* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnIconElement* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnIconElement* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnIconElement* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnIconElement* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnIconElement* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnIconElement* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnIconElement* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnIconElement* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnIconElement* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnIconElement* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnIconElement* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnIconElement* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnIconElement* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnIconElement* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnIconElement* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnIconElement* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnIconElement* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnIconElement* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnIconElement* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnIconElement* self, AvnThickness value); /* slot 96 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnIconElement* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnIconElement* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnIconElement* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnIconElement* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnIconElement* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnIconElement* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnIconElement* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnIconElement* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnIconElement* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnIconElement* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnIconElement* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnIconElement* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnIconElement* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnIconElement* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnIconElement* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnIconElement* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnIconElement* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnIconElement* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnIconElement* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnIconElement* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnIconElement* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnIconElement* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnIconElement* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnIconElement* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnIconElement* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnIconElement* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnIconElement* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnIconElement* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnIconElement* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnIconElement* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnIconElement* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnIconElement* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnIconElement* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnIconElement* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnIconElement* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnIconElement* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnIconElement* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnIconElement* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnIconElement* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnIconElement* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnIconElement* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnIconElement* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnIconElement* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnIconElement* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnIconElement* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnIconElement* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnIconElement* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnIconElement* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnIconElement* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnIconElement* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnIconElement* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnIconElement* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnIconElement* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnIconElement* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnIconElement* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnIconElement* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnIconElement* self, AvnThickness value); /* slot 111 */ }; struct IAvnIconElement { const IAvnIconElementVtbl* vtbl; }; -#define I_AVN_ICON_ELEMENT_VTABLE_SLOTS 97 +#define I_AVN_ICON_ELEMENT_VTABLE_SLOTS 112 static const AvnGuid I_AVN_IMAGE_IID = { - 0xACC338F6, - 0x8C35, - 0x57F4, - { 0xBB, 0x82, 0x4A, 0x3F, 0x39, 0x7B, 0x13, 0x0F } + 0x3BE59E46, + 0x0ECC, + 0x595F, + { 0x85, 0xC0, 0x3C, 0xD4, 0x6F, 0x76, 0xD9, 0xB7 } }; -#define I_AVN_IMAGE_ABI_VERSION 8 +#define I_AVN_IMAGE_ABI_VERSION 11 struct IAvnImageVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnImage* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnImage* self); /* slot 1 */ @@ -6684,39 +7344,54 @@ struct IAvnImageVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnImage* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnImage* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnImage* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnImage* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnImage* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnImage* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnImage* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnImage* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnImage* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnImage* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnImage* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnImage* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnImage* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnImage* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnImage* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnImage* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnImage* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_source)(IAvnImage* self, uint16_t** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_source)(IAvnImage* self, const uint16_t* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_blend_mode)(IAvnImage* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_blend_mode)(IAvnImage* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_stretch)(IAvnImage* self, int32_t* value); /* slot 73 */ - AvnHResult (AVN_CALL *set_stretch)(IAvnImage* self, int32_t value); /* slot 74 */ - AvnHResult (AVN_CALL *get_stretch_direction)(IAvnImage* self, int32_t* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_stretch_direction)(IAvnImage* self, int32_t value); /* slot 76 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnImage* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnImage* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnImage* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnImage* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnImage* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnImage* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnImage* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnImage* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnImage* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnImage* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnImage* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnImage* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnImage* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnImage* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnImage* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnImage* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnImage* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnImage* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnImage* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnImage* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnImage* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnImage* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnImage* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnImage* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnImage* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnImage* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnImage* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnImage* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnImage* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_source)(IAvnImage* self, uint16_t** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_source)(IAvnImage* self, const uint16_t* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_blend_mode)(IAvnImage* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_blend_mode)(IAvnImage* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_stretch)(IAvnImage* self, int32_t* value); /* slot 88 */ + AvnHResult (AVN_CALL *set_stretch)(IAvnImage* self, int32_t value); /* slot 89 */ + AvnHResult (AVN_CALL *get_stretch_direction)(IAvnImage* self, int32_t* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_stretch_direction)(IAvnImage* self, int32_t value); /* slot 91 */ }; struct IAvnImage { const IAvnImageVtbl* vtbl; }; -#define I_AVN_IMAGE_VTABLE_SLOTS 77 +#define I_AVN_IMAGE_VTABLE_SLOTS 92 static const AvnGuid I_AVN_ITEMS_CONTROL_IID = { - 0xD985D274, - 0x6EFC, - 0x5423, - { 0xB7, 0x4F, 0x7A, 0x73, 0x13, 0x39, 0x92, 0xFC } + 0xC6061984, + 0x593E, + 0x5875, + { 0x89, 0x56, 0x4B, 0x5C, 0x4B, 0x6D, 0x88, 0x6C } }; -#define I_AVN_ITEMS_CONTROL_ABI_VERSION 15 +#define I_AVN_ITEMS_CONTROL_ABI_VERSION 18 struct IAvnItemsControlVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnItemsControl* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnItemsControl* self); /* slot 1 */ @@ -6773,71 +7448,86 @@ struct IAvnItemsControlVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnItemsControl* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnItemsControl* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnItemsControl* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnItemsControl* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnItemsControl* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnItemsControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnItemsControl* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnItemsControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnItemsControl* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnItemsControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnItemsControl* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnItemsControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnItemsControl* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnItemsControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnItemsControl* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnItemsControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnItemsControl* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnItemsControl* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnItemsControl* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnItemsControl* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnItemsControl* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnItemsControl* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnItemsControl* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnItemsControl* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnItemsControl* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnItemsControl* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnItemsControl* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnItemsControl* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnItemsControl* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnItemsControl* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnItemsControl* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnItemsControl* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnItemsControl* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnItemsControl* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnItemsControl* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnItemsControl* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnItemsControl* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnItemsControl* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnItemsControl* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnItemsControl* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnItemsControl* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnItemsControl* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnItemsControl* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnItemsControl* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnItemsControl* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnItemsControl* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnItemsControl* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnItemsControl* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnItemsControl* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnItemsControl* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnItemsControl* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnItemsControl* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnItemsControl* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnItemsControl* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnItemsControl* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnItemsControl* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnItemsControl* self, AvnVariant item); /* slot 108 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnItemsControl* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnItemsControl* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnItemsControl* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnItemsControl* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnItemsControl* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnItemsControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnItemsControl* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnItemsControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnItemsControl* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnItemsControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnItemsControl* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnItemsControl* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnItemsControl* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnItemsControl* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnItemsControl* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnItemsControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnItemsControl* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnItemsControl* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnItemsControl* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnItemsControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnItemsControl* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnItemsControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnItemsControl* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnItemsControl* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnItemsControl* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnItemsControl* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnItemsControl* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnItemsControl* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnItemsControl* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnItemsControl* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnItemsControl* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnItemsControl* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnItemsControl* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnItemsControl* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnItemsControl* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnItemsControl* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnItemsControl* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnItemsControl* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnItemsControl* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnItemsControl* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnItemsControl* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnItemsControl* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnItemsControl* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnItemsControl* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnItemsControl* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnItemsControl* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnItemsControl* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnItemsControl* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnItemsControl* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnItemsControl* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnItemsControl* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnItemsControl* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnItemsControl* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnItemsControl* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnItemsControl* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnItemsControl* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnItemsControl* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnItemsControl* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnItemsControl* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnItemsControl* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnItemsControl* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnItemsControl* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnItemsControl* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnItemsControl* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnItemsControl* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnItemsControl* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnItemsControl* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnItemsControl* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnItemsControl* self, AvnVariant item); /* slot 123 */ }; struct IAvnItemsControl { const IAvnItemsControlVtbl* vtbl; }; -#define I_AVN_ITEMS_CONTROL_VTABLE_SLOTS 109 +#define I_AVN_ITEMS_CONTROL_VTABLE_SLOTS 124 static const AvnGuid I_AVN_LABEL_IID = { - 0x621B0405, - 0x7E33, - 0x56EE, - { 0x8F, 0xF0, 0xE1, 0xCA, 0x60, 0x42, 0x09, 0xBD } + 0xC85D82E9, + 0x5381, + 0x5B73, + { 0xBB, 0x11, 0xC5, 0x47, 0xCE, 0xFA, 0x8A, 0x19 } }; -#define I_AVN_LABEL_ABI_VERSION 10 +#define I_AVN_LABEL_ABI_VERSION 13 struct IAvnLabelVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnLabel* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnLabel* self); /* slot 1 */ @@ -6894,69 +7584,84 @@ struct IAvnLabelVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnLabel* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnLabel* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnLabel* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnLabel* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnLabel* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnLabel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnLabel* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnLabel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnLabel* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnLabel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnLabel* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnLabel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnLabel* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnLabel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnLabel* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnLabel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnLabel* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnLabel* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnLabel* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnLabel* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnLabel* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnLabel* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnLabel* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnLabel* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnLabel* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnLabel* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnLabel* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnLabel* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnLabel* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnLabel* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnLabel* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnLabel* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnLabel* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnLabel* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnLabel* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnLabel* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnLabel* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnLabel* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnLabel* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnLabel* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnLabel* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnLabel* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnLabel* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnLabel* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnLabel* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnLabel* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnLabel* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnLabel* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnLabel* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnLabel* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnLabel* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnLabel* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnLabel* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_target)(IAvnLabel* self, IAvnControl** value); /* slot 105 */ - AvnHResult (AVN_CALL *set_target)(IAvnLabel* self, IAvnControl* value); /* slot 106 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnLabel* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnLabel* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnLabel* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnLabel* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnLabel* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnLabel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnLabel* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnLabel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnLabel* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnLabel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnLabel* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnLabel* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnLabel* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnLabel* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnLabel* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnLabel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnLabel* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnLabel* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnLabel* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnLabel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnLabel* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnLabel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnLabel* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnLabel* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnLabel* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnLabel* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnLabel* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnLabel* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnLabel* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnLabel* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnLabel* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnLabel* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnLabel* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnLabel* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnLabel* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnLabel* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnLabel* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnLabel* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnLabel* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnLabel* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnLabel* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnLabel* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnLabel* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnLabel* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnLabel* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnLabel* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnLabel* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnLabel* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnLabel* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnLabel* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnLabel* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnLabel* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnLabel* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnLabel* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnLabel* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnLabel* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnLabel* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnLabel* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnLabel* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnLabel* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnLabel* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnLabel* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnLabel* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnLabel* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnLabel* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_target)(IAvnLabel* self, IAvnControl** value); /* slot 120 */ + AvnHResult (AVN_CALL *set_target)(IAvnLabel* self, IAvnControl* value); /* slot 121 */ }; struct IAvnLabel { const IAvnLabelVtbl* vtbl; }; -#define I_AVN_LABEL_VTABLE_SLOTS 107 +#define I_AVN_LABEL_VTABLE_SLOTS 122 static const AvnGuid I_AVN_LAYOUT_TRANSFORM_CONTROL_IID = { - 0x39D82382, - 0x98B4, - 0x510A, - { 0xAE, 0x62, 0x19, 0xE9, 0xBB, 0xA1, 0x36, 0x98 } + 0xD19B8CD6, + 0x21FB, + 0x5F7C, + { 0x98, 0x5B, 0xA4, 0x86, 0x53, 0x24, 0x61, 0xA7 } }; -#define I_AVN_LAYOUT_TRANSFORM_CONTROL_ABI_VERSION 8 +#define I_AVN_LAYOUT_TRANSFORM_CONTROL_ABI_VERSION 11 struct IAvnLayoutTransformControlVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnLayoutTransformControl* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnLayoutTransformControl* self); /* slot 1 */ @@ -7013,37 +7718,52 @@ struct IAvnLayoutTransformControlVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnLayoutTransformControl* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnLayoutTransformControl* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnLayoutTransformControl* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnLayoutTransformControl* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnLayoutTransformControl* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnLayoutTransformControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnLayoutTransformControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnLayoutTransformControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnLayoutTransformControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnLayoutTransformControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnLayoutTransformControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_child)(IAvnLayoutTransformControl* self, IAvnControl** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_child)(IAvnLayoutTransformControl* self, IAvnControl* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_padding)(IAvnLayoutTransformControl* self, AvnThickness* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_padding)(IAvnLayoutTransformControl* self, AvnThickness value); /* slot 72 */ - AvnHResult (AVN_CALL *get_use_render_transform)(IAvnLayoutTransformControl* self, int32_t* value); /* slot 73 */ - AvnHResult (AVN_CALL *set_use_render_transform)(IAvnLayoutTransformControl* self, int32_t value); /* slot 74 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnLayoutTransformControl* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnLayoutTransformControl* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnLayoutTransformControl* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnLayoutTransformControl* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnLayoutTransformControl* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnLayoutTransformControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnLayoutTransformControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnLayoutTransformControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnLayoutTransformControl* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnLayoutTransformControl* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnLayoutTransformControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnLayoutTransformControl* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnLayoutTransformControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnLayoutTransformControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnLayoutTransformControl* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnLayoutTransformControl* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnLayoutTransformControl* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnLayoutTransformControl* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_child)(IAvnLayoutTransformControl* self, IAvnControl** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_child)(IAvnLayoutTransformControl* self, IAvnControl* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_padding)(IAvnLayoutTransformControl* self, AvnThickness* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_padding)(IAvnLayoutTransformControl* self, AvnThickness value); /* slot 87 */ + AvnHResult (AVN_CALL *get_use_render_transform)(IAvnLayoutTransformControl* self, int32_t* value); /* slot 88 */ + AvnHResult (AVN_CALL *set_use_render_transform)(IAvnLayoutTransformControl* self, int32_t value); /* slot 89 */ }; struct IAvnLayoutTransformControl { const IAvnLayoutTransformControlVtbl* vtbl; }; -#define I_AVN_LAYOUT_TRANSFORM_CONTROL_VTABLE_SLOTS 75 +#define I_AVN_LAYOUT_TRANSFORM_CONTROL_VTABLE_SLOTS 90 static const AvnGuid I_AVN_LINE_IID = { - 0xF302A345, - 0x5295, - 0x5A86, - { 0xB5, 0x20, 0x22, 0x42, 0x78, 0xB6, 0x8E, 0xAB } + 0xE432CA0E, + 0x417D, + 0x584A, + { 0xA0, 0xAB, 0x88, 0x4A, 0xCB, 0x73, 0xA6, 0xF6 } }; -#define I_AVN_LINE_ABI_VERSION 8 +#define I_AVN_LINE_ABI_VERSION 11 struct IAvnLineVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnLine* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnLine* self); /* slot 1 */ @@ -7100,53 +7820,68 @@ struct IAvnLineVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnLine* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnLine* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnLine* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnLine* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnLine* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnLine* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnLine* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnLine* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnLine* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnLine* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnLine* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnLine* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnLine* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnLine* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnLine* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnLine* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnLine* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_fill)(IAvnLine* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_fill)(IAvnLine* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_stretch)(IAvnLine* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_stretch)(IAvnLine* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_stroke)(IAvnLine* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_stroke)(IAvnLine* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnLine* self, uint16_t** value); /* slot 75 */ - AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnLine* self, const uint16_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnLine* self, double* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnLine* self, double value); /* slot 78 */ - AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnLine* self, double* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnLine* self, double value); /* slot 80 */ - AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnLine* self, int32_t* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnLine* self, int32_t value); /* slot 82 */ - AvnHResult (AVN_CALL *get_stroke_join)(IAvnLine* self, int32_t* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_stroke_join)(IAvnLine* self, int32_t value); /* slot 84 */ - AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnLine* self, double* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnLine* self, double value); /* slot 86 */ - AvnHResult (AVN_CALL *get_start_point)(IAvnLine* self, AvnPoint* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_start_point)(IAvnLine* self, AvnPoint value); /* slot 88 */ - AvnHResult (AVN_CALL *get_end_point)(IAvnLine* self, AvnPoint* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_end_point)(IAvnLine* self, AvnPoint value); /* slot 90 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnLine* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnLine* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnLine* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnLine* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnLine* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnLine* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnLine* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnLine* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnLine* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnLine* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnLine* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnLine* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnLine* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnLine* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnLine* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnLine* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnLine* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnLine* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnLine* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnLine* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnLine* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnLine* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnLine* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnLine* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnLine* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnLine* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnLine* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnLine* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnLine* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_fill)(IAvnLine* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_fill)(IAvnLine* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_stretch)(IAvnLine* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_stretch)(IAvnLine* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_stroke)(IAvnLine* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_stroke)(IAvnLine* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnLine* self, uint16_t** value); /* slot 90 */ + AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnLine* self, const uint16_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnLine* self, double* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnLine* self, double value); /* slot 93 */ + AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnLine* self, double* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnLine* self, double value); /* slot 95 */ + AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnLine* self, int32_t* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnLine* self, int32_t value); /* slot 97 */ + AvnHResult (AVN_CALL *get_stroke_join)(IAvnLine* self, int32_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_stroke_join)(IAvnLine* self, int32_t value); /* slot 99 */ + AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnLine* self, double* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnLine* self, double value); /* slot 101 */ + AvnHResult (AVN_CALL *get_start_point)(IAvnLine* self, AvnPoint* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_start_point)(IAvnLine* self, AvnPoint value); /* slot 103 */ + AvnHResult (AVN_CALL *get_end_point)(IAvnLine* self, AvnPoint* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_end_point)(IAvnLine* self, AvnPoint value); /* slot 105 */ }; struct IAvnLine { const IAvnLineVtbl* vtbl; }; -#define I_AVN_LINE_VTABLE_SLOTS 91 +#define I_AVN_LINE_VTABLE_SLOTS 106 static const AvnGuid I_AVN_LIST_BOX_IID = { - 0xB5B6A7D1, - 0xB302, - 0x56BB, - { 0x93, 0xA9, 0xD5, 0x32, 0x37, 0x70, 0x86, 0x32 } + 0xFD704B9F, + 0x4E33, + 0x516E, + { 0xB4, 0x8D, 0xB1, 0xDC, 0x9A, 0xA4, 0x4D, 0xCA } }; -#define I_AVN_LIST_BOX_ABI_VERSION 16 +#define I_AVN_LIST_BOX_ABI_VERSION 19 struct IAvnListBoxVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnListBox* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnListBox* self); /* slot 1 */ @@ -7203,89 +7938,104 @@ struct IAvnListBoxVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnListBox* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnListBox* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnListBox* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnListBox* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnListBox* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnListBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnListBox* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnListBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnListBox* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnListBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnListBox* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnListBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnListBox* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnListBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnListBox* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnListBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnListBox* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnListBox* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnListBox* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnListBox* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnListBox* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnListBox* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnListBox* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnListBox* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnListBox* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnListBox* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnListBox* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnListBox* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnListBox* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnListBox* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnListBox* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnListBox* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnListBox* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnListBox* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnListBox* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnListBox* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnListBox* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnListBox* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnListBox* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnListBox* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnListBox* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnListBox* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnListBox* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnListBox* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnListBox* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnListBox* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnListBox* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnListBox* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnListBox* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnListBox* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnListBox* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnListBox* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnListBox* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnListBox* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnListBox* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnListBox* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnListBox* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnListBox* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnListBox* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selected_index)(IAvnListBox* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selected_index)(IAvnListBox* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnListBox* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnListBox* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_value)(IAvnListBox* self, AvnVariant* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_value)(IAvnListBox* self, AvnVariant value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnListBox* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnListBox* self, int32_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_wrap_selection)(IAvnListBox* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_wrap_selection)(IAvnListBox* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnListBox* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnListBox* self, int64_t subscription_id); /* slot 122 */ - AvnHResult (AVN_CALL *get_selection_mode)(IAvnListBox* self, int32_t* value); /* slot 123 */ - AvnHResult (AVN_CALL *set_selection_mode)(IAvnListBox* self, int32_t value); /* slot 124 */ - AvnHResult (AVN_CALL *select_all)(IAvnListBox* self); /* slot 125 */ - AvnHResult (AVN_CALL *unselect_all)(IAvnListBox* self); /* slot 126 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnListBox* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnListBox* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnListBox* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnListBox* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnListBox* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnListBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnListBox* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnListBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnListBox* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnListBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnListBox* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnListBox* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnListBox* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnListBox* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnListBox* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnListBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnListBox* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnListBox* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnListBox* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnListBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnListBox* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnListBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnListBox* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnListBox* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnListBox* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnListBox* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnListBox* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnListBox* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnListBox* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnListBox* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnListBox* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnListBox* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnListBox* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnListBox* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnListBox* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnListBox* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnListBox* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnListBox* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnListBox* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnListBox* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnListBox* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnListBox* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnListBox* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnListBox* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnListBox* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnListBox* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnListBox* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnListBox* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnListBox* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnListBox* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnListBox* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnListBox* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnListBox* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnListBox* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnListBox* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnListBox* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnListBox* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnListBox* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnListBox* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnListBox* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnListBox* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnListBox* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnListBox* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnListBox* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnListBox* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnListBox* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnListBox* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnListBox* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnListBox* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnListBox* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnListBox* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selected_index)(IAvnListBox* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selected_index)(IAvnListBox* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnListBox* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnListBox* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_value)(IAvnListBox* self, AvnVariant* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_value)(IAvnListBox* self, AvnVariant value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnListBox* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnListBox* self, int32_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_wrap_selection)(IAvnListBox* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_wrap_selection)(IAvnListBox* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnListBox* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnListBox* self, int64_t subscription_id); /* slot 137 */ + AvnHResult (AVN_CALL *get_selection_mode)(IAvnListBox* self, int32_t* value); /* slot 138 */ + AvnHResult (AVN_CALL *set_selection_mode)(IAvnListBox* self, int32_t value); /* slot 139 */ + AvnHResult (AVN_CALL *select_all)(IAvnListBox* self); /* slot 140 */ + AvnHResult (AVN_CALL *unselect_all)(IAvnListBox* self); /* slot 141 */ }; struct IAvnListBox { const IAvnListBoxVtbl* vtbl; }; -#define I_AVN_LIST_BOX_VTABLE_SLOTS 127 +#define I_AVN_LIST_BOX_VTABLE_SLOTS 142 static const AvnGuid I_AVN_LIST_BOX_ITEM_IID = { - 0x19A8B0AF, - 0x1926, - 0x5DE4, - { 0xB6, 0xEC, 0x5E, 0x2F, 0x02, 0x68, 0x31, 0xB6 } + 0xD177A044, + 0x40A9, + 0x5BD2, + { 0xB9, 0xD5, 0xBC, 0x3B, 0x24, 0xF6, 0xF8, 0x7E } }; -#define I_AVN_LIST_BOX_ITEM_ABI_VERSION 15 +#define I_AVN_LIST_BOX_ITEM_ABI_VERSION 18 struct IAvnListBoxItemVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnListBoxItem* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnListBoxItem* self); /* slot 1 */ @@ -7342,69 +8092,84 @@ struct IAvnListBoxItemVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnListBoxItem* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnListBoxItem* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnListBoxItem* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnListBoxItem* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnListBoxItem* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnListBoxItem* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnListBoxItem* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnListBoxItem* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnListBoxItem* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnListBoxItem* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnListBoxItem* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnListBoxItem* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnListBoxItem* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnListBoxItem* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnListBoxItem* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnListBoxItem* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnListBoxItem* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnListBoxItem* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnListBoxItem* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnListBoxItem* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnListBoxItem* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnListBoxItem* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnListBoxItem* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnListBoxItem* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnListBoxItem* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnListBoxItem* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnListBoxItem* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnListBoxItem* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnListBoxItem* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnListBoxItem* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnListBoxItem* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnListBoxItem* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnListBoxItem* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnListBoxItem* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnListBoxItem* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnListBoxItem* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnListBoxItem* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnListBoxItem* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnListBoxItem* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnListBoxItem* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnListBoxItem* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnListBoxItem* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnListBoxItem* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnListBoxItem* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnListBoxItem* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnListBoxItem* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnListBoxItem* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_is_selected)(IAvnListBoxItem* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_is_selected)(IAvnListBoxItem* self, int32_t value); /* slot 106 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnListBoxItem* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnListBoxItem* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnListBoxItem* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnListBoxItem* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnListBoxItem* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnListBoxItem* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnListBoxItem* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnListBoxItem* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnListBoxItem* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnListBoxItem* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnListBoxItem* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnListBoxItem* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnListBoxItem* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnListBoxItem* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnListBoxItem* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnListBoxItem* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnListBoxItem* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnListBoxItem* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnListBoxItem* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnListBoxItem* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnListBoxItem* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnListBoxItem* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnListBoxItem* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnListBoxItem* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnListBoxItem* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnListBoxItem* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnListBoxItem* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnListBoxItem* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnListBoxItem* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnListBoxItem* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnListBoxItem* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnListBoxItem* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnListBoxItem* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnListBoxItem* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnListBoxItem* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnListBoxItem* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnListBoxItem* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnListBoxItem* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnListBoxItem* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnListBoxItem* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnListBoxItem* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnListBoxItem* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnListBoxItem* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnListBoxItem* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnListBoxItem* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnListBoxItem* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnListBoxItem* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnListBoxItem* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnListBoxItem* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnListBoxItem* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnListBoxItem* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnListBoxItem* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnListBoxItem* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnListBoxItem* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_is_selected)(IAvnListBoxItem* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_is_selected)(IAvnListBoxItem* self, int32_t value); /* slot 121 */ }; struct IAvnListBoxItem { const IAvnListBoxItemVtbl* vtbl; }; -#define I_AVN_LIST_BOX_ITEM_VTABLE_SLOTS 107 +#define I_AVN_LIST_BOX_ITEM_VTABLE_SLOTS 122 static const AvnGuid I_AVN_MASKED_TEXT_BOX_IID = { - 0xC7B40FDD, - 0x3EBA, - 0x55CF, - { 0x84, 0xBF, 0x5F, 0xAD, 0x22, 0x22, 0x99, 0x08 } + 0x1C1A91B2, + 0x4417, + 0x5AB6, + { 0xA2, 0x5A, 0xAF, 0x72, 0xF5, 0x7B, 0x56, 0x40 } }; -#define I_AVN_MASKED_TEXT_BOX_ABI_VERSION 15 +#define I_AVN_MASKED_TEXT_BOX_ABI_VERSION 18 struct IAvnMaskedTextBoxVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnMaskedTextBox* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnMaskedTextBox* self); /* slot 1 */ @@ -7461,162 +8226,177 @@ struct IAvnMaskedTextBoxVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnMaskedTextBox* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnMaskedTextBox* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnMaskedTextBox* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnMaskedTextBox* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnMaskedTextBox* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnMaskedTextBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnMaskedTextBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnMaskedTextBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnMaskedTextBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnMaskedTextBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnMaskedTextBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnMaskedTextBox* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnMaskedTextBox* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnMaskedTextBox* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnMaskedTextBox* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnMaskedTextBox* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnMaskedTextBox* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnMaskedTextBox* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnMaskedTextBox* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnMaskedTextBox* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnMaskedTextBox* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnMaskedTextBox* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnMaskedTextBox* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnMaskedTextBox* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnMaskedTextBox* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnMaskedTextBox* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnMaskedTextBox* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnMaskedTextBox* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnMaskedTextBox* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_is_inactive_selection_highlight_enabled)(IAvnMaskedTextBox* self, int32_t* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_is_inactive_selection_highlight_enabled)(IAvnMaskedTextBox* self, int32_t value); /* slot 98 */ - AvnHResult (AVN_CALL *get_clear_selection_on_lost_focus)(IAvnMaskedTextBox* self, int32_t* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_clear_selection_on_lost_focus)(IAvnMaskedTextBox* self, int32_t value); /* slot 100 */ - AvnHResult (AVN_CALL *get_accepts_return)(IAvnMaskedTextBox* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_accepts_return)(IAvnMaskedTextBox* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_accepts_tab)(IAvnMaskedTextBox* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_accepts_tab)(IAvnMaskedTextBox* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_caret_index)(IAvnMaskedTextBox* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_caret_index)(IAvnMaskedTextBox* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_is_read_only)(IAvnMaskedTextBox* self, int32_t* value); /* slot 107 */ - AvnHResult (AVN_CALL *set_is_read_only)(IAvnMaskedTextBox* self, int32_t value); /* slot 108 */ - AvnHResult (AVN_CALL *get_password_char)(IAvnMaskedTextBox* self, uint16_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_password_char)(IAvnMaskedTextBox* self, uint16_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selection_brush)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selection_brush)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selection_foreground_brush)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selection_foreground_brush)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 114 */ - AvnHResult (AVN_CALL *get_caret_brush)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 115 */ - AvnHResult (AVN_CALL *set_caret_brush)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 116 */ - AvnHResult (AVN_CALL *get_caret_blink_interval)(IAvnMaskedTextBox* self, int64_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_caret_blink_interval)(IAvnMaskedTextBox* self, int64_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_selection_start)(IAvnMaskedTextBox* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_selection_start)(IAvnMaskedTextBox* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *get_selection_end)(IAvnMaskedTextBox* self, int32_t* value); /* slot 121 */ - AvnHResult (AVN_CALL *set_selection_end)(IAvnMaskedTextBox* self, int32_t value); /* slot 122 */ - AvnHResult (AVN_CALL *get_max_length)(IAvnMaskedTextBox* self, int32_t* value); /* slot 123 */ - AvnHResult (AVN_CALL *set_max_length)(IAvnMaskedTextBox* self, int32_t value); /* slot 124 */ - AvnHResult (AVN_CALL *get_max_lines)(IAvnMaskedTextBox* self, int32_t* value); /* slot 125 */ - AvnHResult (AVN_CALL *set_max_lines)(IAvnMaskedTextBox* self, int32_t value); /* slot 126 */ - AvnHResult (AVN_CALL *get_min_lines)(IAvnMaskedTextBox* self, int32_t* value); /* slot 127 */ - AvnHResult (AVN_CALL *set_min_lines)(IAvnMaskedTextBox* self, int32_t value); /* slot 128 */ - AvnHResult (AVN_CALL *get_line_height)(IAvnMaskedTextBox* self, double* value); /* slot 129 */ - AvnHResult (AVN_CALL *set_line_height)(IAvnMaskedTextBox* self, double value); /* slot 130 */ - AvnHResult (AVN_CALL *get_text)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 131 */ - AvnHResult (AVN_CALL *set_text)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 132 */ - AvnHResult (AVN_CALL *get_selected_text)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 133 */ - AvnHResult (AVN_CALL *set_selected_text)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 134 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnMaskedTextBox* self, int32_t* value); /* slot 135 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnMaskedTextBox* self, int32_t value); /* slot 136 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnMaskedTextBox* self, int32_t* value); /* slot 137 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnMaskedTextBox* self, int32_t value); /* slot 138 */ - AvnHResult (AVN_CALL *get_text_alignment)(IAvnMaskedTextBox* self, int32_t* value); /* slot 139 */ - AvnHResult (AVN_CALL *set_text_alignment)(IAvnMaskedTextBox* self, int32_t value); /* slot 140 */ - AvnHResult (AVN_CALL *get_placeholder_text)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 141 */ - AvnHResult (AVN_CALL *set_placeholder_text)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 142 */ - AvnHResult (AVN_CALL *get_use_floating_placeholder)(IAvnMaskedTextBox* self, int32_t* value); /* slot 143 */ - AvnHResult (AVN_CALL *set_use_floating_placeholder)(IAvnMaskedTextBox* self, int32_t value); /* slot 144 */ - AvnHResult (AVN_CALL *get_placeholder_foreground)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 145 */ - AvnHResult (AVN_CALL *set_placeholder_foreground)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 146 */ - AvnHResult (AVN_CALL *get_inner_left_content)(IAvnMaskedTextBox* self, IAvnControl** value); /* slot 147 */ - AvnHResult (AVN_CALL *set_inner_left_content)(IAvnMaskedTextBox* self, IAvnControl* value); /* slot 148 */ - AvnHResult (AVN_CALL *get_inner_right_content)(IAvnMaskedTextBox* self, IAvnControl** value); /* slot 149 */ - AvnHResult (AVN_CALL *set_inner_right_content)(IAvnMaskedTextBox* self, IAvnControl* value); /* slot 150 */ - AvnHResult (AVN_CALL *get_reveal_password)(IAvnMaskedTextBox* self, int32_t* value); /* slot 151 */ - AvnHResult (AVN_CALL *set_reveal_password)(IAvnMaskedTextBox* self, int32_t value); /* slot 152 */ - AvnHResult (AVN_CALL *get_text_wrapping)(IAvnMaskedTextBox* self, int32_t* value); /* slot 153 */ - AvnHResult (AVN_CALL *set_text_wrapping)(IAvnMaskedTextBox* self, int32_t value); /* slot 154 */ - AvnHResult (AVN_CALL *get_new_line)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 155 */ - AvnHResult (AVN_CALL *set_new_line)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 156 */ - AvnHResult (AVN_CALL *get_can_cut)(IAvnMaskedTextBox* self, int32_t* value); /* slot 157 */ - AvnHResult (AVN_CALL *get_can_copy)(IAvnMaskedTextBox* self, int32_t* value); /* slot 158 */ - AvnHResult (AVN_CALL *get_can_paste)(IAvnMaskedTextBox* self, int32_t* value); /* slot 159 */ - AvnHResult (AVN_CALL *get_is_undo_enabled)(IAvnMaskedTextBox* self, int32_t* value); /* slot 160 */ - AvnHResult (AVN_CALL *set_is_undo_enabled)(IAvnMaskedTextBox* self, int32_t value); /* slot 161 */ - AvnHResult (AVN_CALL *get_undo_limit)(IAvnMaskedTextBox* self, int32_t* value); /* slot 162 */ - AvnHResult (AVN_CALL *set_undo_limit)(IAvnMaskedTextBox* self, int32_t value); /* slot 163 */ - AvnHResult (AVN_CALL *get_can_undo)(IAvnMaskedTextBox* self, int32_t* value); /* slot 164 */ - AvnHResult (AVN_CALL *get_can_redo)(IAvnMaskedTextBox* self, int32_t* value); /* slot 165 */ - AvnHResult (AVN_CALL *clear_selection)(IAvnMaskedTextBox* self); /* slot 166 */ - AvnHResult (AVN_CALL *get_line_count)(IAvnMaskedTextBox* self, int32_t* value); /* slot 167 */ - AvnHResult (AVN_CALL *cut)(IAvnMaskedTextBox* self); /* slot 168 */ - AvnHResult (AVN_CALL *copy)(IAvnMaskedTextBox* self); /* slot 169 */ - AvnHResult (AVN_CALL *paste)(IAvnMaskedTextBox* self); /* slot 170 */ - AvnHResult (AVN_CALL *clear)(IAvnMaskedTextBox* self); /* slot 171 */ - AvnHResult (AVN_CALL *scroll_to_line_with_int32)(IAvnMaskedTextBox* self, int32_t line_index); /* slot 172 */ - AvnHResult (AVN_CALL *select_all)(IAvnMaskedTextBox* self); /* slot 173 */ - AvnHResult (AVN_CALL *undo)(IAvnMaskedTextBox* self); /* slot 174 */ - AvnHResult (AVN_CALL *redo)(IAvnMaskedTextBox* self); /* slot 175 */ - AvnHResult (AVN_CALL *advise_copying_to_clipboard)(IAvnMaskedTextBox* self, IAvnTextBoxCopyingToClipboardHandler* handler, int64_t* subscription_id); /* slot 176 */ - AvnHResult (AVN_CALL *unadvise_copying_to_clipboard)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 177 */ - AvnHResult (AVN_CALL *advise_cutting_to_clipboard)(IAvnMaskedTextBox* self, IAvnTextBoxCuttingToClipboardHandler* handler, int64_t* subscription_id); /* slot 178 */ - AvnHResult (AVN_CALL *unadvise_cutting_to_clipboard)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 179 */ - AvnHResult (AVN_CALL *advise_pasting_from_clipboard)(IAvnMaskedTextBox* self, IAvnTextBoxPastingFromClipboardHandler* handler, int64_t* subscription_id); /* slot 180 */ - AvnHResult (AVN_CALL *unadvise_pasting_from_clipboard)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 181 */ - AvnHResult (AVN_CALL *advise_text_changed)(IAvnMaskedTextBox* self, IAvnTextBoxTextChangedHandler* handler, int64_t* subscription_id); /* slot 182 */ - AvnHResult (AVN_CALL *unadvise_text_changed)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 183 */ - AvnHResult (AVN_CALL *advise_text_changing)(IAvnMaskedTextBox* self, IAvnTextBoxTextChangingHandler* handler, int64_t* subscription_id); /* slot 184 */ - AvnHResult (AVN_CALL *unadvise_text_changing)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 185 */ - AvnHResult (AVN_CALL *get_ascii_only)(IAvnMaskedTextBox* self, int32_t* value); /* slot 186 */ - AvnHResult (AVN_CALL *set_ascii_only)(IAvnMaskedTextBox* self, int32_t value); /* slot 187 */ - AvnHResult (AVN_CALL *get_hide_prompt_on_leave)(IAvnMaskedTextBox* self, int32_t* value); /* slot 188 */ - AvnHResult (AVN_CALL *set_hide_prompt_on_leave)(IAvnMaskedTextBox* self, int32_t value); /* slot 189 */ - AvnHResult (AVN_CALL *get_mask)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 190 */ - AvnHResult (AVN_CALL *set_mask)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 191 */ - AvnHResult (AVN_CALL *get_mask_completed)(IAvnMaskedTextBox* self, int32_t* value); /* slot 192 */ - AvnHResult (AVN_CALL *get_mask_full)(IAvnMaskedTextBox* self, int32_t* value); /* slot 193 */ - AvnHResult (AVN_CALL *get_prompt_char)(IAvnMaskedTextBox* self, uint16_t* value); /* slot 194 */ - AvnHResult (AVN_CALL *set_prompt_char)(IAvnMaskedTextBox* self, uint16_t value); /* slot 195 */ - AvnHResult (AVN_CALL *get_reset_on_prompt)(IAvnMaskedTextBox* self, int32_t* value); /* slot 196 */ - AvnHResult (AVN_CALL *set_reset_on_prompt)(IAvnMaskedTextBox* self, int32_t value); /* slot 197 */ - AvnHResult (AVN_CALL *get_reset_on_space)(IAvnMaskedTextBox* self, int32_t* value); /* slot 198 */ - AvnHResult (AVN_CALL *set_reset_on_space)(IAvnMaskedTextBox* self, int32_t value); /* slot 199 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnMaskedTextBox* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnMaskedTextBox* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnMaskedTextBox* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnMaskedTextBox* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnMaskedTextBox* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnMaskedTextBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnMaskedTextBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnMaskedTextBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnMaskedTextBox* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnMaskedTextBox* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnMaskedTextBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnMaskedTextBox* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnMaskedTextBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnMaskedTextBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnMaskedTextBox* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnMaskedTextBox* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnMaskedTextBox* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnMaskedTextBox* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnMaskedTextBox* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnMaskedTextBox* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnMaskedTextBox* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnMaskedTextBox* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnMaskedTextBox* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnMaskedTextBox* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnMaskedTextBox* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnMaskedTextBox* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnMaskedTextBox* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnMaskedTextBox* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnMaskedTextBox* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnMaskedTextBox* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnMaskedTextBox* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnMaskedTextBox* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnMaskedTextBox* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnMaskedTextBox* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnMaskedTextBox* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_is_inactive_selection_highlight_enabled)(IAvnMaskedTextBox* self, int32_t* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_is_inactive_selection_highlight_enabled)(IAvnMaskedTextBox* self, int32_t value); /* slot 113 */ + AvnHResult (AVN_CALL *get_clear_selection_on_lost_focus)(IAvnMaskedTextBox* self, int32_t* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_clear_selection_on_lost_focus)(IAvnMaskedTextBox* self, int32_t value); /* slot 115 */ + AvnHResult (AVN_CALL *get_accepts_return)(IAvnMaskedTextBox* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_accepts_return)(IAvnMaskedTextBox* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_accepts_tab)(IAvnMaskedTextBox* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_accepts_tab)(IAvnMaskedTextBox* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_caret_index)(IAvnMaskedTextBox* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_caret_index)(IAvnMaskedTextBox* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_is_read_only)(IAvnMaskedTextBox* self, int32_t* value); /* slot 122 */ + AvnHResult (AVN_CALL *set_is_read_only)(IAvnMaskedTextBox* self, int32_t value); /* slot 123 */ + AvnHResult (AVN_CALL *get_password_char)(IAvnMaskedTextBox* self, uint16_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_password_char)(IAvnMaskedTextBox* self, uint16_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selection_brush)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selection_brush)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selection_foreground_brush)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selection_foreground_brush)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 129 */ + AvnHResult (AVN_CALL *get_caret_brush)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 130 */ + AvnHResult (AVN_CALL *set_caret_brush)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 131 */ + AvnHResult (AVN_CALL *get_caret_blink_interval)(IAvnMaskedTextBox* self, int64_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_caret_blink_interval)(IAvnMaskedTextBox* self, int64_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_selection_start)(IAvnMaskedTextBox* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_selection_start)(IAvnMaskedTextBox* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *get_selection_end)(IAvnMaskedTextBox* self, int32_t* value); /* slot 136 */ + AvnHResult (AVN_CALL *set_selection_end)(IAvnMaskedTextBox* self, int32_t value); /* slot 137 */ + AvnHResult (AVN_CALL *get_max_length)(IAvnMaskedTextBox* self, int32_t* value); /* slot 138 */ + AvnHResult (AVN_CALL *set_max_length)(IAvnMaskedTextBox* self, int32_t value); /* slot 139 */ + AvnHResult (AVN_CALL *get_max_lines)(IAvnMaskedTextBox* self, int32_t* value); /* slot 140 */ + AvnHResult (AVN_CALL *set_max_lines)(IAvnMaskedTextBox* self, int32_t value); /* slot 141 */ + AvnHResult (AVN_CALL *get_min_lines)(IAvnMaskedTextBox* self, int32_t* value); /* slot 142 */ + AvnHResult (AVN_CALL *set_min_lines)(IAvnMaskedTextBox* self, int32_t value); /* slot 143 */ + AvnHResult (AVN_CALL *get_line_height)(IAvnMaskedTextBox* self, double* value); /* slot 144 */ + AvnHResult (AVN_CALL *set_line_height)(IAvnMaskedTextBox* self, double value); /* slot 145 */ + AvnHResult (AVN_CALL *get_text)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 146 */ + AvnHResult (AVN_CALL *set_text)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 147 */ + AvnHResult (AVN_CALL *get_selected_text)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 148 */ + AvnHResult (AVN_CALL *set_selected_text)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 149 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnMaskedTextBox* self, int32_t* value); /* slot 150 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnMaskedTextBox* self, int32_t value); /* slot 151 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnMaskedTextBox* self, int32_t* value); /* slot 152 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnMaskedTextBox* self, int32_t value); /* slot 153 */ + AvnHResult (AVN_CALL *get_text_alignment)(IAvnMaskedTextBox* self, int32_t* value); /* slot 154 */ + AvnHResult (AVN_CALL *set_text_alignment)(IAvnMaskedTextBox* self, int32_t value); /* slot 155 */ + AvnHResult (AVN_CALL *get_placeholder_text)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 156 */ + AvnHResult (AVN_CALL *set_placeholder_text)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 157 */ + AvnHResult (AVN_CALL *get_use_floating_placeholder)(IAvnMaskedTextBox* self, int32_t* value); /* slot 158 */ + AvnHResult (AVN_CALL *set_use_floating_placeholder)(IAvnMaskedTextBox* self, int32_t value); /* slot 159 */ + AvnHResult (AVN_CALL *get_placeholder_foreground)(IAvnMaskedTextBox* self, IAvnBrush** value); /* slot 160 */ + AvnHResult (AVN_CALL *set_placeholder_foreground)(IAvnMaskedTextBox* self, IAvnBrush* value); /* slot 161 */ + AvnHResult (AVN_CALL *get_inner_left_content)(IAvnMaskedTextBox* self, IAvnControl** value); /* slot 162 */ + AvnHResult (AVN_CALL *set_inner_left_content)(IAvnMaskedTextBox* self, IAvnControl* value); /* slot 163 */ + AvnHResult (AVN_CALL *get_inner_right_content)(IAvnMaskedTextBox* self, IAvnControl** value); /* slot 164 */ + AvnHResult (AVN_CALL *set_inner_right_content)(IAvnMaskedTextBox* self, IAvnControl* value); /* slot 165 */ + AvnHResult (AVN_CALL *get_reveal_password)(IAvnMaskedTextBox* self, int32_t* value); /* slot 166 */ + AvnHResult (AVN_CALL *set_reveal_password)(IAvnMaskedTextBox* self, int32_t value); /* slot 167 */ + AvnHResult (AVN_CALL *get_text_wrapping)(IAvnMaskedTextBox* self, int32_t* value); /* slot 168 */ + AvnHResult (AVN_CALL *set_text_wrapping)(IAvnMaskedTextBox* self, int32_t value); /* slot 169 */ + AvnHResult (AVN_CALL *get_new_line)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 170 */ + AvnHResult (AVN_CALL *set_new_line)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 171 */ + AvnHResult (AVN_CALL *get_can_cut)(IAvnMaskedTextBox* self, int32_t* value); /* slot 172 */ + AvnHResult (AVN_CALL *get_can_copy)(IAvnMaskedTextBox* self, int32_t* value); /* slot 173 */ + AvnHResult (AVN_CALL *get_can_paste)(IAvnMaskedTextBox* self, int32_t* value); /* slot 174 */ + AvnHResult (AVN_CALL *get_is_undo_enabled)(IAvnMaskedTextBox* self, int32_t* value); /* slot 175 */ + AvnHResult (AVN_CALL *set_is_undo_enabled)(IAvnMaskedTextBox* self, int32_t value); /* slot 176 */ + AvnHResult (AVN_CALL *get_undo_limit)(IAvnMaskedTextBox* self, int32_t* value); /* slot 177 */ + AvnHResult (AVN_CALL *set_undo_limit)(IAvnMaskedTextBox* self, int32_t value); /* slot 178 */ + AvnHResult (AVN_CALL *get_can_undo)(IAvnMaskedTextBox* self, int32_t* value); /* slot 179 */ + AvnHResult (AVN_CALL *get_can_redo)(IAvnMaskedTextBox* self, int32_t* value); /* slot 180 */ + AvnHResult (AVN_CALL *clear_selection)(IAvnMaskedTextBox* self); /* slot 181 */ + AvnHResult (AVN_CALL *get_line_count)(IAvnMaskedTextBox* self, int32_t* value); /* slot 182 */ + AvnHResult (AVN_CALL *cut)(IAvnMaskedTextBox* self); /* slot 183 */ + AvnHResult (AVN_CALL *copy)(IAvnMaskedTextBox* self); /* slot 184 */ + AvnHResult (AVN_CALL *paste)(IAvnMaskedTextBox* self); /* slot 185 */ + AvnHResult (AVN_CALL *clear)(IAvnMaskedTextBox* self); /* slot 186 */ + AvnHResult (AVN_CALL *scroll_to_line_with_int32)(IAvnMaskedTextBox* self, int32_t line_index); /* slot 187 */ + AvnHResult (AVN_CALL *select_all)(IAvnMaskedTextBox* self); /* slot 188 */ + AvnHResult (AVN_CALL *undo)(IAvnMaskedTextBox* self); /* slot 189 */ + AvnHResult (AVN_CALL *redo)(IAvnMaskedTextBox* self); /* slot 190 */ + AvnHResult (AVN_CALL *advise_copying_to_clipboard)(IAvnMaskedTextBox* self, IAvnTextBoxCopyingToClipboardHandler* handler, int64_t* subscription_id); /* slot 191 */ + AvnHResult (AVN_CALL *unadvise_copying_to_clipboard)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 192 */ + AvnHResult (AVN_CALL *advise_cutting_to_clipboard)(IAvnMaskedTextBox* self, IAvnTextBoxCuttingToClipboardHandler* handler, int64_t* subscription_id); /* slot 193 */ + AvnHResult (AVN_CALL *unadvise_cutting_to_clipboard)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 194 */ + AvnHResult (AVN_CALL *advise_pasting_from_clipboard)(IAvnMaskedTextBox* self, IAvnTextBoxPastingFromClipboardHandler* handler, int64_t* subscription_id); /* slot 195 */ + AvnHResult (AVN_CALL *unadvise_pasting_from_clipboard)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 196 */ + AvnHResult (AVN_CALL *advise_text_changed)(IAvnMaskedTextBox* self, IAvnTextBoxTextChangedHandler* handler, int64_t* subscription_id); /* slot 197 */ + AvnHResult (AVN_CALL *unadvise_text_changed)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 198 */ + AvnHResult (AVN_CALL *advise_text_changing)(IAvnMaskedTextBox* self, IAvnTextBoxTextChangingHandler* handler, int64_t* subscription_id); /* slot 199 */ + AvnHResult (AVN_CALL *unadvise_text_changing)(IAvnMaskedTextBox* self, int64_t subscription_id); /* slot 200 */ + AvnHResult (AVN_CALL *get_ascii_only)(IAvnMaskedTextBox* self, int32_t* value); /* slot 201 */ + AvnHResult (AVN_CALL *set_ascii_only)(IAvnMaskedTextBox* self, int32_t value); /* slot 202 */ + AvnHResult (AVN_CALL *get_hide_prompt_on_leave)(IAvnMaskedTextBox* self, int32_t* value); /* slot 203 */ + AvnHResult (AVN_CALL *set_hide_prompt_on_leave)(IAvnMaskedTextBox* self, int32_t value); /* slot 204 */ + AvnHResult (AVN_CALL *get_mask)(IAvnMaskedTextBox* self, uint16_t** value); /* slot 205 */ + AvnHResult (AVN_CALL *set_mask)(IAvnMaskedTextBox* self, const uint16_t* value); /* slot 206 */ + AvnHResult (AVN_CALL *get_mask_completed)(IAvnMaskedTextBox* self, int32_t* value); /* slot 207 */ + AvnHResult (AVN_CALL *get_mask_full)(IAvnMaskedTextBox* self, int32_t* value); /* slot 208 */ + AvnHResult (AVN_CALL *get_prompt_char)(IAvnMaskedTextBox* self, uint16_t* value); /* slot 209 */ + AvnHResult (AVN_CALL *set_prompt_char)(IAvnMaskedTextBox* self, uint16_t value); /* slot 210 */ + AvnHResult (AVN_CALL *get_reset_on_prompt)(IAvnMaskedTextBox* self, int32_t* value); /* slot 211 */ + AvnHResult (AVN_CALL *set_reset_on_prompt)(IAvnMaskedTextBox* self, int32_t value); /* slot 212 */ + AvnHResult (AVN_CALL *get_reset_on_space)(IAvnMaskedTextBox* self, int32_t* value); /* slot 213 */ + AvnHResult (AVN_CALL *set_reset_on_space)(IAvnMaskedTextBox* self, int32_t value); /* slot 214 */ }; struct IAvnMaskedTextBox { const IAvnMaskedTextBoxVtbl* vtbl; }; -#define I_AVN_MASKED_TEXT_BOX_VTABLE_SLOTS 200 +#define I_AVN_MASKED_TEXT_BOX_VTABLE_SLOTS 215 static const AvnGuid I_AVN_MENU_IID = { - 0xE97435D8, - 0x8BC7, - 0x5A16, - { 0xB1, 0xD1, 0x4B, 0x97, 0x60, 0x08, 0xF3, 0x41 } + 0x7494D34A, + 0x1A50, + 0x5EB7, + { 0x85, 0x32, 0xD5, 0xA9, 0xCA, 0x39, 0x92, 0xB5 } }; -#define I_AVN_MENU_ABI_VERSION 12 +#define I_AVN_MENU_ABI_VERSION 15 struct IAvnMenuVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnMenu* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnMenu* self); /* slot 1 */ @@ -7673,92 +8453,107 @@ struct IAvnMenuVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnMenu* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnMenu* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnMenu* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnMenu* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnMenu* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnMenu* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnMenu* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnMenu* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnMenu* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnMenu* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnMenu* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnMenu* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnMenu* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnMenu* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnMenu* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnMenu* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnMenu* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnMenu* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnMenu* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnMenu* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnMenu* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnMenu* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnMenu* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnMenu* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnMenu* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnMenu* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnMenu* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnMenu* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnMenu* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnMenu* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnMenu* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnMenu* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnMenu* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnMenu* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnMenu* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnMenu* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnMenu* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnMenu* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnMenu* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnMenu* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnMenu* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnMenu* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnMenu* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnMenu* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnMenu* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnMenu* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnMenu* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnMenu* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnMenu* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnMenu* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnMenu* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnMenu* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnMenu* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnMenu* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnMenu* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnMenu* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnMenu* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnMenu* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnMenu* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selected_index)(IAvnMenu* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selected_index)(IAvnMenu* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnMenu* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnMenu* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_value)(IAvnMenu* self, AvnVariant* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_value)(IAvnMenu* self, AvnVariant value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnMenu* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnMenu* self, int32_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_wrap_selection)(IAvnMenu* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_wrap_selection)(IAvnMenu* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnMenu* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnMenu* self, int64_t subscription_id); /* slot 122 */ - AvnHResult (AVN_CALL *get_is_open)(IAvnMenu* self, int32_t* value); /* slot 123 */ - AvnHResult (AVN_CALL *close)(IAvnMenu* self); /* slot 124 */ - AvnHResult (AVN_CALL *open)(IAvnMenu* self); /* slot 125 */ - AvnHResult (AVN_CALL *advise_opened)(IAvnMenu* self, IAvnMenuBaseOpenedHandler* handler, int64_t* subscription_id); /* slot 126 */ - AvnHResult (AVN_CALL *unadvise_opened)(IAvnMenu* self, int64_t subscription_id); /* slot 127 */ - AvnHResult (AVN_CALL *advise_closed)(IAvnMenu* self, IAvnMenuBaseClosedHandler* handler, int64_t* subscription_id); /* slot 128 */ - AvnHResult (AVN_CALL *unadvise_closed)(IAvnMenu* self, int64_t subscription_id); /* slot 129 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnMenu* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnMenu* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnMenu* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnMenu* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnMenu* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnMenu* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnMenu* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnMenu* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnMenu* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnMenu* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnMenu* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnMenu* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnMenu* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnMenu* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnMenu* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnMenu* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnMenu* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnMenu* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnMenu* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnMenu* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnMenu* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnMenu* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnMenu* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnMenu* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnMenu* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnMenu* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnMenu* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnMenu* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnMenu* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnMenu* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnMenu* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnMenu* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnMenu* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnMenu* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnMenu* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnMenu* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnMenu* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnMenu* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnMenu* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnMenu* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnMenu* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnMenu* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnMenu* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnMenu* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnMenu* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnMenu* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnMenu* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnMenu* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnMenu* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnMenu* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnMenu* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnMenu* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnMenu* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnMenu* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnMenu* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnMenu* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnMenu* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnMenu* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnMenu* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnMenu* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnMenu* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnMenu* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnMenu* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnMenu* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnMenu* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnMenu* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnMenu* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnMenu* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnMenu* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnMenu* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnMenu* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selected_index)(IAvnMenu* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selected_index)(IAvnMenu* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnMenu* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnMenu* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_value)(IAvnMenu* self, AvnVariant* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_value)(IAvnMenu* self, AvnVariant value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnMenu* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnMenu* self, int32_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_wrap_selection)(IAvnMenu* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_wrap_selection)(IAvnMenu* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnMenu* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnMenu* self, int64_t subscription_id); /* slot 137 */ + AvnHResult (AVN_CALL *get_is_open)(IAvnMenu* self, int32_t* value); /* slot 138 */ + AvnHResult (AVN_CALL *close)(IAvnMenu* self); /* slot 139 */ + AvnHResult (AVN_CALL *open)(IAvnMenu* self); /* slot 140 */ + AvnHResult (AVN_CALL *advise_opened)(IAvnMenu* self, IAvnMenuBaseOpenedHandler* handler, int64_t* subscription_id); /* slot 141 */ + AvnHResult (AVN_CALL *unadvise_opened)(IAvnMenu* self, int64_t subscription_id); /* slot 142 */ + AvnHResult (AVN_CALL *advise_closed)(IAvnMenu* self, IAvnMenuBaseClosedHandler* handler, int64_t* subscription_id); /* slot 143 */ + AvnHResult (AVN_CALL *unadvise_closed)(IAvnMenu* self, int64_t subscription_id); /* slot 144 */ }; struct IAvnMenu { const IAvnMenuVtbl* vtbl; }; -#define I_AVN_MENU_VTABLE_SLOTS 130 +#define I_AVN_MENU_VTABLE_SLOTS 145 static const AvnGuid I_AVN_MENU_BASE_IID = { - 0xBAB46325, - 0x4D7E, - 0x54C4, - { 0xB8, 0xE0, 0x69, 0xA6, 0x47, 0xE2, 0xBF, 0xC6 } + 0xA5A9B117, + 0xB812, + 0x50DC, + { 0xBE, 0xAA, 0xD8, 0x1C, 0xDA, 0xE4, 0x07, 0x0D } }; -#define I_AVN_MENU_BASE_ABI_VERSION 12 +#define I_AVN_MENU_BASE_ABI_VERSION 15 struct IAvnMenuBaseVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnMenuBase* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnMenuBase* self); /* slot 1 */ @@ -7815,84 +8610,99 @@ struct IAvnMenuBaseVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnMenuBase* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnMenuBase* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnMenuBase* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnMenuBase* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnMenuBase* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnMenuBase* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnMenuBase* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnMenuBase* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnMenuBase* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnMenuBase* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnMenuBase* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnMenuBase* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnMenuBase* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnMenuBase* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnMenuBase* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnMenuBase* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnMenuBase* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnMenuBase* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnMenuBase* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnMenuBase* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnMenuBase* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnMenuBase* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnMenuBase* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnMenuBase* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnMenuBase* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnMenuBase* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnMenuBase* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnMenuBase* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnMenuBase* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnMenuBase* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnMenuBase* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnMenuBase* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnMenuBase* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnMenuBase* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnMenuBase* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnMenuBase* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnMenuBase* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnMenuBase* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnMenuBase* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnMenuBase* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnMenuBase* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnMenuBase* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnMenuBase* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnMenuBase* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnMenuBase* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnMenuBase* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnMenuBase* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnMenuBase* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnMenuBase* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnMenuBase* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnMenuBase* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnMenuBase* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnMenuBase* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnMenuBase* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnMenuBase* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnMenuBase* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnMenuBase* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnMenuBase* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnMenuBase* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selected_index)(IAvnMenuBase* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selected_index)(IAvnMenuBase* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnMenuBase* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnMenuBase* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_value)(IAvnMenuBase* self, AvnVariant* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_value)(IAvnMenuBase* self, AvnVariant value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnMenuBase* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnMenuBase* self, int32_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_wrap_selection)(IAvnMenuBase* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_wrap_selection)(IAvnMenuBase* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnMenuBase* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnMenuBase* self, int64_t subscription_id); /* slot 122 */ - AvnHResult (AVN_CALL *get_is_open)(IAvnMenuBase* self, int32_t* value); /* slot 123 */ - AvnHResult (AVN_CALL *close)(IAvnMenuBase* self); /* slot 124 */ - AvnHResult (AVN_CALL *open)(IAvnMenuBase* self); /* slot 125 */ - AvnHResult (AVN_CALL *advise_opened)(IAvnMenuBase* self, IAvnMenuBaseOpenedHandler* handler, int64_t* subscription_id); /* slot 126 */ - AvnHResult (AVN_CALL *unadvise_opened)(IAvnMenuBase* self, int64_t subscription_id); /* slot 127 */ - AvnHResult (AVN_CALL *advise_closed)(IAvnMenuBase* self, IAvnMenuBaseClosedHandler* handler, int64_t* subscription_id); /* slot 128 */ - AvnHResult (AVN_CALL *unadvise_closed)(IAvnMenuBase* self, int64_t subscription_id); /* slot 129 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnMenuBase* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnMenuBase* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnMenuBase* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnMenuBase* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnMenuBase* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnMenuBase* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnMenuBase* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnMenuBase* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnMenuBase* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnMenuBase* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnMenuBase* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnMenuBase* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnMenuBase* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnMenuBase* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnMenuBase* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnMenuBase* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnMenuBase* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnMenuBase* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnMenuBase* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnMenuBase* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnMenuBase* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnMenuBase* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnMenuBase* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnMenuBase* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnMenuBase* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnMenuBase* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnMenuBase* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnMenuBase* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnMenuBase* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnMenuBase* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnMenuBase* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnMenuBase* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnMenuBase* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnMenuBase* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnMenuBase* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnMenuBase* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnMenuBase* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnMenuBase* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnMenuBase* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnMenuBase* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnMenuBase* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnMenuBase* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnMenuBase* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnMenuBase* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnMenuBase* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnMenuBase* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnMenuBase* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnMenuBase* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnMenuBase* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnMenuBase* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnMenuBase* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnMenuBase* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnMenuBase* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnMenuBase* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnMenuBase* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnMenuBase* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnMenuBase* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnMenuBase* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnMenuBase* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnMenuBase* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnMenuBase* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnMenuBase* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnMenuBase* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnMenuBase* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnMenuBase* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnMenuBase* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnMenuBase* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnMenuBase* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnMenuBase* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnMenuBase* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnMenuBase* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selected_index)(IAvnMenuBase* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selected_index)(IAvnMenuBase* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnMenuBase* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnMenuBase* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_value)(IAvnMenuBase* self, AvnVariant* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_value)(IAvnMenuBase* self, AvnVariant value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnMenuBase* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnMenuBase* self, int32_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_wrap_selection)(IAvnMenuBase* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_wrap_selection)(IAvnMenuBase* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnMenuBase* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnMenuBase* self, int64_t subscription_id); /* slot 137 */ + AvnHResult (AVN_CALL *get_is_open)(IAvnMenuBase* self, int32_t* value); /* slot 138 */ + AvnHResult (AVN_CALL *close)(IAvnMenuBase* self); /* slot 139 */ + AvnHResult (AVN_CALL *open)(IAvnMenuBase* self); /* slot 140 */ + AvnHResult (AVN_CALL *advise_opened)(IAvnMenuBase* self, IAvnMenuBaseOpenedHandler* handler, int64_t* subscription_id); /* slot 141 */ + AvnHResult (AVN_CALL *unadvise_opened)(IAvnMenuBase* self, int64_t subscription_id); /* slot 142 */ + AvnHResult (AVN_CALL *advise_closed)(IAvnMenuBase* self, IAvnMenuBaseClosedHandler* handler, int64_t* subscription_id); /* slot 143 */ + AvnHResult (AVN_CALL *unadvise_closed)(IAvnMenuBase* self, int64_t subscription_id); /* slot 144 */ }; struct IAvnMenuBase { const IAvnMenuBaseVtbl* vtbl; }; -#define I_AVN_MENU_BASE_VTABLE_SLOTS 130 +#define I_AVN_MENU_BASE_VTABLE_SLOTS 145 static const AvnGuid I_AVN_MENU_FLYOUT_IID = { 0xBE003C6C, @@ -7952,12 +8762,12 @@ struct IAvnMenuFlyout { const IAvnMenuFlyoutVtbl* vtbl; }; #define I_AVN_MENU_FLYOUT_VTABLE_SLOTS 45 static const AvnGuid I_AVN_MENU_ITEM_IID = { - 0x1A9E2536, - 0x7437, - 0x553C, - { 0xAF, 0xB6, 0x68, 0x1C, 0xF1, 0x50, 0x21, 0xFF } + 0x1863F45C, + 0x1039, + 0x5C4E, + { 0x96, 0x68, 0x43, 0x36, 0x06, 0xE9, 0x1A, 0xB9 } }; -#define I_AVN_MENU_ITEM_ABI_VERSION 15 +#define I_AVN_MENU_ITEM_ABI_VERSION 18 struct IAvnMenuItemVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnMenuItem* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnMenuItem* self); /* slot 1 */ @@ -8014,119 +8824,134 @@ struct IAvnMenuItemVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnMenuItem* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnMenuItem* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnMenuItem* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnMenuItem* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnMenuItem* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnMenuItem* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnMenuItem* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnMenuItem* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnMenuItem* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnMenuItem* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnMenuItem* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnMenuItem* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnMenuItem* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnMenuItem* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnMenuItem* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnMenuItem* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnMenuItem* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnMenuItem* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnMenuItem* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnMenuItem* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnMenuItem* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnMenuItem* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnMenuItem* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnMenuItem* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnMenuItem* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnMenuItem* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnMenuItem* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnMenuItem* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnMenuItem* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnMenuItem* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnMenuItem* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnMenuItem* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnMenuItem* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnMenuItem* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnMenuItem* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnMenuItem* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnMenuItem* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnMenuItem* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnMenuItem* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnMenuItem* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnMenuItem* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnMenuItem* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnMenuItem* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnMenuItem* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnMenuItem* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnMenuItem* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnMenuItem* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnMenuItem* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnMenuItem* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnMenuItem* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnMenuItem* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnMenuItem* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnMenuItem* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnMenuItem* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnMenuItem* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnMenuItem* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnMenuItem* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnMenuItem* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnMenuItem* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selected_index)(IAvnMenuItem* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selected_index)(IAvnMenuItem* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnMenuItem* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnMenuItem* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_value)(IAvnMenuItem* self, AvnVariant* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_value)(IAvnMenuItem* self, AvnVariant value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnMenuItem* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnMenuItem* self, int32_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_wrap_selection)(IAvnMenuItem* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_wrap_selection)(IAvnMenuItem* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnMenuItem* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnMenuItem* self, int64_t subscription_id); /* slot 122 */ - AvnHResult (AVN_CALL *get_header)(IAvnMenuItem* self, IAvnControl** value); /* slot 123 */ - AvnHResult (AVN_CALL *set_header)(IAvnMenuItem* self, IAvnControl* value); /* slot 124 */ - AvnHResult (AVN_CALL *get_header_template)(IAvnMenuItem* self, IAvnDataTemplate** value); /* slot 125 */ - AvnHResult (AVN_CALL *set_header_template)(IAvnMenuItem* self, IAvnDataTemplate* value); /* slot 126 */ - AvnHResult (AVN_CALL *get_command)(IAvnMenuItem* self, IAvnCommand** value); /* slot 127 */ - AvnHResult (AVN_CALL *set_command)(IAvnMenuItem* self, IAvnCommand* value); /* slot 128 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnMenuItem* self, uint16_t** value); /* slot 129 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnMenuItem* self, const uint16_t* value); /* slot 130 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnMenuItem* self, AvnVariant* value); /* slot 131 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnMenuItem* self, AvnVariant value); /* slot 132 */ - AvnHResult (AVN_CALL *get_icon)(IAvnMenuItem* self, IAvnControl** value); /* slot 133 */ - AvnHResult (AVN_CALL *set_icon)(IAvnMenuItem* self, IAvnControl* value); /* slot 134 */ - AvnHResult (AVN_CALL *get_input_gesture)(IAvnMenuItem* self, uint16_t** value); /* slot 135 */ - AvnHResult (AVN_CALL *set_input_gesture)(IAvnMenuItem* self, const uint16_t* value); /* slot 136 */ - AvnHResult (AVN_CALL *get_is_selected)(IAvnMenuItem* self, int32_t* value); /* slot 137 */ - AvnHResult (AVN_CALL *set_is_selected)(IAvnMenuItem* self, int32_t value); /* slot 138 */ - AvnHResult (AVN_CALL *get_is_sub_menu_open)(IAvnMenuItem* self, int32_t* value); /* slot 139 */ - AvnHResult (AVN_CALL *set_is_sub_menu_open)(IAvnMenuItem* self, int32_t value); /* slot 140 */ - AvnHResult (AVN_CALL *get_stays_open_on_click)(IAvnMenuItem* self, int32_t* value); /* slot 141 */ - AvnHResult (AVN_CALL *set_stays_open_on_click)(IAvnMenuItem* self, int32_t value); /* slot 142 */ - AvnHResult (AVN_CALL *get_toggle_type)(IAvnMenuItem* self, int32_t* value); /* slot 143 */ - AvnHResult (AVN_CALL *set_toggle_type)(IAvnMenuItem* self, int32_t value); /* slot 144 */ - AvnHResult (AVN_CALL *get_is_checked)(IAvnMenuItem* self, int32_t* value); /* slot 145 */ - AvnHResult (AVN_CALL *set_is_checked)(IAvnMenuItem* self, int32_t value); /* slot 146 */ - AvnHResult (AVN_CALL *get_group_name)(IAvnMenuItem* self, uint16_t** value); /* slot 147 */ - AvnHResult (AVN_CALL *set_group_name)(IAvnMenuItem* self, const uint16_t* value); /* slot 148 */ - AvnHResult (AVN_CALL *get_has_sub_menu)(IAvnMenuItem* self, int32_t* value); /* slot 149 */ - AvnHResult (AVN_CALL *get_is_top_level)(IAvnMenuItem* self, int32_t* value); /* slot 150 */ - AvnHResult (AVN_CALL *open)(IAvnMenuItem* self); /* slot 151 */ - AvnHResult (AVN_CALL *close)(IAvnMenuItem* self); /* slot 152 */ - AvnHResult (AVN_CALL *advise_click)(IAvnMenuItem* self, IAvnMenuItemClickHandler* handler, int64_t* subscription_id); /* slot 153 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnMenuItem* self, int64_t subscription_id); /* slot 154 */ - AvnHResult (AVN_CALL *advise_submenu_opened)(IAvnMenuItem* self, IAvnMenuItemSubmenuOpenedHandler* handler, int64_t* subscription_id); /* slot 155 */ - AvnHResult (AVN_CALL *unadvise_submenu_opened)(IAvnMenuItem* self, int64_t subscription_id); /* slot 156 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnMenuItem* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnMenuItem* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnMenuItem* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnMenuItem* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnMenuItem* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnMenuItem* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnMenuItem* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnMenuItem* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnMenuItem* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnMenuItem* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnMenuItem* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnMenuItem* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnMenuItem* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnMenuItem* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnMenuItem* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnMenuItem* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnMenuItem* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnMenuItem* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnMenuItem* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnMenuItem* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnMenuItem* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnMenuItem* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnMenuItem* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnMenuItem* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnMenuItem* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnMenuItem* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnMenuItem* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnMenuItem* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnMenuItem* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnMenuItem* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnMenuItem* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnMenuItem* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnMenuItem* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnMenuItem* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnMenuItem* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnMenuItem* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnMenuItem* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnMenuItem* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnMenuItem* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnMenuItem* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnMenuItem* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnMenuItem* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnMenuItem* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnMenuItem* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnMenuItem* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnMenuItem* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnMenuItem* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnMenuItem* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnMenuItem* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnMenuItem* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnMenuItem* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnMenuItem* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnMenuItem* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnMenuItem* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnMenuItem* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnMenuItem* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnMenuItem* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnMenuItem* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnMenuItem* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnMenuItem* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnMenuItem* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnMenuItem* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnMenuItem* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnMenuItem* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnMenuItem* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnMenuItem* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnMenuItem* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnMenuItem* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnMenuItem* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnMenuItem* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnMenuItem* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selected_index)(IAvnMenuItem* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selected_index)(IAvnMenuItem* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnMenuItem* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnMenuItem* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_value)(IAvnMenuItem* self, AvnVariant* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_value)(IAvnMenuItem* self, AvnVariant value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnMenuItem* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnMenuItem* self, int32_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_wrap_selection)(IAvnMenuItem* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_wrap_selection)(IAvnMenuItem* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnMenuItem* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnMenuItem* self, int64_t subscription_id); /* slot 137 */ + AvnHResult (AVN_CALL *get_header)(IAvnMenuItem* self, IAvnControl** value); /* slot 138 */ + AvnHResult (AVN_CALL *set_header)(IAvnMenuItem* self, IAvnControl* value); /* slot 139 */ + AvnHResult (AVN_CALL *get_header_template)(IAvnMenuItem* self, IAvnDataTemplate** value); /* slot 140 */ + AvnHResult (AVN_CALL *set_header_template)(IAvnMenuItem* self, IAvnDataTemplate* value); /* slot 141 */ + AvnHResult (AVN_CALL *get_command)(IAvnMenuItem* self, IAvnCommand** value); /* slot 142 */ + AvnHResult (AVN_CALL *set_command)(IAvnMenuItem* self, IAvnCommand* value); /* slot 143 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnMenuItem* self, uint16_t** value); /* slot 144 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnMenuItem* self, const uint16_t* value); /* slot 145 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnMenuItem* self, AvnVariant* value); /* slot 146 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnMenuItem* self, AvnVariant value); /* slot 147 */ + AvnHResult (AVN_CALL *get_icon)(IAvnMenuItem* self, IAvnControl** value); /* slot 148 */ + AvnHResult (AVN_CALL *set_icon)(IAvnMenuItem* self, IAvnControl* value); /* slot 149 */ + AvnHResult (AVN_CALL *get_input_gesture)(IAvnMenuItem* self, uint16_t** value); /* slot 150 */ + AvnHResult (AVN_CALL *set_input_gesture)(IAvnMenuItem* self, const uint16_t* value); /* slot 151 */ + AvnHResult (AVN_CALL *get_is_selected)(IAvnMenuItem* self, int32_t* value); /* slot 152 */ + AvnHResult (AVN_CALL *set_is_selected)(IAvnMenuItem* self, int32_t value); /* slot 153 */ + AvnHResult (AVN_CALL *get_is_sub_menu_open)(IAvnMenuItem* self, int32_t* value); /* slot 154 */ + AvnHResult (AVN_CALL *set_is_sub_menu_open)(IAvnMenuItem* self, int32_t value); /* slot 155 */ + AvnHResult (AVN_CALL *get_stays_open_on_click)(IAvnMenuItem* self, int32_t* value); /* slot 156 */ + AvnHResult (AVN_CALL *set_stays_open_on_click)(IAvnMenuItem* self, int32_t value); /* slot 157 */ + AvnHResult (AVN_CALL *get_toggle_type)(IAvnMenuItem* self, int32_t* value); /* slot 158 */ + AvnHResult (AVN_CALL *set_toggle_type)(IAvnMenuItem* self, int32_t value); /* slot 159 */ + AvnHResult (AVN_CALL *get_is_checked)(IAvnMenuItem* self, int32_t* value); /* slot 160 */ + AvnHResult (AVN_CALL *set_is_checked)(IAvnMenuItem* self, int32_t value); /* slot 161 */ + AvnHResult (AVN_CALL *get_group_name)(IAvnMenuItem* self, uint16_t** value); /* slot 162 */ + AvnHResult (AVN_CALL *set_group_name)(IAvnMenuItem* self, const uint16_t* value); /* slot 163 */ + AvnHResult (AVN_CALL *get_has_sub_menu)(IAvnMenuItem* self, int32_t* value); /* slot 164 */ + AvnHResult (AVN_CALL *get_is_top_level)(IAvnMenuItem* self, int32_t* value); /* slot 165 */ + AvnHResult (AVN_CALL *open)(IAvnMenuItem* self); /* slot 166 */ + AvnHResult (AVN_CALL *close)(IAvnMenuItem* self); /* slot 167 */ + AvnHResult (AVN_CALL *advise_click)(IAvnMenuItem* self, IAvnMenuItemClickHandler* handler, int64_t* subscription_id); /* slot 168 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnMenuItem* self, int64_t subscription_id); /* slot 169 */ + AvnHResult (AVN_CALL *advise_submenu_opened)(IAvnMenuItem* self, IAvnMenuItemSubmenuOpenedHandler* handler, int64_t* subscription_id); /* slot 170 */ + AvnHResult (AVN_CALL *unadvise_submenu_opened)(IAvnMenuItem* self, int64_t subscription_id); /* slot 171 */ }; struct IAvnMenuItem { const IAvnMenuItemVtbl* vtbl; }; -#define I_AVN_MENU_ITEM_VTABLE_SLOTS 157 +#define I_AVN_MENU_ITEM_VTABLE_SLOTS 172 static const AvnGuid I_AVN_NOTIFICATION_CARD_IID = { - 0xDF540B6A, - 0x58F6, - 0x59F6, - { 0xB3, 0xDB, 0xF8, 0xFD, 0x04, 0x66, 0x54, 0x02 } + 0x9E79955D, + 0x2569, + 0x59C2, + { 0x9A, 0x3A, 0x25, 0xFE, 0x0A, 0xE5, 0x60, 0x26 } }; -#define I_AVN_NOTIFICATION_CARD_ABI_VERSION 10 +#define I_AVN_NOTIFICATION_CARD_ABI_VERSION 13 struct IAvnNotificationCardVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnNotificationCard* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnNotificationCard* self); /* slot 1 */ @@ -8183,75 +9008,90 @@ struct IAvnNotificationCardVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnNotificationCard* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnNotificationCard* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnNotificationCard* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnNotificationCard* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnNotificationCard* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnNotificationCard* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnNotificationCard* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnNotificationCard* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnNotificationCard* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnNotificationCard* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnNotificationCard* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnNotificationCard* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnNotificationCard* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnNotificationCard* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnNotificationCard* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnNotificationCard* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnNotificationCard* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnNotificationCard* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnNotificationCard* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnNotificationCard* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnNotificationCard* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnNotificationCard* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnNotificationCard* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnNotificationCard* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnNotificationCard* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnNotificationCard* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnNotificationCard* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnNotificationCard* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnNotificationCard* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnNotificationCard* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnNotificationCard* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnNotificationCard* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnNotificationCard* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnNotificationCard* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnNotificationCard* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnNotificationCard* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnNotificationCard* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnNotificationCard* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnNotificationCard* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnNotificationCard* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnNotificationCard* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnNotificationCard* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnNotificationCard* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnNotificationCard* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnNotificationCard* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnNotificationCard* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnNotificationCard* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_is_closing)(IAvnNotificationCard* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *get_is_closed)(IAvnNotificationCard* self, int32_t* value); /* slot 106 */ - AvnHResult (AVN_CALL *set_is_closed)(IAvnNotificationCard* self, int32_t value); /* slot 107 */ - AvnHResult (AVN_CALL *get_notification_type)(IAvnNotificationCard* self, int32_t* value); /* slot 108 */ - AvnHResult (AVN_CALL *set_notification_type)(IAvnNotificationCard* self, int32_t value); /* slot 109 */ - AvnHResult (AVN_CALL *close)(IAvnNotificationCard* self); /* slot 110 */ - AvnHResult (AVN_CALL *advise_notification_closed)(IAvnNotificationCard* self, IAvnNotificationCardNotificationClosedHandler* handler, int64_t* subscription_id); /* slot 111 */ - AvnHResult (AVN_CALL *unadvise_notification_closed)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 112 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnNotificationCard* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnNotificationCard* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnNotificationCard* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnNotificationCard* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnNotificationCard* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnNotificationCard* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnNotificationCard* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnNotificationCard* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnNotificationCard* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnNotificationCard* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnNotificationCard* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnNotificationCard* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnNotificationCard* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnNotificationCard* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnNotificationCard* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnNotificationCard* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnNotificationCard* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnNotificationCard* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnNotificationCard* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnNotificationCard* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnNotificationCard* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnNotificationCard* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnNotificationCard* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnNotificationCard* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnNotificationCard* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnNotificationCard* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnNotificationCard* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnNotificationCard* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnNotificationCard* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnNotificationCard* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnNotificationCard* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnNotificationCard* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnNotificationCard* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnNotificationCard* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnNotificationCard* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnNotificationCard* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnNotificationCard* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnNotificationCard* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnNotificationCard* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnNotificationCard* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnNotificationCard* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnNotificationCard* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnNotificationCard* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnNotificationCard* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnNotificationCard* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnNotificationCard* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnNotificationCard* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnNotificationCard* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnNotificationCard* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnNotificationCard* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnNotificationCard* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnNotificationCard* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnNotificationCard* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_is_closing)(IAvnNotificationCard* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *get_is_closed)(IAvnNotificationCard* self, int32_t* value); /* slot 121 */ + AvnHResult (AVN_CALL *set_is_closed)(IAvnNotificationCard* self, int32_t value); /* slot 122 */ + AvnHResult (AVN_CALL *get_notification_type)(IAvnNotificationCard* self, int32_t* value); /* slot 123 */ + AvnHResult (AVN_CALL *set_notification_type)(IAvnNotificationCard* self, int32_t value); /* slot 124 */ + AvnHResult (AVN_CALL *close)(IAvnNotificationCard* self); /* slot 125 */ + AvnHResult (AVN_CALL *advise_notification_closed)(IAvnNotificationCard* self, IAvnNotificationCardNotificationClosedHandler* handler, int64_t* subscription_id); /* slot 126 */ + AvnHResult (AVN_CALL *unadvise_notification_closed)(IAvnNotificationCard* self, int64_t subscription_id); /* slot 127 */ }; struct IAvnNotificationCard { const IAvnNotificationCardVtbl* vtbl; }; -#define I_AVN_NOTIFICATION_CARD_VTABLE_SLOTS 113 +#define I_AVN_NOTIFICATION_CARD_VTABLE_SLOTS 128 static const AvnGuid I_AVN_NUMERIC_UP_DOWN_IID = { - 0x5F487A30, - 0x39D1, - 0x524A, - { 0x9A, 0x6E, 0x01, 0xE5, 0x84, 0x45, 0x2E, 0x03 } + 0x5B2AA4AD, + 0xE367, + 0x58A1, + { 0x99, 0xED, 0x81, 0x22, 0xD7, 0xC9, 0xB2, 0x09 } }; -#define I_AVN_NUMERIC_UP_DOWN_ABI_VERSION 10 +#define I_AVN_NUMERIC_UP_DOWN_ABI_VERSION 13 struct IAvnNumericUpDownVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnNumericUpDown* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnNumericUpDown* self); /* slot 1 */ @@ -8308,99 +9148,114 @@ struct IAvnNumericUpDownVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnNumericUpDown* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnNumericUpDown* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnNumericUpDown* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnNumericUpDown* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnNumericUpDown* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnNumericUpDown* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnNumericUpDown* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnNumericUpDown* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnNumericUpDown* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnNumericUpDown* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnNumericUpDown* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnNumericUpDown* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnNumericUpDown* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnNumericUpDown* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnNumericUpDown* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnNumericUpDown* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnNumericUpDown* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnNumericUpDown* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnNumericUpDown* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnNumericUpDown* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnNumericUpDown* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnNumericUpDown* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnNumericUpDown* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnNumericUpDown* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnNumericUpDown* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnNumericUpDown* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnNumericUpDown* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnNumericUpDown* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnNumericUpDown* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnNumericUpDown* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnNumericUpDown* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnNumericUpDown* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnNumericUpDown* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnNumericUpDown* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnNumericUpDown* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnNumericUpDown* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnNumericUpDown* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_allow_spin)(IAvnNumericUpDown* self, int32_t* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_allow_spin)(IAvnNumericUpDown* self, int32_t value); /* slot 98 */ - AvnHResult (AVN_CALL *get_button_spinner_location)(IAvnNumericUpDown* self, int32_t* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_button_spinner_location)(IAvnNumericUpDown* self, int32_t value); /* slot 100 */ - AvnHResult (AVN_CALL *get_show_button_spinner)(IAvnNumericUpDown* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_show_button_spinner)(IAvnNumericUpDown* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_clip_value_to_min_max)(IAvnNumericUpDown* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_clip_value_to_min_max)(IAvnNumericUpDown* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_format_string)(IAvnNumericUpDown* self, uint16_t** value); /* slot 105 */ - AvnHResult (AVN_CALL *set_format_string)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 106 */ - AvnHResult (AVN_CALL *get_increment)(IAvnNumericUpDown* self, uint16_t** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_increment)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_is_read_only)(IAvnNumericUpDown* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_is_read_only)(IAvnNumericUpDown* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_maximum)(IAvnNumericUpDown* self, uint16_t** value); /* slot 111 */ - AvnHResult (AVN_CALL *set_maximum)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 112 */ - AvnHResult (AVN_CALL *get_minimum)(IAvnNumericUpDown* self, uint16_t** value); /* slot 113 */ - AvnHResult (AVN_CALL *set_minimum)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 114 */ - AvnHResult (AVN_CALL *get_text)(IAvnNumericUpDown* self, uint16_t** value); /* slot 115 */ - AvnHResult (AVN_CALL *set_text)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 116 */ - AvnHResult (AVN_CALL *get_value)(IAvnNumericUpDown* self, uint16_t** value); /* slot 117 */ - AvnHResult (AVN_CALL *set_value)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 118 */ - AvnHResult (AVN_CALL *get_placeholder_text)(IAvnNumericUpDown* self, uint16_t** value); /* slot 119 */ - AvnHResult (AVN_CALL *set_placeholder_text)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 120 */ - AvnHResult (AVN_CALL *get_placeholder_foreground)(IAvnNumericUpDown* self, IAvnBrush** value); /* slot 121 */ - AvnHResult (AVN_CALL *set_placeholder_foreground)(IAvnNumericUpDown* self, IAvnBrush* value); /* slot 122 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnNumericUpDown* self, int32_t* value); /* slot 123 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnNumericUpDown* self, int32_t value); /* slot 124 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnNumericUpDown* self, int32_t* value); /* slot 125 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnNumericUpDown* self, int32_t value); /* slot 126 */ - AvnHResult (AVN_CALL *get_text_alignment)(IAvnNumericUpDown* self, int32_t* value); /* slot 127 */ - AvnHResult (AVN_CALL *set_text_alignment)(IAvnNumericUpDown* self, int32_t value); /* slot 128 */ - AvnHResult (AVN_CALL *get_inner_left_content)(IAvnNumericUpDown* self, IAvnControl** value); /* slot 129 */ - AvnHResult (AVN_CALL *set_inner_left_content)(IAvnNumericUpDown* self, IAvnControl* value); /* slot 130 */ - AvnHResult (AVN_CALL *get_inner_right_content)(IAvnNumericUpDown* self, IAvnControl** value); /* slot 131 */ - AvnHResult (AVN_CALL *set_inner_right_content)(IAvnNumericUpDown* self, IAvnControl* value); /* slot 132 */ - AvnHResult (AVN_CALL *advise_spinned)(IAvnNumericUpDown* self, IAvnNumericUpDownSpinnedHandler* handler, int64_t* subscription_id); /* slot 133 */ - AvnHResult (AVN_CALL *unadvise_spinned)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 134 */ - AvnHResult (AVN_CALL *advise_value_changed)(IAvnNumericUpDown* self, IAvnNumericUpDownValueChangedHandler* handler, int64_t* subscription_id); /* slot 135 */ - AvnHResult (AVN_CALL *unadvise_value_changed)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnNumericUpDown* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnNumericUpDown* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnNumericUpDown* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnNumericUpDown* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnNumericUpDown* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnNumericUpDown* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnNumericUpDown* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnNumericUpDown* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnNumericUpDown* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnNumericUpDown* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnNumericUpDown* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnNumericUpDown* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnNumericUpDown* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnNumericUpDown* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnNumericUpDown* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnNumericUpDown* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnNumericUpDown* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnNumericUpDown* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnNumericUpDown* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnNumericUpDown* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnNumericUpDown* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnNumericUpDown* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnNumericUpDown* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnNumericUpDown* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnNumericUpDown* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnNumericUpDown* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnNumericUpDown* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnNumericUpDown* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnNumericUpDown* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnNumericUpDown* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnNumericUpDown* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnNumericUpDown* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnNumericUpDown* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnNumericUpDown* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnNumericUpDown* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnNumericUpDown* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnNumericUpDown* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnNumericUpDown* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnNumericUpDown* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnNumericUpDown* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnNumericUpDown* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnNumericUpDown* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnNumericUpDown* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_allow_spin)(IAvnNumericUpDown* self, int32_t* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_allow_spin)(IAvnNumericUpDown* self, int32_t value); /* slot 113 */ + AvnHResult (AVN_CALL *get_button_spinner_location)(IAvnNumericUpDown* self, int32_t* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_button_spinner_location)(IAvnNumericUpDown* self, int32_t value); /* slot 115 */ + AvnHResult (AVN_CALL *get_show_button_spinner)(IAvnNumericUpDown* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_show_button_spinner)(IAvnNumericUpDown* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_clip_value_to_min_max)(IAvnNumericUpDown* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_clip_value_to_min_max)(IAvnNumericUpDown* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_format_string)(IAvnNumericUpDown* self, uint16_t** value); /* slot 120 */ + AvnHResult (AVN_CALL *set_format_string)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 121 */ + AvnHResult (AVN_CALL *get_increment)(IAvnNumericUpDown* self, uint16_t** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_increment)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_is_read_only)(IAvnNumericUpDown* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_is_read_only)(IAvnNumericUpDown* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_maximum)(IAvnNumericUpDown* self, uint16_t** value); /* slot 126 */ + AvnHResult (AVN_CALL *set_maximum)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 127 */ + AvnHResult (AVN_CALL *get_minimum)(IAvnNumericUpDown* self, uint16_t** value); /* slot 128 */ + AvnHResult (AVN_CALL *set_minimum)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 129 */ + AvnHResult (AVN_CALL *get_text)(IAvnNumericUpDown* self, uint16_t** value); /* slot 130 */ + AvnHResult (AVN_CALL *set_text)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 131 */ + AvnHResult (AVN_CALL *get_value)(IAvnNumericUpDown* self, uint16_t** value); /* slot 132 */ + AvnHResult (AVN_CALL *set_value)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 133 */ + AvnHResult (AVN_CALL *get_placeholder_text)(IAvnNumericUpDown* self, uint16_t** value); /* slot 134 */ + AvnHResult (AVN_CALL *set_placeholder_text)(IAvnNumericUpDown* self, const uint16_t* value); /* slot 135 */ + AvnHResult (AVN_CALL *get_placeholder_foreground)(IAvnNumericUpDown* self, IAvnBrush** value); /* slot 136 */ + AvnHResult (AVN_CALL *set_placeholder_foreground)(IAvnNumericUpDown* self, IAvnBrush* value); /* slot 137 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnNumericUpDown* self, int32_t* value); /* slot 138 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnNumericUpDown* self, int32_t value); /* slot 139 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnNumericUpDown* self, int32_t* value); /* slot 140 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnNumericUpDown* self, int32_t value); /* slot 141 */ + AvnHResult (AVN_CALL *get_text_alignment)(IAvnNumericUpDown* self, int32_t* value); /* slot 142 */ + AvnHResult (AVN_CALL *set_text_alignment)(IAvnNumericUpDown* self, int32_t value); /* slot 143 */ + AvnHResult (AVN_CALL *get_inner_left_content)(IAvnNumericUpDown* self, IAvnControl** value); /* slot 144 */ + AvnHResult (AVN_CALL *set_inner_left_content)(IAvnNumericUpDown* self, IAvnControl* value); /* slot 145 */ + AvnHResult (AVN_CALL *get_inner_right_content)(IAvnNumericUpDown* self, IAvnControl** value); /* slot 146 */ + AvnHResult (AVN_CALL *set_inner_right_content)(IAvnNumericUpDown* self, IAvnControl* value); /* slot 147 */ + AvnHResult (AVN_CALL *advise_spinned)(IAvnNumericUpDown* self, IAvnNumericUpDownSpinnedHandler* handler, int64_t* subscription_id); /* slot 148 */ + AvnHResult (AVN_CALL *unadvise_spinned)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 149 */ + AvnHResult (AVN_CALL *advise_value_changed)(IAvnNumericUpDown* self, IAvnNumericUpDownValueChangedHandler* handler, int64_t* subscription_id); /* slot 150 */ + AvnHResult (AVN_CALL *unadvise_value_changed)(IAvnNumericUpDown* self, int64_t subscription_id); /* slot 151 */ }; struct IAvnNumericUpDown { const IAvnNumericUpDownVtbl* vtbl; }; -#define I_AVN_NUMERIC_UP_DOWN_VTABLE_SLOTS 137 +#define I_AVN_NUMERIC_UP_DOWN_VTABLE_SLOTS 152 static const AvnGuid I_AVN_PANEL_IID = { - 0x79DAA937, - 0xB232, - 0x5B99, - { 0x84, 0xFB, 0xE3, 0xD6, 0x41, 0x24, 0xED, 0xA5 } + 0xFE37643D, + 0xBDE5, + 0x511B, + { 0xAB, 0x66, 0xCB, 0x66, 0xB7, 0x3F, 0x68, 0x5F } }; -#define I_AVN_PANEL_ABI_VERSION 11 +#define I_AVN_PANEL_ABI_VERSION 14 struct IAvnPanelVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnPanel* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnPanel* self); /* slot 1 */ @@ -8457,34 +9312,49 @@ struct IAvnPanelVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnPanel* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnPanel* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnPanel* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnPanel* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnPanel* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnPanel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPanel* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnPanel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPanel* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnPanel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPanel* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnPanel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPanel* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPanel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPanel* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPanel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPanel* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_children)(IAvnPanel* self, IAvnControlList** value); /* slot 69 */ - AvnHResult (AVN_CALL *get_background)(IAvnPanel* self, IAvnBrush** value); /* slot 70 */ - AvnHResult (AVN_CALL *set_background)(IAvnPanel* self, IAvnBrush* value); /* slot 71 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnPanel* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnPanel* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnPanel* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnPanel* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnPanel* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnPanel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPanel* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnPanel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPanel* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnPanel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPanel* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnPanel* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnPanel* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnPanel* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnPanel* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnPanel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPanel* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnPanel* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnPanel* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPanel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPanel* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPanel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPanel* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnPanel* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnPanel* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnPanel* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnPanel* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnPanel* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnPanel* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_children)(IAvnPanel* self, IAvnControlList** value); /* slot 84 */ + AvnHResult (AVN_CALL *get_background)(IAvnPanel* self, IAvnBrush** value); /* slot 85 */ + AvnHResult (AVN_CALL *set_background)(IAvnPanel* self, IAvnBrush* value); /* slot 86 */ }; struct IAvnPanel { const IAvnPanelVtbl* vtbl; }; -#define I_AVN_PANEL_VTABLE_SLOTS 72 +#define I_AVN_PANEL_VTABLE_SLOTS 87 static const AvnGuid I_AVN_PATH_IID = { - 0x4EC11C5B, - 0x9EAE, - 0x57CB, - { 0xAC, 0xC2, 0xEB, 0x2E, 0x60, 0x94, 0x90, 0xAC } + 0xE663EA07, + 0xD965, + 0x5E67, + { 0x92, 0x2A, 0xCA, 0x93, 0x2B, 0x48, 0x83, 0xEF } }; -#define I_AVN_PATH_ABI_VERSION 8 +#define I_AVN_PATH_ABI_VERSION 11 struct IAvnPathVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnPath* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnPath* self); /* slot 1 */ @@ -8541,51 +9411,66 @@ struct IAvnPathVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnPath* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnPath* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnPath* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnPath* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnPath* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnPath* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPath* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnPath* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPath* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnPath* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPath* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnPath* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPath* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPath* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPath* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPath* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPath* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_fill)(IAvnPath* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_fill)(IAvnPath* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_stretch)(IAvnPath* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_stretch)(IAvnPath* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_stroke)(IAvnPath* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_stroke)(IAvnPath* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnPath* self, uint16_t** value); /* slot 75 */ - AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnPath* self, const uint16_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnPath* self, double* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnPath* self, double value); /* slot 78 */ - AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnPath* self, double* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnPath* self, double value); /* slot 80 */ - AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnPath* self, int32_t* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnPath* self, int32_t value); /* slot 82 */ - AvnHResult (AVN_CALL *get_stroke_join)(IAvnPath* self, int32_t* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_stroke_join)(IAvnPath* self, int32_t value); /* slot 84 */ - AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnPath* self, double* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnPath* self, double value); /* slot 86 */ - AvnHResult (AVN_CALL *get_data)(IAvnPath* self, uint16_t** value); /* slot 87 */ - AvnHResult (AVN_CALL *set_data)(IAvnPath* self, const uint16_t* value); /* slot 88 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnPath* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnPath* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnPath* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnPath* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnPath* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnPath* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPath* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnPath* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPath* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnPath* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPath* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnPath* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnPath* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnPath* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnPath* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnPath* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPath* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnPath* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnPath* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPath* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPath* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPath* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPath* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnPath* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnPath* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnPath* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnPath* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnPath* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnPath* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_fill)(IAvnPath* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_fill)(IAvnPath* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_stretch)(IAvnPath* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_stretch)(IAvnPath* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_stroke)(IAvnPath* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_stroke)(IAvnPath* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnPath* self, uint16_t** value); /* slot 90 */ + AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnPath* self, const uint16_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnPath* self, double* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnPath* self, double value); /* slot 93 */ + AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnPath* self, double* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnPath* self, double value); /* slot 95 */ + AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnPath* self, int32_t* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnPath* self, int32_t value); /* slot 97 */ + AvnHResult (AVN_CALL *get_stroke_join)(IAvnPath* self, int32_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_stroke_join)(IAvnPath* self, int32_t value); /* slot 99 */ + AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnPath* self, double* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnPath* self, double value); /* slot 101 */ + AvnHResult (AVN_CALL *get_data)(IAvnPath* self, uint16_t** value); /* slot 102 */ + AvnHResult (AVN_CALL *set_data)(IAvnPath* self, const uint16_t* value); /* slot 103 */ }; struct IAvnPath { const IAvnPathVtbl* vtbl; }; -#define I_AVN_PATH_VTABLE_SLOTS 89 +#define I_AVN_PATH_VTABLE_SLOTS 104 static const AvnGuid I_AVN_PATH_ICON_IID = { - 0xF220C58A, - 0x4D65, - 0x5882, - { 0x8D, 0x9D, 0xEB, 0xE5, 0xF0, 0xA1, 0xD9, 0xA4 } + 0x9C821A9C, + 0x6A11, + 0x5E74, + { 0x8D, 0x69, 0xA6, 0x37, 0x66, 0x2C, 0xD2, 0x92 } }; -#define I_AVN_PATH_ICON_ABI_VERSION 9 +#define I_AVN_PATH_ICON_ABI_VERSION 12 struct IAvnPathIconVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnPathIcon* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnPathIcon* self); /* slot 1 */ @@ -8642,61 +9527,76 @@ struct IAvnPathIconVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnPathIcon* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnPathIcon* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnPathIcon* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnPathIcon* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnPathIcon* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnPathIcon* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPathIcon* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnPathIcon* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPathIcon* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnPathIcon* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPathIcon* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnPathIcon* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPathIcon* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPathIcon* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPathIcon* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPathIcon* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPathIcon* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnPathIcon* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnPathIcon* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnPathIcon* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnPathIcon* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnPathIcon* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnPathIcon* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnPathIcon* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnPathIcon* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnPathIcon* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnPathIcon* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnPathIcon* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnPathIcon* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnPathIcon* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnPathIcon* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnPathIcon* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnPathIcon* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnPathIcon* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnPathIcon* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnPathIcon* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnPathIcon* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnPathIcon* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnPathIcon* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnPathIcon* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnPathIcon* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnPathIcon* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnPathIcon* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnPathIcon* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnPathIcon* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_data)(IAvnPathIcon* self, uint16_t** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_data)(IAvnPathIcon* self, const uint16_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnPathIcon* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnPathIcon* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnPathIcon* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnPathIcon* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnPathIcon* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnPathIcon* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPathIcon* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnPathIcon* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPathIcon* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnPathIcon* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPathIcon* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnPathIcon* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnPathIcon* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnPathIcon* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnPathIcon* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnPathIcon* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPathIcon* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnPathIcon* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnPathIcon* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPathIcon* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPathIcon* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPathIcon* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPathIcon* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnPathIcon* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnPathIcon* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnPathIcon* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnPathIcon* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnPathIcon* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnPathIcon* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnPathIcon* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnPathIcon* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnPathIcon* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnPathIcon* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnPathIcon* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnPathIcon* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnPathIcon* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnPathIcon* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnPathIcon* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnPathIcon* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnPathIcon* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnPathIcon* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnPathIcon* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnPathIcon* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnPathIcon* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnPathIcon* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnPathIcon* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnPathIcon* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnPathIcon* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnPathIcon* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnPathIcon* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnPathIcon* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnPathIcon* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnPathIcon* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnPathIcon* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnPathIcon* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnPathIcon* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnPathIcon* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_data)(IAvnPathIcon* self, uint16_t** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_data)(IAvnPathIcon* self, const uint16_t* value); /* slot 113 */ }; struct IAvnPathIcon { const IAvnPathIconVtbl* vtbl; }; -#define I_AVN_PATH_ICON_VTABLE_SLOTS 99 +#define I_AVN_PATH_ICON_VTABLE_SLOTS 114 static const AvnGuid I_AVN_PIPS_PAGER_IID = { - 0x03DEC932, - 0x3B73, - 0x5A8C, - { 0x9C, 0xE7, 0x9E, 0x82, 0xF4, 0xFA, 0xDE, 0x70 } + 0xB23699D7, + 0xACE9, + 0x5D8F, + { 0x85, 0xED, 0x21, 0x6C, 0x49, 0xDE, 0xBE, 0x3E } }; -#define I_AVN_PIPS_PAGER_ABI_VERSION 10 +#define I_AVN_PIPS_PAGER_ABI_VERSION 13 struct IAvnPipsPagerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnPipsPager* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnPipsPager* self); /* slot 1 */ @@ -8753,73 +9653,88 @@ struct IAvnPipsPagerVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnPipsPager* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnPipsPager* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnPipsPager* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnPipsPager* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnPipsPager* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnPipsPager* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPipsPager* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnPipsPager* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPipsPager* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnPipsPager* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPipsPager* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnPipsPager* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPipsPager* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPipsPager* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPipsPager* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPipsPager* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPipsPager* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnPipsPager* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnPipsPager* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnPipsPager* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnPipsPager* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnPipsPager* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnPipsPager* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnPipsPager* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnPipsPager* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnPipsPager* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnPipsPager* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnPipsPager* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnPipsPager* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnPipsPager* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnPipsPager* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnPipsPager* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnPipsPager* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnPipsPager* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnPipsPager* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnPipsPager* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnPipsPager* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnPipsPager* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnPipsPager* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnPipsPager* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnPipsPager* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnPipsPager* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnPipsPager* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnPipsPager* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnPipsPager* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_max_visible_pips)(IAvnPipsPager* self, int32_t* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_max_visible_pips)(IAvnPipsPager* self, int32_t value); /* slot 98 */ - AvnHResult (AVN_CALL *get_is_next_button_visible)(IAvnPipsPager* self, int32_t* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_is_next_button_visible)(IAvnPipsPager* self, int32_t value); /* slot 100 */ - AvnHResult (AVN_CALL *get_number_of_pages)(IAvnPipsPager* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_number_of_pages)(IAvnPipsPager* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_orientation)(IAvnPipsPager* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_orientation)(IAvnPipsPager* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_is_previous_button_visible)(IAvnPipsPager* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_is_previous_button_visible)(IAvnPipsPager* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_selected_page_index)(IAvnPipsPager* self, int32_t* value); /* slot 107 */ - AvnHResult (AVN_CALL *set_selected_page_index)(IAvnPipsPager* self, int32_t value); /* slot 108 */ - AvnHResult (AVN_CALL *advise_selected_index_changed)(IAvnPipsPager* self, IAvnPipsPagerSelectedIndexChangedHandler* handler, int64_t* subscription_id); /* slot 109 */ - AvnHResult (AVN_CALL *unadvise_selected_index_changed)(IAvnPipsPager* self, int64_t subscription_id); /* slot 110 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnPipsPager* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnPipsPager* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnPipsPager* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnPipsPager* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnPipsPager* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnPipsPager* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPipsPager* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnPipsPager* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPipsPager* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnPipsPager* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPipsPager* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnPipsPager* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnPipsPager* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnPipsPager* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnPipsPager* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnPipsPager* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPipsPager* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnPipsPager* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnPipsPager* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPipsPager* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPipsPager* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPipsPager* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPipsPager* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnPipsPager* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnPipsPager* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnPipsPager* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnPipsPager* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnPipsPager* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnPipsPager* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnPipsPager* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnPipsPager* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnPipsPager* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnPipsPager* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnPipsPager* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnPipsPager* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnPipsPager* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnPipsPager* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnPipsPager* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnPipsPager* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnPipsPager* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnPipsPager* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnPipsPager* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnPipsPager* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnPipsPager* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnPipsPager* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnPipsPager* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnPipsPager* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnPipsPager* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnPipsPager* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnPipsPager* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnPipsPager* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnPipsPager* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnPipsPager* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnPipsPager* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnPipsPager* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnPipsPager* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnPipsPager* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_max_visible_pips)(IAvnPipsPager* self, int32_t* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_max_visible_pips)(IAvnPipsPager* self, int32_t value); /* slot 113 */ + AvnHResult (AVN_CALL *get_is_next_button_visible)(IAvnPipsPager* self, int32_t* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_is_next_button_visible)(IAvnPipsPager* self, int32_t value); /* slot 115 */ + AvnHResult (AVN_CALL *get_number_of_pages)(IAvnPipsPager* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_number_of_pages)(IAvnPipsPager* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_orientation)(IAvnPipsPager* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_orientation)(IAvnPipsPager* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_is_previous_button_visible)(IAvnPipsPager* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_is_previous_button_visible)(IAvnPipsPager* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_selected_page_index)(IAvnPipsPager* self, int32_t* value); /* slot 122 */ + AvnHResult (AVN_CALL *set_selected_page_index)(IAvnPipsPager* self, int32_t value); /* slot 123 */ + AvnHResult (AVN_CALL *advise_selected_index_changed)(IAvnPipsPager* self, IAvnPipsPagerSelectedIndexChangedHandler* handler, int64_t* subscription_id); /* slot 124 */ + AvnHResult (AVN_CALL *unadvise_selected_index_changed)(IAvnPipsPager* self, int64_t subscription_id); /* slot 125 */ }; struct IAvnPipsPager { const IAvnPipsPagerVtbl* vtbl; }; -#define I_AVN_PIPS_PAGER_VTABLE_SLOTS 111 +#define I_AVN_PIPS_PAGER_VTABLE_SLOTS 126 static const AvnGuid I_AVN_POLYGON_IID = { - 0x48E18C96, - 0x9363, - 0x5066, - { 0x9A, 0x67, 0x12, 0x3E, 0x15, 0x3A, 0x09, 0x19 } + 0x0AAD3814, + 0xFD24, + 0x5051, + { 0xAE, 0xD3, 0xFB, 0x09, 0x0E, 0x1C, 0x0A, 0x3F } }; -#define I_AVN_POLYGON_ABI_VERSION 8 +#define I_AVN_POLYGON_ABI_VERSION 11 struct IAvnPolygonVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnPolygon* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnPolygon* self); /* slot 1 */ @@ -8876,53 +9791,68 @@ struct IAvnPolygonVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnPolygon* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnPolygon* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnPolygon* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnPolygon* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnPolygon* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnPolygon* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPolygon* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnPolygon* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPolygon* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnPolygon* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPolygon* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnPolygon* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPolygon* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPolygon* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPolygon* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPolygon* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPolygon* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_fill)(IAvnPolygon* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_fill)(IAvnPolygon* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_stretch)(IAvnPolygon* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_stretch)(IAvnPolygon* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_stroke)(IAvnPolygon* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_stroke)(IAvnPolygon* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnPolygon* self, uint16_t** value); /* slot 75 */ - AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnPolygon* self, const uint16_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnPolygon* self, double* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnPolygon* self, double value); /* slot 78 */ - AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnPolygon* self, double* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnPolygon* self, double value); /* slot 80 */ - AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnPolygon* self, int32_t* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnPolygon* self, int32_t value); /* slot 82 */ - AvnHResult (AVN_CALL *get_stroke_join)(IAvnPolygon* self, int32_t* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_stroke_join)(IAvnPolygon* self, int32_t value); /* slot 84 */ - AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnPolygon* self, double* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnPolygon* self, double value); /* slot 86 */ - AvnHResult (AVN_CALL *get_points)(IAvnPolygon* self, uint16_t** value); /* slot 87 */ - AvnHResult (AVN_CALL *set_points)(IAvnPolygon* self, const uint16_t* value); /* slot 88 */ - AvnHResult (AVN_CALL *get_fill_rule)(IAvnPolygon* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_fill_rule)(IAvnPolygon* self, int32_t value); /* slot 90 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnPolygon* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnPolygon* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnPolygon* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnPolygon* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnPolygon* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnPolygon* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPolygon* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnPolygon* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPolygon* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnPolygon* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPolygon* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnPolygon* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnPolygon* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnPolygon* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnPolygon* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnPolygon* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPolygon* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnPolygon* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnPolygon* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPolygon* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPolygon* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPolygon* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPolygon* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnPolygon* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnPolygon* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnPolygon* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnPolygon* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnPolygon* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnPolygon* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_fill)(IAvnPolygon* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_fill)(IAvnPolygon* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_stretch)(IAvnPolygon* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_stretch)(IAvnPolygon* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_stroke)(IAvnPolygon* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_stroke)(IAvnPolygon* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnPolygon* self, uint16_t** value); /* slot 90 */ + AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnPolygon* self, const uint16_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnPolygon* self, double* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnPolygon* self, double value); /* slot 93 */ + AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnPolygon* self, double* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnPolygon* self, double value); /* slot 95 */ + AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnPolygon* self, int32_t* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnPolygon* self, int32_t value); /* slot 97 */ + AvnHResult (AVN_CALL *get_stroke_join)(IAvnPolygon* self, int32_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_stroke_join)(IAvnPolygon* self, int32_t value); /* slot 99 */ + AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnPolygon* self, double* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnPolygon* self, double value); /* slot 101 */ + AvnHResult (AVN_CALL *get_points)(IAvnPolygon* self, uint16_t** value); /* slot 102 */ + AvnHResult (AVN_CALL *set_points)(IAvnPolygon* self, const uint16_t* value); /* slot 103 */ + AvnHResult (AVN_CALL *get_fill_rule)(IAvnPolygon* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_fill_rule)(IAvnPolygon* self, int32_t value); /* slot 105 */ }; struct IAvnPolygon { const IAvnPolygonVtbl* vtbl; }; -#define I_AVN_POLYGON_VTABLE_SLOTS 91 +#define I_AVN_POLYGON_VTABLE_SLOTS 106 static const AvnGuid I_AVN_POLYLINE_IID = { - 0x9BACEFB3, - 0xB663, - 0x55EB, - { 0xAF, 0x28, 0x46, 0x00, 0x1B, 0xA3, 0xA3, 0x2B } + 0x5CBDF633, + 0x9B36, + 0x5DDE, + { 0xBF, 0xBE, 0x48, 0xFD, 0x2F, 0xA5, 0x4C, 0x99 } }; -#define I_AVN_POLYLINE_ABI_VERSION 8 +#define I_AVN_POLYLINE_ABI_VERSION 11 struct IAvnPolylineVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnPolyline* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnPolyline* self); /* slot 1 */ @@ -8979,53 +9909,68 @@ struct IAvnPolylineVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnPolyline* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnPolyline* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnPolyline* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnPolyline* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnPolyline* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnPolyline* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPolyline* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnPolyline* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPolyline* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnPolyline* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPolyline* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnPolyline* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPolyline* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPolyline* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPolyline* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPolyline* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPolyline* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_fill)(IAvnPolyline* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_fill)(IAvnPolyline* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_stretch)(IAvnPolyline* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_stretch)(IAvnPolyline* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_stroke)(IAvnPolyline* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_stroke)(IAvnPolyline* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnPolyline* self, uint16_t** value); /* slot 75 */ - AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnPolyline* self, const uint16_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnPolyline* self, double* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnPolyline* self, double value); /* slot 78 */ - AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnPolyline* self, double* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnPolyline* self, double value); /* slot 80 */ - AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnPolyline* self, int32_t* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnPolyline* self, int32_t value); /* slot 82 */ - AvnHResult (AVN_CALL *get_stroke_join)(IAvnPolyline* self, int32_t* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_stroke_join)(IAvnPolyline* self, int32_t value); /* slot 84 */ - AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnPolyline* self, double* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnPolyline* self, double value); /* slot 86 */ - AvnHResult (AVN_CALL *get_points)(IAvnPolyline* self, uint16_t** value); /* slot 87 */ - AvnHResult (AVN_CALL *set_points)(IAvnPolyline* self, const uint16_t* value); /* slot 88 */ - AvnHResult (AVN_CALL *get_fill_rule)(IAvnPolyline* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_fill_rule)(IAvnPolyline* self, int32_t value); /* slot 90 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnPolyline* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnPolyline* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnPolyline* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnPolyline* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnPolyline* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnPolyline* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPolyline* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnPolyline* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPolyline* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnPolyline* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPolyline* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnPolyline* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnPolyline* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnPolyline* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnPolyline* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnPolyline* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPolyline* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnPolyline* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnPolyline* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPolyline* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPolyline* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPolyline* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPolyline* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnPolyline* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnPolyline* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnPolyline* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnPolyline* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnPolyline* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnPolyline* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_fill)(IAvnPolyline* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_fill)(IAvnPolyline* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_stretch)(IAvnPolyline* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_stretch)(IAvnPolyline* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_stroke)(IAvnPolyline* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_stroke)(IAvnPolyline* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnPolyline* self, uint16_t** value); /* slot 90 */ + AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnPolyline* self, const uint16_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnPolyline* self, double* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnPolyline* self, double value); /* slot 93 */ + AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnPolyline* self, double* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnPolyline* self, double value); /* slot 95 */ + AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnPolyline* self, int32_t* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnPolyline* self, int32_t value); /* slot 97 */ + AvnHResult (AVN_CALL *get_stroke_join)(IAvnPolyline* self, int32_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_stroke_join)(IAvnPolyline* self, int32_t value); /* slot 99 */ + AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnPolyline* self, double* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnPolyline* self, double value); /* slot 101 */ + AvnHResult (AVN_CALL *get_points)(IAvnPolyline* self, uint16_t** value); /* slot 102 */ + AvnHResult (AVN_CALL *set_points)(IAvnPolyline* self, const uint16_t* value); /* slot 103 */ + AvnHResult (AVN_CALL *get_fill_rule)(IAvnPolyline* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_fill_rule)(IAvnPolyline* self, int32_t value); /* slot 105 */ }; struct IAvnPolyline { const IAvnPolylineVtbl* vtbl; }; -#define I_AVN_POLYLINE_VTABLE_SLOTS 91 +#define I_AVN_POLYLINE_VTABLE_SLOTS 106 static const AvnGuid I_AVN_POPUP_IID = { - 0x4F10A2E5, - 0xD393, - 0x52F5, - { 0x97, 0xCB, 0x0D, 0xDA, 0x94, 0x11, 0xF6, 0xE4 } + 0xC8FAC379, + 0xF367, + 0x5D83, + { 0x9A, 0xBF, 0x46, 0xEF, 0x6F, 0xCB, 0x77, 0x8B } }; -#define I_AVN_POPUP_ABI_VERSION 8 +#define I_AVN_POPUP_ABI_VERSION 11 struct IAvnPopupVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnPopup* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnPopup* self); /* slot 1 */ @@ -9082,69 +10027,84 @@ struct IAvnPopupVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnPopup* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnPopup* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnPopup* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnPopup* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnPopup* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnPopup* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPopup* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnPopup* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPopup* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnPopup* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPopup* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnPopup* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPopup* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPopup* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPopup* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPopup* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPopup* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_window_manager_add_shadow_hint)(IAvnPopup* self, int32_t* value); /* slot 69 */ - AvnHResult (AVN_CALL *set_window_manager_add_shadow_hint)(IAvnPopup* self, int32_t value); /* slot 70 */ - AvnHResult (AVN_CALL *get_child)(IAvnPopup* self, IAvnControl** value); /* slot 71 */ - AvnHResult (AVN_CALL *set_child)(IAvnPopup* self, IAvnControl* value); /* slot 72 */ - AvnHResult (AVN_CALL *get_inherits_transform)(IAvnPopup* self, int32_t* value); /* slot 73 */ - AvnHResult (AVN_CALL *set_inherits_transform)(IAvnPopup* self, int32_t value); /* slot 74 */ - AvnHResult (AVN_CALL *get_is_light_dismiss_enabled)(IAvnPopup* self, int32_t* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_is_light_dismiss_enabled)(IAvnPopup* self, int32_t value); /* slot 76 */ - AvnHResult (AVN_CALL *get_is_open)(IAvnPopup* self, int32_t* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_is_open)(IAvnPopup* self, int32_t value); /* slot 78 */ - AvnHResult (AVN_CALL *get_placement_anchor)(IAvnPopup* self, int32_t* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_placement_anchor)(IAvnPopup* self, int32_t value); /* slot 80 */ - AvnHResult (AVN_CALL *get_placement_constraint_adjustment)(IAvnPopup* self, int32_t* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_placement_constraint_adjustment)(IAvnPopup* self, int32_t value); /* slot 82 */ - AvnHResult (AVN_CALL *get_placement_gravity)(IAvnPopup* self, int32_t* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_placement_gravity)(IAvnPopup* self, int32_t value); /* slot 84 */ - AvnHResult (AVN_CALL *get_placement)(IAvnPopup* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_placement)(IAvnPopup* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_placement_rect)(IAvnPopup* self, AvnOptionalRect* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_placement_rect)(IAvnPopup* self, AvnOptionalRect value); /* slot 88 */ - AvnHResult (AVN_CALL *get_placement_target)(IAvnPopup* self, IAvnControl** value); /* slot 89 */ - AvnHResult (AVN_CALL *set_placement_target)(IAvnPopup* self, IAvnControl* value); /* slot 90 */ - AvnHResult (AVN_CALL *get_custom_popup_placement_callback)(IAvnPopup* self, IAvnPopupPlacementCallback** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_custom_popup_placement_callback)(IAvnPopup* self, IAvnPopupPlacementCallback* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_overlay_dismiss_event_pass_through)(IAvnPopup* self, int32_t* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_overlay_dismiss_event_pass_through)(IAvnPopup* self, int32_t value); /* slot 94 */ - AvnHResult (AVN_CALL *get_overlay_input_pass_through_element)(IAvnPopup* self, IAvnControl** value); /* slot 95 */ - AvnHResult (AVN_CALL *set_overlay_input_pass_through_element)(IAvnPopup* self, IAvnControl* value); /* slot 96 */ - AvnHResult (AVN_CALL *get_horizontal_offset)(IAvnPopup* self, double* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_horizontal_offset)(IAvnPopup* self, double value); /* slot 98 */ - AvnHResult (AVN_CALL *get_vertical_offset)(IAvnPopup* self, double* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_vertical_offset)(IAvnPopup* self, double value); /* slot 100 */ - AvnHResult (AVN_CALL *get_topmost)(IAvnPopup* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_topmost)(IAvnPopup* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_takes_focus_from_native_control)(IAvnPopup* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_takes_focus_from_native_control)(IAvnPopup* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_should_use_overlay_layer)(IAvnPopup* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_should_use_overlay_layer)(IAvnPopup* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_is_using_overlay_layer)(IAvnPopup* self, int32_t* value); /* slot 107 */ - AvnHResult (AVN_CALL *get_is_pointer_over_popup)(IAvnPopup* self, int32_t* value); /* slot 108 */ - AvnHResult (AVN_CALL *open)(IAvnPopup* self); /* slot 109 */ - AvnHResult (AVN_CALL *close)(IAvnPopup* self); /* slot 110 */ - AvnHResult (AVN_CALL *advise_closed)(IAvnPopup* self, IAvnPopupClosedHandler* handler, int64_t* subscription_id); /* slot 111 */ - AvnHResult (AVN_CALL *unadvise_closed)(IAvnPopup* self, int64_t subscription_id); /* slot 112 */ - AvnHResult (AVN_CALL *advise_opened)(IAvnPopup* self, IAvnPopupOpenedHandler* handler, int64_t* subscription_id); /* slot 113 */ - AvnHResult (AVN_CALL *unadvise_opened)(IAvnPopup* self, int64_t subscription_id); /* slot 114 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnPopup* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnPopup* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnPopup* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnPopup* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnPopup* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnPopup* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnPopup* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnPopup* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnPopup* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnPopup* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnPopup* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnPopup* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnPopup* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnPopup* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnPopup* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnPopup* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnPopup* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnPopup* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnPopup* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnPopup* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnPopup* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnPopup* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnPopup* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnPopup* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnPopup* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnPopup* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnPopup* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnPopup* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnPopup* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_window_manager_add_shadow_hint)(IAvnPopup* self, int32_t* value); /* slot 84 */ + AvnHResult (AVN_CALL *set_window_manager_add_shadow_hint)(IAvnPopup* self, int32_t value); /* slot 85 */ + AvnHResult (AVN_CALL *get_child)(IAvnPopup* self, IAvnControl** value); /* slot 86 */ + AvnHResult (AVN_CALL *set_child)(IAvnPopup* self, IAvnControl* value); /* slot 87 */ + AvnHResult (AVN_CALL *get_inherits_transform)(IAvnPopup* self, int32_t* value); /* slot 88 */ + AvnHResult (AVN_CALL *set_inherits_transform)(IAvnPopup* self, int32_t value); /* slot 89 */ + AvnHResult (AVN_CALL *get_is_light_dismiss_enabled)(IAvnPopup* self, int32_t* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_is_light_dismiss_enabled)(IAvnPopup* self, int32_t value); /* slot 91 */ + AvnHResult (AVN_CALL *get_is_open)(IAvnPopup* self, int32_t* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_is_open)(IAvnPopup* self, int32_t value); /* slot 93 */ + AvnHResult (AVN_CALL *get_placement_anchor)(IAvnPopup* self, int32_t* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_placement_anchor)(IAvnPopup* self, int32_t value); /* slot 95 */ + AvnHResult (AVN_CALL *get_placement_constraint_adjustment)(IAvnPopup* self, int32_t* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_placement_constraint_adjustment)(IAvnPopup* self, int32_t value); /* slot 97 */ + AvnHResult (AVN_CALL *get_placement_gravity)(IAvnPopup* self, int32_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_placement_gravity)(IAvnPopup* self, int32_t value); /* slot 99 */ + AvnHResult (AVN_CALL *get_placement)(IAvnPopup* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_placement)(IAvnPopup* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_placement_rect)(IAvnPopup* self, AvnOptionalRect* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_placement_rect)(IAvnPopup* self, AvnOptionalRect value); /* slot 103 */ + AvnHResult (AVN_CALL *get_placement_target)(IAvnPopup* self, IAvnControl** value); /* slot 104 */ + AvnHResult (AVN_CALL *set_placement_target)(IAvnPopup* self, IAvnControl* value); /* slot 105 */ + AvnHResult (AVN_CALL *get_custom_popup_placement_callback)(IAvnPopup* self, IAvnPopupPlacementCallback** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_custom_popup_placement_callback)(IAvnPopup* self, IAvnPopupPlacementCallback* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_overlay_dismiss_event_pass_through)(IAvnPopup* self, int32_t* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_overlay_dismiss_event_pass_through)(IAvnPopup* self, int32_t value); /* slot 109 */ + AvnHResult (AVN_CALL *get_overlay_input_pass_through_element)(IAvnPopup* self, IAvnControl** value); /* slot 110 */ + AvnHResult (AVN_CALL *set_overlay_input_pass_through_element)(IAvnPopup* self, IAvnControl* value); /* slot 111 */ + AvnHResult (AVN_CALL *get_horizontal_offset)(IAvnPopup* self, double* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_horizontal_offset)(IAvnPopup* self, double value); /* slot 113 */ + AvnHResult (AVN_CALL *get_vertical_offset)(IAvnPopup* self, double* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_vertical_offset)(IAvnPopup* self, double value); /* slot 115 */ + AvnHResult (AVN_CALL *get_topmost)(IAvnPopup* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_topmost)(IAvnPopup* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_takes_focus_from_native_control)(IAvnPopup* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_takes_focus_from_native_control)(IAvnPopup* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_should_use_overlay_layer)(IAvnPopup* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_should_use_overlay_layer)(IAvnPopup* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_is_using_overlay_layer)(IAvnPopup* self, int32_t* value); /* slot 122 */ + AvnHResult (AVN_CALL *get_is_pointer_over_popup)(IAvnPopup* self, int32_t* value); /* slot 123 */ + AvnHResult (AVN_CALL *open)(IAvnPopup* self); /* slot 124 */ + AvnHResult (AVN_CALL *close)(IAvnPopup* self); /* slot 125 */ + AvnHResult (AVN_CALL *advise_closed)(IAvnPopup* self, IAvnPopupClosedHandler* handler, int64_t* subscription_id); /* slot 126 */ + AvnHResult (AVN_CALL *unadvise_closed)(IAvnPopup* self, int64_t subscription_id); /* slot 127 */ + AvnHResult (AVN_CALL *advise_opened)(IAvnPopup* self, IAvnPopupOpenedHandler* handler, int64_t* subscription_id); /* slot 128 */ + AvnHResult (AVN_CALL *unadvise_opened)(IAvnPopup* self, int64_t subscription_id); /* slot 129 */ }; struct IAvnPopup { const IAvnPopupVtbl* vtbl; }; -#define I_AVN_POPUP_VTABLE_SLOTS 115 +#define I_AVN_POPUP_VTABLE_SLOTS 130 static const AvnGuid I_AVN_POPUP_FLYOUT_BASE_IID = { 0xE8905C74, @@ -9199,12 +10159,12 @@ struct IAvnPopupFlyoutBase { const IAvnPopupFlyoutBaseVtbl* vtbl; }; #define I_AVN_POPUP_FLYOUT_BASE_VTABLE_SLOTS 40 static const AvnGuid I_AVN_PROGRESS_BAR_IID = { - 0x54861122, - 0xE527, - 0x532B, - { 0xA4, 0x44, 0x76, 0xCB, 0x50, 0x2B, 0x04, 0x1E } + 0x5B810486, + 0x98CC, + 0x51F9, + { 0x8F, 0x12, 0x46, 0xA0, 0x95, 0x59, 0x5B, 0xB4 } }; -#define I_AVN_PROGRESS_BAR_ABI_VERSION 13 +#define I_AVN_PROGRESS_BAR_ABI_VERSION 16 struct IAvnProgressBarVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnProgressBar* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnProgressBar* self); /* slot 1 */ @@ -9261,80 +10221,95 @@ struct IAvnProgressBarVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnProgressBar* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnProgressBar* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnProgressBar* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnProgressBar* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnProgressBar* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnProgressBar* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnProgressBar* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnProgressBar* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnProgressBar* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnProgressBar* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnProgressBar* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnProgressBar* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnProgressBar* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnProgressBar* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnProgressBar* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnProgressBar* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnProgressBar* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnProgressBar* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnProgressBar* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnProgressBar* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnProgressBar* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnProgressBar* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnProgressBar* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnProgressBar* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnProgressBar* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnProgressBar* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnProgressBar* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnProgressBar* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnProgressBar* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnProgressBar* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnProgressBar* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnProgressBar* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnProgressBar* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnProgressBar* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnProgressBar* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnProgressBar* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnProgressBar* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnProgressBar* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnProgressBar* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnProgressBar* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnProgressBar* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnProgressBar* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnProgressBar* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnProgressBar* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnProgressBar* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_minimum)(IAvnProgressBar* self, double* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_minimum)(IAvnProgressBar* self, double value); /* slot 98 */ - AvnHResult (AVN_CALL *get_maximum)(IAvnProgressBar* self, double* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_maximum)(IAvnProgressBar* self, double value); /* slot 100 */ - AvnHResult (AVN_CALL *get_value)(IAvnProgressBar* self, double* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_value)(IAvnProgressBar* self, double value); /* slot 102 */ - AvnHResult (AVN_CALL *get_small_change)(IAvnProgressBar* self, double* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_small_change)(IAvnProgressBar* self, double value); /* slot 104 */ - AvnHResult (AVN_CALL *get_large_change)(IAvnProgressBar* self, double* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_large_change)(IAvnProgressBar* self, double value); /* slot 106 */ - AvnHResult (AVN_CALL *advise_value_changed)(IAvnProgressBar* self, IAvnRangeBaseValueChangedHandler* handler, int64_t* subscription_id); /* slot 107 */ - AvnHResult (AVN_CALL *unadvise_value_changed)(IAvnProgressBar* self, int64_t subscription_id); /* slot 108 */ - AvnHResult (AVN_CALL *get_percentage)(IAvnProgressBar* self, double* value); /* slot 109 */ - AvnHResult (AVN_CALL *get_is_indeterminate)(IAvnProgressBar* self, int32_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *set_is_indeterminate)(IAvnProgressBar* self, int32_t value); /* slot 111 */ - AvnHResult (AVN_CALL *get_show_progress_text)(IAvnProgressBar* self, int32_t* value); /* slot 112 */ - AvnHResult (AVN_CALL *set_show_progress_text)(IAvnProgressBar* self, int32_t value); /* slot 113 */ - AvnHResult (AVN_CALL *get_progress_text_format)(IAvnProgressBar* self, uint16_t** value); /* slot 114 */ - AvnHResult (AVN_CALL *set_progress_text_format)(IAvnProgressBar* self, const uint16_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *get_orientation)(IAvnProgressBar* self, int32_t* value); /* slot 116 */ - AvnHResult (AVN_CALL *set_orientation)(IAvnProgressBar* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnProgressBar* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnProgressBar* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnProgressBar* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnProgressBar* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnProgressBar* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnProgressBar* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnProgressBar* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnProgressBar* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnProgressBar* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnProgressBar* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnProgressBar* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnProgressBar* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnProgressBar* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnProgressBar* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnProgressBar* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnProgressBar* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnProgressBar* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnProgressBar* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnProgressBar* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnProgressBar* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnProgressBar* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnProgressBar* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnProgressBar* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnProgressBar* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnProgressBar* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnProgressBar* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnProgressBar* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnProgressBar* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnProgressBar* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnProgressBar* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnProgressBar* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnProgressBar* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnProgressBar* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnProgressBar* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnProgressBar* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnProgressBar* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnProgressBar* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnProgressBar* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnProgressBar* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnProgressBar* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnProgressBar* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnProgressBar* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnProgressBar* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnProgressBar* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnProgressBar* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnProgressBar* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnProgressBar* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnProgressBar* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnProgressBar* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnProgressBar* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnProgressBar* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnProgressBar* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnProgressBar* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnProgressBar* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnProgressBar* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnProgressBar* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnProgressBar* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_minimum)(IAvnProgressBar* self, double* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_minimum)(IAvnProgressBar* self, double value); /* slot 113 */ + AvnHResult (AVN_CALL *get_maximum)(IAvnProgressBar* self, double* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_maximum)(IAvnProgressBar* self, double value); /* slot 115 */ + AvnHResult (AVN_CALL *get_value)(IAvnProgressBar* self, double* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_value)(IAvnProgressBar* self, double value); /* slot 117 */ + AvnHResult (AVN_CALL *get_small_change)(IAvnProgressBar* self, double* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_small_change)(IAvnProgressBar* self, double value); /* slot 119 */ + AvnHResult (AVN_CALL *get_large_change)(IAvnProgressBar* self, double* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_large_change)(IAvnProgressBar* self, double value); /* slot 121 */ + AvnHResult (AVN_CALL *advise_value_changed)(IAvnProgressBar* self, IAvnRangeBaseValueChangedHandler* handler, int64_t* subscription_id); /* slot 122 */ + AvnHResult (AVN_CALL *unadvise_value_changed)(IAvnProgressBar* self, int64_t subscription_id); /* slot 123 */ + AvnHResult (AVN_CALL *get_percentage)(IAvnProgressBar* self, double* value); /* slot 124 */ + AvnHResult (AVN_CALL *get_is_indeterminate)(IAvnProgressBar* self, int32_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *set_is_indeterminate)(IAvnProgressBar* self, int32_t value); /* slot 126 */ + AvnHResult (AVN_CALL *get_show_progress_text)(IAvnProgressBar* self, int32_t* value); /* slot 127 */ + AvnHResult (AVN_CALL *set_show_progress_text)(IAvnProgressBar* self, int32_t value); /* slot 128 */ + AvnHResult (AVN_CALL *get_progress_text_format)(IAvnProgressBar* self, uint16_t** value); /* slot 129 */ + AvnHResult (AVN_CALL *set_progress_text_format)(IAvnProgressBar* self, const uint16_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *get_orientation)(IAvnProgressBar* self, int32_t* value); /* slot 131 */ + AvnHResult (AVN_CALL *set_orientation)(IAvnProgressBar* self, int32_t value); /* slot 132 */ }; struct IAvnProgressBar { const IAvnProgressBarVtbl* vtbl; }; -#define I_AVN_PROGRESS_BAR_VTABLE_SLOTS 118 +#define I_AVN_PROGRESS_BAR_VTABLE_SLOTS 133 static const AvnGuid I_AVN_RADIO_BUTTON_IID = { - 0x45D712D8, - 0xA144, - 0x589A, - { 0x90, 0x53, 0x43, 0x33, 0xB6, 0x14, 0x28, 0xBF } + 0xFBEA357A, + 0x8E1A, + 0x5579, + { 0xA0, 0xCF, 0x4F, 0xD4, 0x88, 0x95, 0xDA, 0xDB } }; -#define I_AVN_RADIO_BUTTON_ABI_VERSION 16 +#define I_AVN_RADIO_BUTTON_ABI_VERSION 19 struct IAvnRadioButtonVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnRadioButton* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnRadioButton* self); /* slot 1 */ @@ -9391,92 +10366,107 @@ struct IAvnRadioButtonVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnRadioButton* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnRadioButton* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnRadioButton* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnRadioButton* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnRadioButton* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnRadioButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnRadioButton* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnRadioButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnRadioButton* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnRadioButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnRadioButton* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnRadioButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnRadioButton* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnRadioButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnRadioButton* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnRadioButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnRadioButton* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnRadioButton* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnRadioButton* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnRadioButton* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnRadioButton* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnRadioButton* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnRadioButton* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnRadioButton* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnRadioButton* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnRadioButton* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnRadioButton* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnRadioButton* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnRadioButton* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnRadioButton* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnRadioButton* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnRadioButton* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnRadioButton* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnRadioButton* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnRadioButton* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnRadioButton* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnRadioButton* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnRadioButton* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnRadioButton* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnRadioButton* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnRadioButton* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnRadioButton* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnRadioButton* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnRadioButton* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnRadioButton* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnRadioButton* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnRadioButton* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnRadioButton* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnRadioButton* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnRadioButton* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnRadioButton* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnRadioButton* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnRadioButton* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_click_mode)(IAvnRadioButton* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_click_mode)(IAvnRadioButton* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_command)(IAvnRadioButton* self, IAvnCommand** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_command)(IAvnRadioButton* self, IAvnCommand* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnRadioButton* self, uint16_t** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnRadioButton* self, const uint16_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnRadioButton* self, AvnVariant* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnRadioButton* self, AvnVariant value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_default)(IAvnRadioButton* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_default)(IAvnRadioButton* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_cancel)(IAvnRadioButton* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_cancel)(IAvnRadioButton* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_pressed)(IAvnRadioButton* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *get_flyout)(IAvnRadioButton* self, IAvnFlyoutBase** value); /* slot 118 */ - AvnHResult (AVN_CALL *set_flyout)(IAvnRadioButton* self, IAvnFlyoutBase* value); /* slot 119 */ - AvnHResult (AVN_CALL *advise_click)(IAvnRadioButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 120 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnRadioButton* self, int64_t subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *get_is_checked)(IAvnRadioButton* self, int32_t* value); /* slot 122 */ - AvnHResult (AVN_CALL *set_is_checked)(IAvnRadioButton* self, int32_t value); /* slot 123 */ - AvnHResult (AVN_CALL *get_is_three_state)(IAvnRadioButton* self, int32_t* value); /* slot 124 */ - AvnHResult (AVN_CALL *set_is_three_state)(IAvnRadioButton* self, int32_t value); /* slot 125 */ - AvnHResult (AVN_CALL *advise_is_checked_changed)(IAvnRadioButton* self, IAvnToggleButtonIsCheckedChangedHandler* handler, int64_t* subscription_id); /* slot 126 */ - AvnHResult (AVN_CALL *unadvise_is_checked_changed)(IAvnRadioButton* self, int64_t subscription_id); /* slot 127 */ - AvnHResult (AVN_CALL *get_group_name)(IAvnRadioButton* self, uint16_t** value); /* slot 128 */ - AvnHResult (AVN_CALL *set_group_name)(IAvnRadioButton* self, const uint16_t* value); /* slot 129 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnRadioButton* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnRadioButton* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnRadioButton* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnRadioButton* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnRadioButton* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnRadioButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnRadioButton* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnRadioButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnRadioButton* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnRadioButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnRadioButton* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnRadioButton* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnRadioButton* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnRadioButton* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnRadioButton* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnRadioButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnRadioButton* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnRadioButton* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnRadioButton* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnRadioButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnRadioButton* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnRadioButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnRadioButton* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnRadioButton* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnRadioButton* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnRadioButton* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnRadioButton* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnRadioButton* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnRadioButton* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnRadioButton* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnRadioButton* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnRadioButton* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnRadioButton* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnRadioButton* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnRadioButton* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnRadioButton* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnRadioButton* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnRadioButton* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnRadioButton* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnRadioButton* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnRadioButton* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnRadioButton* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnRadioButton* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnRadioButton* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnRadioButton* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnRadioButton* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnRadioButton* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnRadioButton* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnRadioButton* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnRadioButton* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnRadioButton* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnRadioButton* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnRadioButton* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnRadioButton* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnRadioButton* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnRadioButton* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnRadioButton* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnRadioButton* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnRadioButton* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnRadioButton* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnRadioButton* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnRadioButton* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnRadioButton* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnRadioButton* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnRadioButton* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_click_mode)(IAvnRadioButton* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_click_mode)(IAvnRadioButton* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_command)(IAvnRadioButton* self, IAvnCommand** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_command)(IAvnRadioButton* self, IAvnCommand* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnRadioButton* self, uint16_t** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnRadioButton* self, const uint16_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnRadioButton* self, AvnVariant* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnRadioButton* self, AvnVariant value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_default)(IAvnRadioButton* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_default)(IAvnRadioButton* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_cancel)(IAvnRadioButton* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_cancel)(IAvnRadioButton* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_pressed)(IAvnRadioButton* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *get_flyout)(IAvnRadioButton* self, IAvnFlyoutBase** value); /* slot 133 */ + AvnHResult (AVN_CALL *set_flyout)(IAvnRadioButton* self, IAvnFlyoutBase* value); /* slot 134 */ + AvnHResult (AVN_CALL *advise_click)(IAvnRadioButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 135 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnRadioButton* self, int64_t subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *get_is_checked)(IAvnRadioButton* self, int32_t* value); /* slot 137 */ + AvnHResult (AVN_CALL *set_is_checked)(IAvnRadioButton* self, int32_t value); /* slot 138 */ + AvnHResult (AVN_CALL *get_is_three_state)(IAvnRadioButton* self, int32_t* value); /* slot 139 */ + AvnHResult (AVN_CALL *set_is_three_state)(IAvnRadioButton* self, int32_t value); /* slot 140 */ + AvnHResult (AVN_CALL *advise_is_checked_changed)(IAvnRadioButton* self, IAvnToggleButtonIsCheckedChangedHandler* handler, int64_t* subscription_id); /* slot 141 */ + AvnHResult (AVN_CALL *unadvise_is_checked_changed)(IAvnRadioButton* self, int64_t subscription_id); /* slot 142 */ + AvnHResult (AVN_CALL *get_group_name)(IAvnRadioButton* self, uint16_t** value); /* slot 143 */ + AvnHResult (AVN_CALL *set_group_name)(IAvnRadioButton* self, const uint16_t* value); /* slot 144 */ }; struct IAvnRadioButton { const IAvnRadioButtonVtbl* vtbl; }; -#define I_AVN_RADIO_BUTTON_VTABLE_SLOTS 130 +#define I_AVN_RADIO_BUTTON_VTABLE_SLOTS 145 static const AvnGuid I_AVN_RANGE_BASE_IID = { - 0xC2C5CCBC, - 0xF621, - 0x560A, - { 0xB6, 0xF6, 0x87, 0xA2, 0x86, 0xDA, 0xB5, 0x0B } + 0x4B50BE51, + 0x3AF1, + 0x5ED3, + { 0xB2, 0x9F, 0x61, 0xE8, 0x72, 0x8F, 0x05, 0xC9 } }; -#define I_AVN_RANGE_BASE_ABI_VERSION 12 +#define I_AVN_RANGE_BASE_ABI_VERSION 15 struct IAvnRangeBaseVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnRangeBase* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnRangeBase* self); /* slot 1 */ @@ -9533,71 +10523,86 @@ struct IAvnRangeBaseVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnRangeBase* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnRangeBase* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnRangeBase* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnRangeBase* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnRangeBase* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnRangeBase* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnRangeBase* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnRangeBase* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnRangeBase* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnRangeBase* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnRangeBase* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnRangeBase* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnRangeBase* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnRangeBase* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnRangeBase* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnRangeBase* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnRangeBase* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnRangeBase* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnRangeBase* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnRangeBase* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnRangeBase* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnRangeBase* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnRangeBase* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnRangeBase* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnRangeBase* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnRangeBase* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnRangeBase* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnRangeBase* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnRangeBase* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnRangeBase* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnRangeBase* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnRangeBase* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnRangeBase* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnRangeBase* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnRangeBase* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnRangeBase* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnRangeBase* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnRangeBase* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnRangeBase* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnRangeBase* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnRangeBase* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnRangeBase* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnRangeBase* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnRangeBase* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnRangeBase* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_minimum)(IAvnRangeBase* self, double* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_minimum)(IAvnRangeBase* self, double value); /* slot 98 */ - AvnHResult (AVN_CALL *get_maximum)(IAvnRangeBase* self, double* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_maximum)(IAvnRangeBase* self, double value); /* slot 100 */ - AvnHResult (AVN_CALL *get_value)(IAvnRangeBase* self, double* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_value)(IAvnRangeBase* self, double value); /* slot 102 */ - AvnHResult (AVN_CALL *get_small_change)(IAvnRangeBase* self, double* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_small_change)(IAvnRangeBase* self, double value); /* slot 104 */ - AvnHResult (AVN_CALL *get_large_change)(IAvnRangeBase* self, double* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_large_change)(IAvnRangeBase* self, double value); /* slot 106 */ - AvnHResult (AVN_CALL *advise_value_changed)(IAvnRangeBase* self, IAvnRangeBaseValueChangedHandler* handler, int64_t* subscription_id); /* slot 107 */ - AvnHResult (AVN_CALL *unadvise_value_changed)(IAvnRangeBase* self, int64_t subscription_id); /* slot 108 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnRangeBase* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnRangeBase* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnRangeBase* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnRangeBase* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnRangeBase* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnRangeBase* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnRangeBase* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnRangeBase* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnRangeBase* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnRangeBase* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnRangeBase* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnRangeBase* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnRangeBase* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnRangeBase* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnRangeBase* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnRangeBase* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnRangeBase* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnRangeBase* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnRangeBase* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnRangeBase* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnRangeBase* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnRangeBase* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnRangeBase* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnRangeBase* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnRangeBase* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnRangeBase* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnRangeBase* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnRangeBase* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnRangeBase* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnRangeBase* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnRangeBase* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnRangeBase* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnRangeBase* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnRangeBase* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnRangeBase* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnRangeBase* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnRangeBase* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnRangeBase* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnRangeBase* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnRangeBase* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnRangeBase* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnRangeBase* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnRangeBase* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnRangeBase* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnRangeBase* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnRangeBase* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnRangeBase* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnRangeBase* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnRangeBase* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnRangeBase* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnRangeBase* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnRangeBase* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnRangeBase* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnRangeBase* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnRangeBase* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnRangeBase* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnRangeBase* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_minimum)(IAvnRangeBase* self, double* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_minimum)(IAvnRangeBase* self, double value); /* slot 113 */ + AvnHResult (AVN_CALL *get_maximum)(IAvnRangeBase* self, double* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_maximum)(IAvnRangeBase* self, double value); /* slot 115 */ + AvnHResult (AVN_CALL *get_value)(IAvnRangeBase* self, double* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_value)(IAvnRangeBase* self, double value); /* slot 117 */ + AvnHResult (AVN_CALL *get_small_change)(IAvnRangeBase* self, double* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_small_change)(IAvnRangeBase* self, double value); /* slot 119 */ + AvnHResult (AVN_CALL *get_large_change)(IAvnRangeBase* self, double* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_large_change)(IAvnRangeBase* self, double value); /* slot 121 */ + AvnHResult (AVN_CALL *advise_value_changed)(IAvnRangeBase* self, IAvnRangeBaseValueChangedHandler* handler, int64_t* subscription_id); /* slot 122 */ + AvnHResult (AVN_CALL *unadvise_value_changed)(IAvnRangeBase* self, int64_t subscription_id); /* slot 123 */ }; struct IAvnRangeBase { const IAvnRangeBaseVtbl* vtbl; }; -#define I_AVN_RANGE_BASE_VTABLE_SLOTS 109 +#define I_AVN_RANGE_BASE_VTABLE_SLOTS 124 static const AvnGuid I_AVN_RECTANGLE_IID = { - 0x4C789DD6, - 0x03C9, - 0x5FC7, - { 0xA3, 0x8E, 0x05, 0x00, 0x60, 0xC2, 0x89, 0x08 } + 0x18F60995, + 0x254F, + 0x5AC8, + { 0x81, 0x01, 0x5D, 0xF9, 0xA4, 0x4E, 0xE4, 0x88 } }; -#define I_AVN_RECTANGLE_ABI_VERSION 8 +#define I_AVN_RECTANGLE_ABI_VERSION 11 struct IAvnRectangleVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnRectangle* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnRectangle* self); /* slot 1 */ @@ -9654,53 +10659,68 @@ struct IAvnRectangleVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnRectangle* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnRectangle* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnRectangle* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnRectangle* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnRectangle* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnRectangle* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnRectangle* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnRectangle* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnRectangle* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnRectangle* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnRectangle* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnRectangle* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnRectangle* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnRectangle* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnRectangle* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnRectangle* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnRectangle* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_fill)(IAvnRectangle* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_fill)(IAvnRectangle* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_stretch)(IAvnRectangle* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_stretch)(IAvnRectangle* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_stroke)(IAvnRectangle* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_stroke)(IAvnRectangle* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnRectangle* self, uint16_t** value); /* slot 75 */ - AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnRectangle* self, const uint16_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnRectangle* self, double* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnRectangle* self, double value); /* slot 78 */ - AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnRectangle* self, double* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnRectangle* self, double value); /* slot 80 */ - AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnRectangle* self, int32_t* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnRectangle* self, int32_t value); /* slot 82 */ - AvnHResult (AVN_CALL *get_stroke_join)(IAvnRectangle* self, int32_t* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_stroke_join)(IAvnRectangle* self, int32_t value); /* slot 84 */ - AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnRectangle* self, double* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnRectangle* self, double value); /* slot 86 */ - AvnHResult (AVN_CALL *get_radius_x)(IAvnRectangle* self, double* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_radius_x)(IAvnRectangle* self, double value); /* slot 88 */ - AvnHResult (AVN_CALL *get_radius_y)(IAvnRectangle* self, double* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_radius_y)(IAvnRectangle* self, double value); /* slot 90 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnRectangle* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnRectangle* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnRectangle* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnRectangle* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnRectangle* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnRectangle* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnRectangle* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnRectangle* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnRectangle* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnRectangle* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnRectangle* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnRectangle* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnRectangle* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnRectangle* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnRectangle* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnRectangle* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnRectangle* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnRectangle* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnRectangle* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnRectangle* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnRectangle* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnRectangle* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnRectangle* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnRectangle* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnRectangle* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnRectangle* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnRectangle* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnRectangle* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnRectangle* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_fill)(IAvnRectangle* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_fill)(IAvnRectangle* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_stretch)(IAvnRectangle* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_stretch)(IAvnRectangle* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_stroke)(IAvnRectangle* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_stroke)(IAvnRectangle* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnRectangle* self, uint16_t** value); /* slot 90 */ + AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnRectangle* self, const uint16_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnRectangle* self, double* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnRectangle* self, double value); /* slot 93 */ + AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnRectangle* self, double* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnRectangle* self, double value); /* slot 95 */ + AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnRectangle* self, int32_t* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnRectangle* self, int32_t value); /* slot 97 */ + AvnHResult (AVN_CALL *get_stroke_join)(IAvnRectangle* self, int32_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_stroke_join)(IAvnRectangle* self, int32_t value); /* slot 99 */ + AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnRectangle* self, double* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnRectangle* self, double value); /* slot 101 */ + AvnHResult (AVN_CALL *get_radius_x)(IAvnRectangle* self, double* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_radius_x)(IAvnRectangle* self, double value); /* slot 103 */ + AvnHResult (AVN_CALL *get_radius_y)(IAvnRectangle* self, double* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_radius_y)(IAvnRectangle* self, double value); /* slot 105 */ }; struct IAvnRectangle { const IAvnRectangleVtbl* vtbl; }; -#define I_AVN_RECTANGLE_VTABLE_SLOTS 91 +#define I_AVN_RECTANGLE_VTABLE_SLOTS 106 static const AvnGuid I_AVN_REFRESH_CONTAINER_IID = { - 0xC83268B7, - 0xA9D2, - 0x51FA, - { 0xB7, 0xC7, 0xE9, 0x89, 0x1E, 0x41, 0x2A, 0x9B } + 0x8A61432D, + 0xC34F, + 0x51D2, + { 0x8A, 0xCC, 0xE3, 0x6D, 0x3D, 0x63, 0x9D, 0xC7 } }; -#define I_AVN_REFRESH_CONTAINER_ABI_VERSION 10 +#define I_AVN_REFRESH_CONTAINER_ABI_VERSION 13 struct IAvnRefreshContainerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnRefreshContainer* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnRefreshContainer* self); /* slot 1 */ @@ -9757,74 +10777,89 @@ struct IAvnRefreshContainerVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnRefreshContainer* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnRefreshContainer* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnRefreshContainer* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnRefreshContainer* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnRefreshContainer* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnRefreshContainer* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnRefreshContainer* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnRefreshContainer* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnRefreshContainer* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnRefreshContainer* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnRefreshContainer* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnRefreshContainer* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnRefreshContainer* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnRefreshContainer* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnRefreshContainer* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnRefreshContainer* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnRefreshContainer* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnRefreshContainer* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnRefreshContainer* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnRefreshContainer* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnRefreshContainer* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnRefreshContainer* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnRefreshContainer* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnRefreshContainer* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnRefreshContainer* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnRefreshContainer* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnRefreshContainer* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnRefreshContainer* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnRefreshContainer* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnRefreshContainer* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnRefreshContainer* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnRefreshContainer* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnRefreshContainer* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnRefreshContainer* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnRefreshContainer* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnRefreshContainer* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnRefreshContainer* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnRefreshContainer* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnRefreshContainer* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnRefreshContainer* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnRefreshContainer* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnRefreshContainer* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnRefreshContainer* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnRefreshContainer* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnRefreshContainer* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnRefreshContainer* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnRefreshContainer* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_is_mouse_enabled)(IAvnRefreshContainer* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_is_mouse_enabled)(IAvnRefreshContainer* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_pull_direction)(IAvnRefreshContainer* self, int32_t* value); /* slot 107 */ - AvnHResult (AVN_CALL *set_pull_direction)(IAvnRefreshContainer* self, int32_t value); /* slot 108 */ - AvnHResult (AVN_CALL *request_refresh)(IAvnRefreshContainer* self); /* slot 109 */ - AvnHResult (AVN_CALL *advise_refresh_requested)(IAvnRefreshContainer* self, IAvnRefreshContainerRefreshRequestedHandler* handler, int64_t* subscription_id); /* slot 110 */ - AvnHResult (AVN_CALL *unadvise_refresh_requested)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 111 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnRefreshContainer* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnRefreshContainer* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnRefreshContainer* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnRefreshContainer* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnRefreshContainer* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnRefreshContainer* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnRefreshContainer* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnRefreshContainer* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnRefreshContainer* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnRefreshContainer* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnRefreshContainer* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnRefreshContainer* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnRefreshContainer* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnRefreshContainer* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnRefreshContainer* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnRefreshContainer* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnRefreshContainer* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnRefreshContainer* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnRefreshContainer* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnRefreshContainer* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnRefreshContainer* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnRefreshContainer* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnRefreshContainer* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnRefreshContainer* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnRefreshContainer* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnRefreshContainer* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnRefreshContainer* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnRefreshContainer* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnRefreshContainer* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnRefreshContainer* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnRefreshContainer* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnRefreshContainer* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnRefreshContainer* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnRefreshContainer* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnRefreshContainer* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnRefreshContainer* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnRefreshContainer* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnRefreshContainer* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnRefreshContainer* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnRefreshContainer* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnRefreshContainer* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnRefreshContainer* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnRefreshContainer* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnRefreshContainer* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnRefreshContainer* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnRefreshContainer* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnRefreshContainer* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnRefreshContainer* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnRefreshContainer* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnRefreshContainer* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnRefreshContainer* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnRefreshContainer* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnRefreshContainer* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_is_mouse_enabled)(IAvnRefreshContainer* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_is_mouse_enabled)(IAvnRefreshContainer* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_pull_direction)(IAvnRefreshContainer* self, int32_t* value); /* slot 122 */ + AvnHResult (AVN_CALL *set_pull_direction)(IAvnRefreshContainer* self, int32_t value); /* slot 123 */ + AvnHResult (AVN_CALL *request_refresh)(IAvnRefreshContainer* self); /* slot 124 */ + AvnHResult (AVN_CALL *advise_refresh_requested)(IAvnRefreshContainer* self, IAvnRefreshContainerRefreshRequestedHandler* handler, int64_t* subscription_id); /* slot 125 */ + AvnHResult (AVN_CALL *unadvise_refresh_requested)(IAvnRefreshContainer* self, int64_t subscription_id); /* slot 126 */ }; struct IAvnRefreshContainer { const IAvnRefreshContainerVtbl* vtbl; }; -#define I_AVN_REFRESH_CONTAINER_VTABLE_SLOTS 112 +#define I_AVN_REFRESH_CONTAINER_VTABLE_SLOTS 127 static const AvnGuid I_AVN_RELATIVE_PANEL_IID = { - 0x4A52A408, - 0x9843, - 0x5FFA, - { 0xB1, 0xCC, 0x45, 0x75, 0xFA, 0x75, 0xB2, 0xD5 } + 0x65247A43, + 0x88C6, + 0x51B3, + { 0x91, 0xA5, 0x4D, 0xD6, 0x46, 0x41, 0x01, 0x56 } }; -#define I_AVN_RELATIVE_PANEL_ABI_VERSION 8 +#define I_AVN_RELATIVE_PANEL_ABI_VERSION 11 struct IAvnRelativePanelVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnRelativePanel* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnRelativePanel* self); /* slot 1 */ @@ -9881,34 +10916,49 @@ struct IAvnRelativePanelVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnRelativePanel* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnRelativePanel* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnRelativePanel* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnRelativePanel* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnRelativePanel* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnRelativePanel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnRelativePanel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnRelativePanel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnRelativePanel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnRelativePanel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnRelativePanel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_children)(IAvnRelativePanel* self, IAvnControlList** value); /* slot 69 */ - AvnHResult (AVN_CALL *get_background)(IAvnRelativePanel* self, IAvnBrush** value); /* slot 70 */ - AvnHResult (AVN_CALL *set_background)(IAvnRelativePanel* self, IAvnBrush* value); /* slot 71 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnRelativePanel* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnRelativePanel* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnRelativePanel* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnRelativePanel* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnRelativePanel* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnRelativePanel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnRelativePanel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnRelativePanel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnRelativePanel* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnRelativePanel* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnRelativePanel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnRelativePanel* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnRelativePanel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnRelativePanel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnRelativePanel* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnRelativePanel* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnRelativePanel* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnRelativePanel* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_children)(IAvnRelativePanel* self, IAvnControlList** value); /* slot 84 */ + AvnHResult (AVN_CALL *get_background)(IAvnRelativePanel* self, IAvnBrush** value); /* slot 85 */ + AvnHResult (AVN_CALL *set_background)(IAvnRelativePanel* self, IAvnBrush* value); /* slot 86 */ }; struct IAvnRelativePanel { const IAvnRelativePanelVtbl* vtbl; }; -#define I_AVN_RELATIVE_PANEL_VTABLE_SLOTS 72 +#define I_AVN_RELATIVE_PANEL_VTABLE_SLOTS 87 static const AvnGuid I_AVN_REPEAT_BUTTON_IID = { - 0xA0647C03, - 0x65F2, - 0x5FE4, - { 0xA3, 0x8E, 0xB4, 0xA6, 0x10, 0xF7, 0x40, 0xA0 } + 0x4F04D781, + 0x4A77, + 0x5C93, + { 0x81, 0x2D, 0x3D, 0x1D, 0xFC, 0x10, 0x62, 0x7C } }; -#define I_AVN_REPEAT_BUTTON_ABI_VERSION 11 +#define I_AVN_REPEAT_BUTTON_ABI_VERSION 14 struct IAvnRepeatButtonVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnRepeatButton* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnRepeatButton* self); /* slot 1 */ @@ -9965,88 +11015,103 @@ struct IAvnRepeatButtonVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnRepeatButton* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnRepeatButton* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnRepeatButton* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnRepeatButton* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnRepeatButton* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnRepeatButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnRepeatButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnRepeatButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnRepeatButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnRepeatButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnRepeatButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnRepeatButton* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnRepeatButton* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnRepeatButton* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnRepeatButton* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnRepeatButton* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnRepeatButton* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnRepeatButton* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnRepeatButton* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnRepeatButton* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnRepeatButton* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnRepeatButton* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnRepeatButton* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnRepeatButton* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnRepeatButton* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnRepeatButton* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnRepeatButton* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnRepeatButton* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnRepeatButton* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnRepeatButton* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnRepeatButton* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnRepeatButton* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnRepeatButton* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnRepeatButton* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnRepeatButton* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnRepeatButton* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnRepeatButton* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnRepeatButton* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnRepeatButton* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnRepeatButton* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnRepeatButton* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnRepeatButton* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnRepeatButton* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnRepeatButton* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnRepeatButton* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnRepeatButton* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnRepeatButton* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_click_mode)(IAvnRepeatButton* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_click_mode)(IAvnRepeatButton* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_command)(IAvnRepeatButton* self, IAvnCommand** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_command)(IAvnRepeatButton* self, IAvnCommand* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnRepeatButton* self, uint16_t** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnRepeatButton* self, const uint16_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnRepeatButton* self, AvnVariant* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnRepeatButton* self, AvnVariant value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_default)(IAvnRepeatButton* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_default)(IAvnRepeatButton* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_cancel)(IAvnRepeatButton* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_cancel)(IAvnRepeatButton* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_pressed)(IAvnRepeatButton* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *get_flyout)(IAvnRepeatButton* self, IAvnFlyoutBase** value); /* slot 118 */ - AvnHResult (AVN_CALL *set_flyout)(IAvnRepeatButton* self, IAvnFlyoutBase* value); /* slot 119 */ - AvnHResult (AVN_CALL *advise_click)(IAvnRepeatButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 120 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *get_interval)(IAvnRepeatButton* self, int32_t* value); /* slot 122 */ - AvnHResult (AVN_CALL *set_interval)(IAvnRepeatButton* self, int32_t value); /* slot 123 */ - AvnHResult (AVN_CALL *get_delay)(IAvnRepeatButton* self, int32_t* value); /* slot 124 */ - AvnHResult (AVN_CALL *set_delay)(IAvnRepeatButton* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnRepeatButton* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnRepeatButton* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnRepeatButton* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnRepeatButton* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnRepeatButton* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnRepeatButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnRepeatButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnRepeatButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnRepeatButton* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnRepeatButton* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnRepeatButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnRepeatButton* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnRepeatButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnRepeatButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnRepeatButton* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnRepeatButton* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnRepeatButton* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnRepeatButton* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnRepeatButton* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnRepeatButton* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnRepeatButton* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnRepeatButton* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnRepeatButton* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnRepeatButton* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnRepeatButton* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnRepeatButton* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnRepeatButton* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnRepeatButton* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnRepeatButton* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnRepeatButton* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnRepeatButton* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnRepeatButton* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnRepeatButton* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnRepeatButton* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnRepeatButton* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnRepeatButton* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnRepeatButton* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnRepeatButton* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnRepeatButton* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnRepeatButton* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnRepeatButton* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnRepeatButton* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnRepeatButton* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnRepeatButton* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnRepeatButton* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnRepeatButton* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnRepeatButton* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnRepeatButton* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnRepeatButton* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnRepeatButton* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnRepeatButton* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnRepeatButton* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnRepeatButton* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_click_mode)(IAvnRepeatButton* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_click_mode)(IAvnRepeatButton* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_command)(IAvnRepeatButton* self, IAvnCommand** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_command)(IAvnRepeatButton* self, IAvnCommand* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnRepeatButton* self, uint16_t** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnRepeatButton* self, const uint16_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnRepeatButton* self, AvnVariant* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnRepeatButton* self, AvnVariant value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_default)(IAvnRepeatButton* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_default)(IAvnRepeatButton* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_cancel)(IAvnRepeatButton* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_cancel)(IAvnRepeatButton* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_pressed)(IAvnRepeatButton* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *get_flyout)(IAvnRepeatButton* self, IAvnFlyoutBase** value); /* slot 133 */ + AvnHResult (AVN_CALL *set_flyout)(IAvnRepeatButton* self, IAvnFlyoutBase* value); /* slot 134 */ + AvnHResult (AVN_CALL *advise_click)(IAvnRepeatButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 135 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnRepeatButton* self, int64_t subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *get_interval)(IAvnRepeatButton* self, int32_t* value); /* slot 137 */ + AvnHResult (AVN_CALL *set_interval)(IAvnRepeatButton* self, int32_t value); /* slot 138 */ + AvnHResult (AVN_CALL *get_delay)(IAvnRepeatButton* self, int32_t* value); /* slot 139 */ + AvnHResult (AVN_CALL *set_delay)(IAvnRepeatButton* self, int32_t value); /* slot 140 */ }; struct IAvnRepeatButton { const IAvnRepeatButtonVtbl* vtbl; }; -#define I_AVN_REPEAT_BUTTON_VTABLE_SLOTS 126 +#define I_AVN_REPEAT_BUTTON_VTABLE_SLOTS 141 static const AvnGuid I_AVN_SCROLL_VIEWER_IID = { - 0x597E4640, - 0x680B, - 0x5499, - { 0xA4, 0xF0, 0xD9, 0x0B, 0x8F, 0x05, 0x39, 0xC7 } + 0x1D6C37FA, + 0x326B, + 0x57A1, + { 0xA0, 0x84, 0x77, 0x90, 0xE0, 0xCE, 0x29, 0x73 } }; -#define I_AVN_SCROLL_VIEWER_ABI_VERSION 15 +#define I_AVN_SCROLL_VIEWER_ABI_VERSION 18 struct IAvnScrollViewerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnScrollViewer* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnScrollViewer* self); /* slot 1 */ @@ -10103,112 +11168,127 @@ struct IAvnScrollViewerVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnScrollViewer* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnScrollViewer* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnScrollViewer* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnScrollViewer* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnScrollViewer* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnScrollViewer* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnScrollViewer* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnScrollViewer* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnScrollViewer* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnScrollViewer* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnScrollViewer* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnScrollViewer* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnScrollViewer* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnScrollViewer* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnScrollViewer* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnScrollViewer* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnScrollViewer* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnScrollViewer* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnScrollViewer* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnScrollViewer* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnScrollViewer* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnScrollViewer* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnScrollViewer* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnScrollViewer* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnScrollViewer* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnScrollViewer* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnScrollViewer* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnScrollViewer* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnScrollViewer* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnScrollViewer* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnScrollViewer* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnScrollViewer* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnScrollViewer* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnScrollViewer* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnScrollViewer* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnScrollViewer* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnScrollViewer* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnScrollViewer* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnScrollViewer* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnScrollViewer* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnScrollViewer* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnScrollViewer* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnScrollViewer* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnScrollViewer* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnScrollViewer* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnScrollViewer* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnScrollViewer* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_bring_into_view_on_focus_change)(IAvnScrollViewer* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_bring_into_view_on_focus_change)(IAvnScrollViewer* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_extent)(IAvnScrollViewer* self, AvnSize* value); /* slot 107 */ - AvnHResult (AVN_CALL *get_offset)(IAvnScrollViewer* self, AvnVector* value); /* slot 108 */ - AvnHResult (AVN_CALL *set_offset)(IAvnScrollViewer* self, AvnVector value); /* slot 109 */ - AvnHResult (AVN_CALL *get_viewport)(IAvnScrollViewer* self, AvnSize* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_large_change)(IAvnScrollViewer* self, AvnSize* value); /* slot 111 */ - AvnHResult (AVN_CALL *get_small_change)(IAvnScrollViewer* self, AvnSize* value); /* slot 112 */ - AvnHResult (AVN_CALL *get_horizontal_scroll_bar_visibility)(IAvnScrollViewer* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_horizontal_scroll_bar_visibility)(IAvnScrollViewer* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_vertical_scroll_bar_visibility)(IAvnScrollViewer* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_vertical_scroll_bar_visibility)(IAvnScrollViewer* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_current_anchor)(IAvnScrollViewer* self, IAvnControl** value); /* slot 117 */ - AvnHResult (AVN_CALL *get_scroll_bar_maximum)(IAvnScrollViewer* self, AvnVector* value); /* slot 118 */ - AvnHResult (AVN_CALL *get_is_expanded)(IAvnScrollViewer* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *get_horizontal_snap_points_type)(IAvnScrollViewer* self, int32_t* value); /* slot 120 */ - AvnHResult (AVN_CALL *set_horizontal_snap_points_type)(IAvnScrollViewer* self, int32_t value); /* slot 121 */ - AvnHResult (AVN_CALL *get_vertical_snap_points_type)(IAvnScrollViewer* self, int32_t* value); /* slot 122 */ - AvnHResult (AVN_CALL *set_vertical_snap_points_type)(IAvnScrollViewer* self, int32_t value); /* slot 123 */ - AvnHResult (AVN_CALL *get_horizontal_snap_points_alignment)(IAvnScrollViewer* self, int32_t* value); /* slot 124 */ - AvnHResult (AVN_CALL *set_horizontal_snap_points_alignment)(IAvnScrollViewer* self, int32_t value); /* slot 125 */ - AvnHResult (AVN_CALL *get_vertical_snap_points_alignment)(IAvnScrollViewer* self, int32_t* value); /* slot 126 */ - AvnHResult (AVN_CALL *set_vertical_snap_points_alignment)(IAvnScrollViewer* self, int32_t value); /* slot 127 */ - AvnHResult (AVN_CALL *get_allow_auto_hide)(IAvnScrollViewer* self, int32_t* value); /* slot 128 */ - AvnHResult (AVN_CALL *set_allow_auto_hide)(IAvnScrollViewer* self, int32_t value); /* slot 129 */ - AvnHResult (AVN_CALL *get_is_scroll_chaining_enabled)(IAvnScrollViewer* self, int32_t* value); /* slot 130 */ - AvnHResult (AVN_CALL *set_is_scroll_chaining_enabled)(IAvnScrollViewer* self, int32_t value); /* slot 131 */ - AvnHResult (AVN_CALL *get_is_scroll_inertia_enabled)(IAvnScrollViewer* self, int32_t* value); /* slot 132 */ - AvnHResult (AVN_CALL *set_is_scroll_inertia_enabled)(IAvnScrollViewer* self, int32_t value); /* slot 133 */ - AvnHResult (AVN_CALL *get_is_deferred_scrolling_enabled)(IAvnScrollViewer* self, int32_t* value); /* slot 134 */ - AvnHResult (AVN_CALL *set_is_deferred_scrolling_enabled)(IAvnScrollViewer* self, int32_t value); /* slot 135 */ - AvnHResult (AVN_CALL *line_up)(IAvnScrollViewer* self); /* slot 136 */ - AvnHResult (AVN_CALL *line_down)(IAvnScrollViewer* self); /* slot 137 */ - AvnHResult (AVN_CALL *line_left)(IAvnScrollViewer* self); /* slot 138 */ - AvnHResult (AVN_CALL *line_right)(IAvnScrollViewer* self); /* slot 139 */ - AvnHResult (AVN_CALL *page_up)(IAvnScrollViewer* self); /* slot 140 */ - AvnHResult (AVN_CALL *page_down)(IAvnScrollViewer* self); /* slot 141 */ - AvnHResult (AVN_CALL *page_left)(IAvnScrollViewer* self); /* slot 142 */ - AvnHResult (AVN_CALL *page_right)(IAvnScrollViewer* self); /* slot 143 */ - AvnHResult (AVN_CALL *scroll_to_home)(IAvnScrollViewer* self); /* slot 144 */ - AvnHResult (AVN_CALL *scroll_to_end)(IAvnScrollViewer* self); /* slot 145 */ - AvnHResult (AVN_CALL *register_anchor_candidate_with_control)(IAvnScrollViewer* self, IAvnControl* element); /* slot 146 */ - AvnHResult (AVN_CALL *unregister_anchor_candidate_with_control)(IAvnScrollViewer* self, IAvnControl* element); /* slot 147 */ - AvnHResult (AVN_CALL *advise_scroll_changed)(IAvnScrollViewer* self, IAvnScrollViewerScrollChangedHandler* handler, int64_t* subscription_id); /* slot 148 */ - AvnHResult (AVN_CALL *unadvise_scroll_changed)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 149 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnScrollViewer* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnScrollViewer* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnScrollViewer* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnScrollViewer* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnScrollViewer* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnScrollViewer* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnScrollViewer* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnScrollViewer* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnScrollViewer* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnScrollViewer* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnScrollViewer* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnScrollViewer* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnScrollViewer* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnScrollViewer* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnScrollViewer* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnScrollViewer* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnScrollViewer* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnScrollViewer* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnScrollViewer* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnScrollViewer* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnScrollViewer* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnScrollViewer* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnScrollViewer* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnScrollViewer* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnScrollViewer* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnScrollViewer* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnScrollViewer* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnScrollViewer* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnScrollViewer* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnScrollViewer* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnScrollViewer* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnScrollViewer* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnScrollViewer* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnScrollViewer* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnScrollViewer* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnScrollViewer* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnScrollViewer* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnScrollViewer* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnScrollViewer* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnScrollViewer* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnScrollViewer* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnScrollViewer* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnScrollViewer* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnScrollViewer* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnScrollViewer* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnScrollViewer* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnScrollViewer* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnScrollViewer* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnScrollViewer* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnScrollViewer* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnScrollViewer* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnScrollViewer* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnScrollViewer* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_bring_into_view_on_focus_change)(IAvnScrollViewer* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_bring_into_view_on_focus_change)(IAvnScrollViewer* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_extent)(IAvnScrollViewer* self, AvnSize* value); /* slot 122 */ + AvnHResult (AVN_CALL *get_offset)(IAvnScrollViewer* self, AvnVector* value); /* slot 123 */ + AvnHResult (AVN_CALL *set_offset)(IAvnScrollViewer* self, AvnVector value); /* slot 124 */ + AvnHResult (AVN_CALL *get_viewport)(IAvnScrollViewer* self, AvnSize* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_large_change)(IAvnScrollViewer* self, AvnSize* value); /* slot 126 */ + AvnHResult (AVN_CALL *get_small_change)(IAvnScrollViewer* self, AvnSize* value); /* slot 127 */ + AvnHResult (AVN_CALL *get_horizontal_scroll_bar_visibility)(IAvnScrollViewer* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_horizontal_scroll_bar_visibility)(IAvnScrollViewer* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_vertical_scroll_bar_visibility)(IAvnScrollViewer* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_vertical_scroll_bar_visibility)(IAvnScrollViewer* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_current_anchor)(IAvnScrollViewer* self, IAvnControl** value); /* slot 132 */ + AvnHResult (AVN_CALL *get_scroll_bar_maximum)(IAvnScrollViewer* self, AvnVector* value); /* slot 133 */ + AvnHResult (AVN_CALL *get_is_expanded)(IAvnScrollViewer* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *get_horizontal_snap_points_type)(IAvnScrollViewer* self, int32_t* value); /* slot 135 */ + AvnHResult (AVN_CALL *set_horizontal_snap_points_type)(IAvnScrollViewer* self, int32_t value); /* slot 136 */ + AvnHResult (AVN_CALL *get_vertical_snap_points_type)(IAvnScrollViewer* self, int32_t* value); /* slot 137 */ + AvnHResult (AVN_CALL *set_vertical_snap_points_type)(IAvnScrollViewer* self, int32_t value); /* slot 138 */ + AvnHResult (AVN_CALL *get_horizontal_snap_points_alignment)(IAvnScrollViewer* self, int32_t* value); /* slot 139 */ + AvnHResult (AVN_CALL *set_horizontal_snap_points_alignment)(IAvnScrollViewer* self, int32_t value); /* slot 140 */ + AvnHResult (AVN_CALL *get_vertical_snap_points_alignment)(IAvnScrollViewer* self, int32_t* value); /* slot 141 */ + AvnHResult (AVN_CALL *set_vertical_snap_points_alignment)(IAvnScrollViewer* self, int32_t value); /* slot 142 */ + AvnHResult (AVN_CALL *get_allow_auto_hide)(IAvnScrollViewer* self, int32_t* value); /* slot 143 */ + AvnHResult (AVN_CALL *set_allow_auto_hide)(IAvnScrollViewer* self, int32_t value); /* slot 144 */ + AvnHResult (AVN_CALL *get_is_scroll_chaining_enabled)(IAvnScrollViewer* self, int32_t* value); /* slot 145 */ + AvnHResult (AVN_CALL *set_is_scroll_chaining_enabled)(IAvnScrollViewer* self, int32_t value); /* slot 146 */ + AvnHResult (AVN_CALL *get_is_scroll_inertia_enabled)(IAvnScrollViewer* self, int32_t* value); /* slot 147 */ + AvnHResult (AVN_CALL *set_is_scroll_inertia_enabled)(IAvnScrollViewer* self, int32_t value); /* slot 148 */ + AvnHResult (AVN_CALL *get_is_deferred_scrolling_enabled)(IAvnScrollViewer* self, int32_t* value); /* slot 149 */ + AvnHResult (AVN_CALL *set_is_deferred_scrolling_enabled)(IAvnScrollViewer* self, int32_t value); /* slot 150 */ + AvnHResult (AVN_CALL *line_up)(IAvnScrollViewer* self); /* slot 151 */ + AvnHResult (AVN_CALL *line_down)(IAvnScrollViewer* self); /* slot 152 */ + AvnHResult (AVN_CALL *line_left)(IAvnScrollViewer* self); /* slot 153 */ + AvnHResult (AVN_CALL *line_right)(IAvnScrollViewer* self); /* slot 154 */ + AvnHResult (AVN_CALL *page_up)(IAvnScrollViewer* self); /* slot 155 */ + AvnHResult (AVN_CALL *page_down)(IAvnScrollViewer* self); /* slot 156 */ + AvnHResult (AVN_CALL *page_left)(IAvnScrollViewer* self); /* slot 157 */ + AvnHResult (AVN_CALL *page_right)(IAvnScrollViewer* self); /* slot 158 */ + AvnHResult (AVN_CALL *scroll_to_home)(IAvnScrollViewer* self); /* slot 159 */ + AvnHResult (AVN_CALL *scroll_to_end)(IAvnScrollViewer* self); /* slot 160 */ + AvnHResult (AVN_CALL *register_anchor_candidate_with_control)(IAvnScrollViewer* self, IAvnControl* element); /* slot 161 */ + AvnHResult (AVN_CALL *unregister_anchor_candidate_with_control)(IAvnScrollViewer* self, IAvnControl* element); /* slot 162 */ + AvnHResult (AVN_CALL *advise_scroll_changed)(IAvnScrollViewer* self, IAvnScrollViewerScrollChangedHandler* handler, int64_t* subscription_id); /* slot 163 */ + AvnHResult (AVN_CALL *unadvise_scroll_changed)(IAvnScrollViewer* self, int64_t subscription_id); /* slot 164 */ }; struct IAvnScrollViewer { const IAvnScrollViewerVtbl* vtbl; }; -#define I_AVN_SCROLL_VIEWER_VTABLE_SLOTS 150 +#define I_AVN_SCROLL_VIEWER_VTABLE_SLOTS 165 static const AvnGuid I_AVN_SECTOR_IID = { - 0xBEB2012E, - 0xDE97, - 0x5F61, - { 0xB0, 0x66, 0x1E, 0x1D, 0x92, 0x4A, 0x19, 0x2A } + 0xB5A66A03, + 0x1739, + 0x5B83, + { 0xB5, 0xBB, 0x74, 0x8E, 0x76, 0xAF, 0x1B, 0x27 } }; -#define I_AVN_SECTOR_ABI_VERSION 8 +#define I_AVN_SECTOR_ABI_VERSION 11 struct IAvnSectorVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnSector* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnSector* self); /* slot 1 */ @@ -10265,53 +11345,68 @@ struct IAvnSectorVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnSector* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnSector* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnSector* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnSector* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnSector* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnSector* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSector* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnSector* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSector* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnSector* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSector* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnSector* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSector* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSector* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSector* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSector* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSector* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_fill)(IAvnSector* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_fill)(IAvnSector* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_stretch)(IAvnSector* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_stretch)(IAvnSector* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_stroke)(IAvnSector* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_stroke)(IAvnSector* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnSector* self, uint16_t** value); /* slot 75 */ - AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnSector* self, const uint16_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnSector* self, double* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnSector* self, double value); /* slot 78 */ - AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnSector* self, double* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnSector* self, double value); /* slot 80 */ - AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnSector* self, int32_t* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnSector* self, int32_t value); /* slot 82 */ - AvnHResult (AVN_CALL *get_stroke_join)(IAvnSector* self, int32_t* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_stroke_join)(IAvnSector* self, int32_t value); /* slot 84 */ - AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnSector* self, double* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnSector* self, double value); /* slot 86 */ - AvnHResult (AVN_CALL *get_start_angle)(IAvnSector* self, double* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_start_angle)(IAvnSector* self, double value); /* slot 88 */ - AvnHResult (AVN_CALL *get_sweep_angle)(IAvnSector* self, double* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_sweep_angle)(IAvnSector* self, double value); /* slot 90 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnSector* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnSector* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnSector* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnSector* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnSector* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnSector* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSector* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnSector* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSector* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnSector* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSector* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnSector* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnSector* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnSector* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnSector* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnSector* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSector* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnSector* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnSector* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSector* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSector* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSector* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSector* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnSector* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnSector* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnSector* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnSector* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnSector* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnSector* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_fill)(IAvnSector* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_fill)(IAvnSector* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_stretch)(IAvnSector* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_stretch)(IAvnSector* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_stroke)(IAvnSector* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_stroke)(IAvnSector* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnSector* self, uint16_t** value); /* slot 90 */ + AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnSector* self, const uint16_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnSector* self, double* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnSector* self, double value); /* slot 93 */ + AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnSector* self, double* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnSector* self, double value); /* slot 95 */ + AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnSector* self, int32_t* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnSector* self, int32_t value); /* slot 97 */ + AvnHResult (AVN_CALL *get_stroke_join)(IAvnSector* self, int32_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_stroke_join)(IAvnSector* self, int32_t value); /* slot 99 */ + AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnSector* self, double* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnSector* self, double value); /* slot 101 */ + AvnHResult (AVN_CALL *get_start_angle)(IAvnSector* self, double* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_start_angle)(IAvnSector* self, double value); /* slot 103 */ + AvnHResult (AVN_CALL *get_sweep_angle)(IAvnSector* self, double* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_sweep_angle)(IAvnSector* self, double value); /* slot 105 */ }; struct IAvnSector { const IAvnSectorVtbl* vtbl; }; -#define I_AVN_SECTOR_VTABLE_SLOTS 91 +#define I_AVN_SECTOR_VTABLE_SLOTS 106 static const AvnGuid I_AVN_SELECTABLE_TEXT_BLOCK_IID = { - 0x4C1CFF48, - 0x0D3A, - 0x5934, - { 0xA1, 0xDA, 0x69, 0x39, 0xE7, 0x5C, 0x56, 0x78 } + 0x11DADAD8, + 0x19AB, + 0x5C0C, + { 0x96, 0x14, 0x00, 0xDD, 0x41, 0x25, 0x70, 0xF8 } }; -#define I_AVN_SELECTABLE_TEXT_BLOCK_ABI_VERSION 11 +#define I_AVN_SELECTABLE_TEXT_BLOCK_ABI_VERSION 14 struct IAvnSelectableTextBlockVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnSelectableTextBlock* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnSelectableTextBlock* self); /* slot 1 */ @@ -10368,82 +11463,97 @@ struct IAvnSelectableTextBlockVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnSelectableTextBlock* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnSelectableTextBlock* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnSelectableTextBlock* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnSelectableTextBlock* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnSelectableTextBlock* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnSelectableTextBlock* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnSelectableTextBlock* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSelectableTextBlock* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSelectableTextBlock* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_padding)(IAvnSelectableTextBlock* self, AvnThickness* value); /* slot 69 */ - AvnHResult (AVN_CALL *set_padding)(IAvnSelectableTextBlock* self, AvnThickness value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background)(IAvnSelectableTextBlock* self, IAvnBrush** value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background)(IAvnSelectableTextBlock* self, IAvnBrush* value); /* slot 72 */ - AvnHResult (AVN_CALL *get_text)(IAvnSelectableTextBlock* self, uint16_t** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_text)(IAvnSelectableTextBlock* self, const uint16_t* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnSelectableTextBlock* self, uint16_t** value); /* slot 75 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnSelectableTextBlock* self, const uint16_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnSelectableTextBlock* self, double* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnSelectableTextBlock* self, double value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnSelectableTextBlock* self, int32_t value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnSelectableTextBlock* self, int32_t value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnSelectableTextBlock* self, int32_t value); /* slot 84 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnSelectableTextBlock* self, IAvnBrush** value); /* slot 85 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnSelectableTextBlock* self, IAvnBrush* value); /* slot 86 */ - AvnHResult (AVN_CALL *get_line_height)(IAvnSelectableTextBlock* self, double* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_line_height)(IAvnSelectableTextBlock* self, double value); /* slot 88 */ - AvnHResult (AVN_CALL *get_line_spacing)(IAvnSelectableTextBlock* self, double* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_line_spacing)(IAvnSelectableTextBlock* self, double value); /* slot 90 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSelectableTextBlock* self, double* value); /* slot 91 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSelectableTextBlock* self, double value); /* slot 92 */ - AvnHResult (AVN_CALL *get_max_lines)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_max_lines)(IAvnSelectableTextBlock* self, int32_t value); /* slot 94 */ - AvnHResult (AVN_CALL *get_text_wrapping)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_text_wrapping)(IAvnSelectableTextBlock* self, int32_t value); /* slot 96 */ - AvnHResult (AVN_CALL *get_text_trimming)(IAvnSelectableTextBlock* self, uint16_t** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_text_trimming)(IAvnSelectableTextBlock* self, const uint16_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_text_alignment)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_text_alignment)(IAvnSelectableTextBlock* self, int32_t value); /* slot 100 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnSelectableTextBlock* self, uint16_t** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnSelectableTextBlock* self, const uint16_t* value); /* slot 102 */ - AvnHResult (AVN_CALL *get_baseline_offset)(IAvnSelectableTextBlock* self, double* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_baseline_offset)(IAvnSelectableTextBlock* self, double value); /* slot 104 */ - AvnHResult (AVN_CALL *get_selection_brush)(IAvnSelectableTextBlock* self, IAvnBrush** value); /* slot 105 */ - AvnHResult (AVN_CALL *set_selection_brush)(IAvnSelectableTextBlock* self, IAvnBrush* value); /* slot 106 */ - AvnHResult (AVN_CALL *get_selection_foreground_brush)(IAvnSelectableTextBlock* self, IAvnBrush** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_selection_foreground_brush)(IAvnSelectableTextBlock* self, IAvnBrush* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_selection_start)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_selection_start)(IAvnSelectableTextBlock* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selection_end)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selection_end)(IAvnSelectableTextBlock* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_text)(IAvnSelectableTextBlock* self, uint16_t** value); /* slot 113 */ - AvnHResult (AVN_CALL *get_can_copy)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 114 */ - AvnHResult (AVN_CALL *copy)(IAvnSelectableTextBlock* self); /* slot 115 */ - AvnHResult (AVN_CALL *select_all)(IAvnSelectableTextBlock* self); /* slot 116 */ - AvnHResult (AVN_CALL *clear_selection)(IAvnSelectableTextBlock* self); /* slot 117 */ - AvnHResult (AVN_CALL *advise_copying_to_clipboard)(IAvnSelectableTextBlock* self, IAvnSelectableTextBlockCopyingToClipboardHandler* handler, int64_t* subscription_id); /* slot 118 */ - AvnHResult (AVN_CALL *unadvise_copying_to_clipboard)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 119 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnSelectableTextBlock* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnSelectableTextBlock* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnSelectableTextBlock* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnSelectableTextBlock* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnSelectableTextBlock* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnSelectableTextBlock* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnSelectableTextBlock* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnSelectableTextBlock* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnSelectableTextBlock* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnSelectableTextBlock* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSelectableTextBlock* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSelectableTextBlock* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnSelectableTextBlock* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnSelectableTextBlock* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnSelectableTextBlock* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_padding)(IAvnSelectableTextBlock* self, AvnThickness* value); /* slot 84 */ + AvnHResult (AVN_CALL *set_padding)(IAvnSelectableTextBlock* self, AvnThickness value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background)(IAvnSelectableTextBlock* self, IAvnBrush** value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background)(IAvnSelectableTextBlock* self, IAvnBrush* value); /* slot 87 */ + AvnHResult (AVN_CALL *get_text)(IAvnSelectableTextBlock* self, uint16_t** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_text)(IAvnSelectableTextBlock* self, const uint16_t* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnSelectableTextBlock* self, uint16_t** value); /* slot 90 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnSelectableTextBlock* self, const uint16_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnSelectableTextBlock* self, double* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnSelectableTextBlock* self, double value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnSelectableTextBlock* self, int32_t value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnSelectableTextBlock* self, int32_t value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnSelectableTextBlock* self, int32_t value); /* slot 99 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnSelectableTextBlock* self, IAvnBrush** value); /* slot 100 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnSelectableTextBlock* self, IAvnBrush* value); /* slot 101 */ + AvnHResult (AVN_CALL *get_line_height)(IAvnSelectableTextBlock* self, double* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_line_height)(IAvnSelectableTextBlock* self, double value); /* slot 103 */ + AvnHResult (AVN_CALL *get_line_spacing)(IAvnSelectableTextBlock* self, double* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_line_spacing)(IAvnSelectableTextBlock* self, double value); /* slot 105 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSelectableTextBlock* self, double* value); /* slot 106 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSelectableTextBlock* self, double value); /* slot 107 */ + AvnHResult (AVN_CALL *get_max_lines)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_max_lines)(IAvnSelectableTextBlock* self, int32_t value); /* slot 109 */ + AvnHResult (AVN_CALL *get_text_wrapping)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_text_wrapping)(IAvnSelectableTextBlock* self, int32_t value); /* slot 111 */ + AvnHResult (AVN_CALL *get_text_trimming)(IAvnSelectableTextBlock* self, uint16_t** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_text_trimming)(IAvnSelectableTextBlock* self, const uint16_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_text_alignment)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_text_alignment)(IAvnSelectableTextBlock* self, int32_t value); /* slot 115 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnSelectableTextBlock* self, uint16_t** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnSelectableTextBlock* self, const uint16_t* value); /* slot 117 */ + AvnHResult (AVN_CALL *get_baseline_offset)(IAvnSelectableTextBlock* self, double* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_baseline_offset)(IAvnSelectableTextBlock* self, double value); /* slot 119 */ + AvnHResult (AVN_CALL *get_selection_brush)(IAvnSelectableTextBlock* self, IAvnBrush** value); /* slot 120 */ + AvnHResult (AVN_CALL *set_selection_brush)(IAvnSelectableTextBlock* self, IAvnBrush* value); /* slot 121 */ + AvnHResult (AVN_CALL *get_selection_foreground_brush)(IAvnSelectableTextBlock* self, IAvnBrush** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_selection_foreground_brush)(IAvnSelectableTextBlock* self, IAvnBrush* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_selection_start)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_selection_start)(IAvnSelectableTextBlock* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selection_end)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selection_end)(IAvnSelectableTextBlock* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_text)(IAvnSelectableTextBlock* self, uint16_t** value); /* slot 128 */ + AvnHResult (AVN_CALL *get_can_copy)(IAvnSelectableTextBlock* self, int32_t* value); /* slot 129 */ + AvnHResult (AVN_CALL *copy)(IAvnSelectableTextBlock* self); /* slot 130 */ + AvnHResult (AVN_CALL *select_all)(IAvnSelectableTextBlock* self); /* slot 131 */ + AvnHResult (AVN_CALL *clear_selection)(IAvnSelectableTextBlock* self); /* slot 132 */ + AvnHResult (AVN_CALL *advise_copying_to_clipboard)(IAvnSelectableTextBlock* self, IAvnSelectableTextBlockCopyingToClipboardHandler* handler, int64_t* subscription_id); /* slot 133 */ + AvnHResult (AVN_CALL *unadvise_copying_to_clipboard)(IAvnSelectableTextBlock* self, int64_t subscription_id); /* slot 134 */ }; struct IAvnSelectableTextBlock { const IAvnSelectableTextBlockVtbl* vtbl; }; -#define I_AVN_SELECTABLE_TEXT_BLOCK_VTABLE_SLOTS 120 +#define I_AVN_SELECTABLE_TEXT_BLOCK_VTABLE_SLOTS 135 static const AvnGuid I_AVN_SELECTING_ITEMS_CONTROL_IID = { - 0xB2D5F624, - 0xDE4C, - 0x5278, - { 0x97, 0x7F, 0x9E, 0xB7, 0x64, 0xDD, 0x6B, 0x2F } + 0xBF3CA6E3, + 0xC054, + 0x5059, + { 0xAF, 0xE7, 0x20, 0xE3, 0x8D, 0x9B, 0x9D, 0xE8 } }; -#define I_AVN_SELECTING_ITEMS_CONTROL_ABI_VERSION 15 +#define I_AVN_SELECTING_ITEMS_CONTROL_ABI_VERSION 18 struct IAvnSelectingItemsControlVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnSelectingItemsControl* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnSelectingItemsControl* self); /* slot 1 */ @@ -10500,85 +11610,100 @@ struct IAvnSelectingItemsControlVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnSelectingItemsControl* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnSelectingItemsControl* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnSelectingItemsControl* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnSelectingItemsControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnSelectingItemsControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnSelectingItemsControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnSelectingItemsControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSelectingItemsControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSelectingItemsControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnSelectingItemsControl* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnSelectingItemsControl* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnSelectingItemsControl* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnSelectingItemsControl* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnSelectingItemsControl* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnSelectingItemsControl* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnSelectingItemsControl* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnSelectingItemsControl* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnSelectingItemsControl* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnSelectingItemsControl* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnSelectingItemsControl* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnSelectingItemsControl* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnSelectingItemsControl* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnSelectingItemsControl* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnSelectingItemsControl* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnSelectingItemsControl* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnSelectingItemsControl* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnSelectingItemsControl* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnSelectingItemsControl* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnSelectingItemsControl* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSelectingItemsControl* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSelectingItemsControl* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnSelectingItemsControl* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnSelectingItemsControl* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnSelectingItemsControl* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnSelectingItemsControl* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnSelectingItemsControl* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnSelectingItemsControl* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnSelectingItemsControl* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnSelectingItemsControl* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnSelectingItemsControl* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnSelectingItemsControl* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnSelectingItemsControl* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnSelectingItemsControl* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnSelectingItemsControl* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnSelectingItemsControl* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selected_index)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selected_index)(IAvnSelectingItemsControl* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnSelectingItemsControl* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnSelectingItemsControl* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_value)(IAvnSelectingItemsControl* self, AvnVariant* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_value)(IAvnSelectingItemsControl* self, AvnVariant value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnSelectingItemsControl* self, int32_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_wrap_selection)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_wrap_selection)(IAvnSelectingItemsControl* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnSelectingItemsControl* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 122 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnSelectingItemsControl* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnSelectingItemsControl* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnSelectingItemsControl* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnSelectingItemsControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnSelectingItemsControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnSelectingItemsControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnSelectingItemsControl* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnSelectingItemsControl* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnSelectingItemsControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnSelectingItemsControl* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSelectingItemsControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSelectingItemsControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnSelectingItemsControl* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnSelectingItemsControl* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnSelectingItemsControl* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnSelectingItemsControl* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnSelectingItemsControl* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnSelectingItemsControl* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnSelectingItemsControl* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnSelectingItemsControl* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnSelectingItemsControl* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnSelectingItemsControl* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnSelectingItemsControl* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnSelectingItemsControl* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnSelectingItemsControl* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnSelectingItemsControl* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnSelectingItemsControl* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnSelectingItemsControl* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnSelectingItemsControl* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnSelectingItemsControl* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnSelectingItemsControl* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnSelectingItemsControl* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnSelectingItemsControl* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnSelectingItemsControl* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnSelectingItemsControl* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSelectingItemsControl* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSelectingItemsControl* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnSelectingItemsControl* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnSelectingItemsControl* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnSelectingItemsControl* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnSelectingItemsControl* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnSelectingItemsControl* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnSelectingItemsControl* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnSelectingItemsControl* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnSelectingItemsControl* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnSelectingItemsControl* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnSelectingItemsControl* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnSelectingItemsControl* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnSelectingItemsControl* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnSelectingItemsControl* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnSelectingItemsControl* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selected_index)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selected_index)(IAvnSelectingItemsControl* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnSelectingItemsControl* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnSelectingItemsControl* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_value)(IAvnSelectingItemsControl* self, AvnVariant* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_value)(IAvnSelectingItemsControl* self, AvnVariant value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnSelectingItemsControl* self, int32_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_wrap_selection)(IAvnSelectingItemsControl* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_wrap_selection)(IAvnSelectingItemsControl* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnSelectingItemsControl* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnSelectingItemsControl* self, int64_t subscription_id); /* slot 137 */ }; struct IAvnSelectingItemsControl { const IAvnSelectingItemsControlVtbl* vtbl; }; -#define I_AVN_SELECTING_ITEMS_CONTROL_VTABLE_SLOTS 123 +#define I_AVN_SELECTING_ITEMS_CONTROL_VTABLE_SLOTS 138 static const AvnGuid I_AVN_SEPARATOR_IID = { - 0xFD4ADF2C, - 0x46AF, - 0x58ED, - { 0xB8, 0xD1, 0x2B, 0x81, 0x3D, 0x56, 0xA4, 0xC0 } + 0x81DB67FE, + 0xE07A, + 0x5DD4, + { 0xB1, 0x6C, 0x1E, 0x09, 0x9F, 0xC0, 0x59, 0xFB } }; -#define I_AVN_SEPARATOR_ABI_VERSION 9 +#define I_AVN_SEPARATOR_ABI_VERSION 12 struct IAvnSeparatorVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnSeparator* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnSeparator* self); /* slot 1 */ @@ -10635,59 +11760,74 @@ struct IAvnSeparatorVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnSeparator* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnSeparator* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnSeparator* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnSeparator* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnSeparator* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnSeparator* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSeparator* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnSeparator* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSeparator* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnSeparator* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSeparator* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnSeparator* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSeparator* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSeparator* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSeparator* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSeparator* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSeparator* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnSeparator* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnSeparator* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnSeparator* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnSeparator* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnSeparator* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnSeparator* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnSeparator* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnSeparator* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnSeparator* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnSeparator* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnSeparator* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnSeparator* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnSeparator* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnSeparator* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnSeparator* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnSeparator* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnSeparator* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnSeparator* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnSeparator* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnSeparator* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnSeparator* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnSeparator* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnSeparator* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnSeparator* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSeparator* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSeparator* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnSeparator* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnSeparator* self, AvnThickness value); /* slot 96 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnSeparator* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnSeparator* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnSeparator* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnSeparator* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnSeparator* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnSeparator* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSeparator* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnSeparator* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSeparator* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnSeparator* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSeparator* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnSeparator* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnSeparator* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnSeparator* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnSeparator* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnSeparator* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSeparator* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnSeparator* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnSeparator* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSeparator* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSeparator* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSeparator* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSeparator* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnSeparator* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnSeparator* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnSeparator* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnSeparator* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnSeparator* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnSeparator* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnSeparator* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnSeparator* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnSeparator* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnSeparator* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnSeparator* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnSeparator* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnSeparator* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnSeparator* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnSeparator* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnSeparator* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnSeparator* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnSeparator* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnSeparator* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnSeparator* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnSeparator* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnSeparator* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnSeparator* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnSeparator* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnSeparator* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnSeparator* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnSeparator* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnSeparator* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnSeparator* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnSeparator* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSeparator* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSeparator* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnSeparator* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnSeparator* self, AvnThickness value); /* slot 111 */ }; struct IAvnSeparator { const IAvnSeparatorVtbl* vtbl; }; -#define I_AVN_SEPARATOR_VTABLE_SLOTS 97 +#define I_AVN_SEPARATOR_VTABLE_SLOTS 112 static const AvnGuid I_AVN_SHAPE_IID = { - 0x68C7A91F, - 0xDBEE, - 0x56E2, - { 0x9A, 0x87, 0x24, 0xB2, 0xB6, 0x6D, 0x30, 0xAC } + 0x9B09B01F, + 0xE387, + 0x5C6F, + { 0xBB, 0x9B, 0x60, 0x5F, 0xC4, 0x3B, 0xA2, 0x33 } }; -#define I_AVN_SHAPE_ABI_VERSION 8 +#define I_AVN_SHAPE_ABI_VERSION 11 struct IAvnShapeVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnShape* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnShape* self); /* slot 1 */ @@ -10744,49 +11884,64 @@ struct IAvnShapeVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnShape* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnShape* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnShape* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnShape* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnShape* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnShape* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnShape* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnShape* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnShape* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnShape* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnShape* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnShape* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnShape* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnShape* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnShape* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnShape* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnShape* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_fill)(IAvnShape* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_fill)(IAvnShape* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_stretch)(IAvnShape* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_stretch)(IAvnShape* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_stroke)(IAvnShape* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_stroke)(IAvnShape* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnShape* self, uint16_t** value); /* slot 75 */ - AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnShape* self, const uint16_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnShape* self, double* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnShape* self, double value); /* slot 78 */ - AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnShape* self, double* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnShape* self, double value); /* slot 80 */ - AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnShape* self, int32_t* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnShape* self, int32_t value); /* slot 82 */ - AvnHResult (AVN_CALL *get_stroke_join)(IAvnShape* self, int32_t* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_stroke_join)(IAvnShape* self, int32_t value); /* slot 84 */ - AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnShape* self, double* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnShape* self, double value); /* slot 86 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnShape* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnShape* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnShape* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnShape* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnShape* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnShape* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnShape* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnShape* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnShape* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnShape* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnShape* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnShape* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnShape* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnShape* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnShape* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnShape* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnShape* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnShape* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnShape* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnShape* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnShape* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnShape* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnShape* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnShape* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnShape* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnShape* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnShape* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnShape* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnShape* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_fill)(IAvnShape* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_fill)(IAvnShape* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_stretch)(IAvnShape* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_stretch)(IAvnShape* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_stroke)(IAvnShape* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_stroke)(IAvnShape* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_stroke_dash_array)(IAvnShape* self, uint16_t** value); /* slot 90 */ + AvnHResult (AVN_CALL *set_stroke_dash_array)(IAvnShape* self, const uint16_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *get_stroke_dash_offset)(IAvnShape* self, double* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_stroke_dash_offset)(IAvnShape* self, double value); /* slot 93 */ + AvnHResult (AVN_CALL *get_stroke_thickness)(IAvnShape* self, double* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_stroke_thickness)(IAvnShape* self, double value); /* slot 95 */ + AvnHResult (AVN_CALL *get_stroke_line_cap)(IAvnShape* self, int32_t* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_stroke_line_cap)(IAvnShape* self, int32_t value); /* slot 97 */ + AvnHResult (AVN_CALL *get_stroke_join)(IAvnShape* self, int32_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_stroke_join)(IAvnShape* self, int32_t value); /* slot 99 */ + AvnHResult (AVN_CALL *get_stroke_miter_limit)(IAvnShape* self, double* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_stroke_miter_limit)(IAvnShape* self, double value); /* slot 101 */ }; struct IAvnShape { const IAvnShapeVtbl* vtbl; }; -#define I_AVN_SHAPE_VTABLE_SLOTS 87 +#define I_AVN_SHAPE_VTABLE_SLOTS 102 static const AvnGuid I_AVN_SLIDER_IID = { - 0x704B6BAF, - 0x7A44, - 0x5CFE, - { 0xA1, 0x4B, 0x44, 0x0A, 0x84, 0x71, 0xD0, 0xB9 } + 0x87C098D1, + 0xE3D8, + 0x5297, + { 0x8E, 0xFB, 0xB0, 0x39, 0xEF, 0x2C, 0x9C, 0xB5 } }; -#define I_AVN_SLIDER_ABI_VERSION 12 +#define I_AVN_SLIDER_ABI_VERSION 15 struct IAvnSliderVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnSlider* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnSlider* self); /* slot 1 */ @@ -10843,83 +11998,98 @@ struct IAvnSliderVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnSlider* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnSlider* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnSlider* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnSlider* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnSlider* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnSlider* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSlider* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnSlider* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSlider* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnSlider* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSlider* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnSlider* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSlider* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSlider* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSlider* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSlider* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSlider* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnSlider* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnSlider* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnSlider* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnSlider* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnSlider* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnSlider* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnSlider* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnSlider* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnSlider* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnSlider* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnSlider* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnSlider* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnSlider* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnSlider* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnSlider* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnSlider* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnSlider* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnSlider* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnSlider* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnSlider* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnSlider* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnSlider* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnSlider* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnSlider* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSlider* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSlider* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnSlider* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnSlider* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_minimum)(IAvnSlider* self, double* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_minimum)(IAvnSlider* self, double value); /* slot 98 */ - AvnHResult (AVN_CALL *get_maximum)(IAvnSlider* self, double* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_maximum)(IAvnSlider* self, double value); /* slot 100 */ - AvnHResult (AVN_CALL *get_value)(IAvnSlider* self, double* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_value)(IAvnSlider* self, double value); /* slot 102 */ - AvnHResult (AVN_CALL *get_small_change)(IAvnSlider* self, double* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_small_change)(IAvnSlider* self, double value); /* slot 104 */ - AvnHResult (AVN_CALL *get_large_change)(IAvnSlider* self, double* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_large_change)(IAvnSlider* self, double value); /* slot 106 */ - AvnHResult (AVN_CALL *advise_value_changed)(IAvnSlider* self, IAvnRangeBaseValueChangedHandler* handler, int64_t* subscription_id); /* slot 107 */ - AvnHResult (AVN_CALL *unadvise_value_changed)(IAvnSlider* self, int64_t subscription_id); /* slot 108 */ - AvnHResult (AVN_CALL *get_ticks)(IAvnSlider* self, uint16_t** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_ticks)(IAvnSlider* self, const uint16_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_orientation)(IAvnSlider* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_orientation)(IAvnSlider* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_direction_reversed)(IAvnSlider* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_direction_reversed)(IAvnSlider* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_snap_to_tick_enabled)(IAvnSlider* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_snap_to_tick_enabled)(IAvnSlider* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_tick_frequency)(IAvnSlider* self, double* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_tick_frequency)(IAvnSlider* self, double value); /* slot 118 */ - AvnHResult (AVN_CALL *get_tick_placement)(IAvnSlider* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_tick_placement)(IAvnSlider* self, int32_t value); /* slot 120 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnSlider* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnSlider* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnSlider* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnSlider* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnSlider* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnSlider* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSlider* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnSlider* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSlider* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnSlider* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSlider* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnSlider* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnSlider* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnSlider* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnSlider* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnSlider* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSlider* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnSlider* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnSlider* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSlider* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSlider* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSlider* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSlider* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnSlider* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnSlider* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnSlider* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnSlider* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnSlider* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnSlider* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnSlider* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnSlider* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnSlider* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnSlider* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnSlider* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnSlider* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnSlider* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnSlider* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnSlider* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnSlider* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnSlider* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnSlider* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnSlider* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnSlider* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnSlider* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnSlider* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnSlider* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnSlider* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnSlider* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnSlider* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnSlider* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnSlider* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnSlider* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnSlider* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSlider* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSlider* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnSlider* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnSlider* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_minimum)(IAvnSlider* self, double* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_minimum)(IAvnSlider* self, double value); /* slot 113 */ + AvnHResult (AVN_CALL *get_maximum)(IAvnSlider* self, double* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_maximum)(IAvnSlider* self, double value); /* slot 115 */ + AvnHResult (AVN_CALL *get_value)(IAvnSlider* self, double* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_value)(IAvnSlider* self, double value); /* slot 117 */ + AvnHResult (AVN_CALL *get_small_change)(IAvnSlider* self, double* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_small_change)(IAvnSlider* self, double value); /* slot 119 */ + AvnHResult (AVN_CALL *get_large_change)(IAvnSlider* self, double* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_large_change)(IAvnSlider* self, double value); /* slot 121 */ + AvnHResult (AVN_CALL *advise_value_changed)(IAvnSlider* self, IAvnRangeBaseValueChangedHandler* handler, int64_t* subscription_id); /* slot 122 */ + AvnHResult (AVN_CALL *unadvise_value_changed)(IAvnSlider* self, int64_t subscription_id); /* slot 123 */ + AvnHResult (AVN_CALL *get_ticks)(IAvnSlider* self, uint16_t** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_ticks)(IAvnSlider* self, const uint16_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_orientation)(IAvnSlider* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_orientation)(IAvnSlider* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_direction_reversed)(IAvnSlider* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_direction_reversed)(IAvnSlider* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_snap_to_tick_enabled)(IAvnSlider* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_snap_to_tick_enabled)(IAvnSlider* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_tick_frequency)(IAvnSlider* self, double* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_tick_frequency)(IAvnSlider* self, double value); /* slot 133 */ + AvnHResult (AVN_CALL *get_tick_placement)(IAvnSlider* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_tick_placement)(IAvnSlider* self, int32_t value); /* slot 135 */ }; struct IAvnSlider { const IAvnSliderVtbl* vtbl; }; -#define I_AVN_SLIDER_VTABLE_SLOTS 121 +#define I_AVN_SLIDER_VTABLE_SLOTS 136 static const AvnGuid I_AVN_SPINNER_IID = { - 0x6AAEEDDC, - 0x0307, - 0x57B2, - { 0x9F, 0xA5, 0x30, 0xA2, 0x7D, 0xC1, 0x95, 0x8E } + 0xB3D288E3, + 0x9138, + 0x530A, + { 0x96, 0xBE, 0x4B, 0x27, 0x4D, 0xF1, 0x15, 0xF2 } }; -#define I_AVN_SPINNER_ABI_VERSION 9 +#define I_AVN_SPINNER_ABI_VERSION 12 struct IAvnSpinnerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnSpinner* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnSpinner* self); /* slot 1 */ @@ -10976,71 +12146,86 @@ struct IAvnSpinnerVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnSpinner* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnSpinner* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnSpinner* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnSpinner* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnSpinner* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnSpinner* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSpinner* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnSpinner* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSpinner* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnSpinner* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSpinner* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnSpinner* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSpinner* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSpinner* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSpinner* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSpinner* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSpinner* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnSpinner* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnSpinner* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnSpinner* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnSpinner* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnSpinner* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnSpinner* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnSpinner* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnSpinner* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnSpinner* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnSpinner* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnSpinner* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnSpinner* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnSpinner* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnSpinner* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnSpinner* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnSpinner* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnSpinner* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnSpinner* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnSpinner* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnSpinner* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnSpinner* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnSpinner* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnSpinner* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnSpinner* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSpinner* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSpinner* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnSpinner* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnSpinner* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnSpinner* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnSpinner* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnSpinner* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnSpinner* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnSpinner* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnSpinner* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnSpinner* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnSpinner* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_valid_spin_direction)(IAvnSpinner* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_valid_spin_direction)(IAvnSpinner* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *advise_spin)(IAvnSpinner* self, IAvnSpinnerSpinHandler* handler, int64_t* subscription_id); /* slot 107 */ - AvnHResult (AVN_CALL *unadvise_spin)(IAvnSpinner* self, int64_t subscription_id); /* slot 108 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnSpinner* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnSpinner* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnSpinner* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnSpinner* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnSpinner* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnSpinner* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSpinner* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnSpinner* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSpinner* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnSpinner* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSpinner* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnSpinner* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnSpinner* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnSpinner* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnSpinner* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnSpinner* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSpinner* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnSpinner* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnSpinner* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSpinner* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSpinner* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSpinner* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSpinner* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnSpinner* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnSpinner* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnSpinner* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnSpinner* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnSpinner* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnSpinner* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnSpinner* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnSpinner* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnSpinner* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnSpinner* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnSpinner* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnSpinner* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnSpinner* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnSpinner* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnSpinner* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnSpinner* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnSpinner* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnSpinner* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnSpinner* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnSpinner* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnSpinner* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnSpinner* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnSpinner* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnSpinner* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnSpinner* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnSpinner* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnSpinner* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnSpinner* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnSpinner* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnSpinner* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSpinner* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSpinner* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnSpinner* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnSpinner* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnSpinner* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnSpinner* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnSpinner* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnSpinner* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnSpinner* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnSpinner* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnSpinner* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnSpinner* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_valid_spin_direction)(IAvnSpinner* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_valid_spin_direction)(IAvnSpinner* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *advise_spin)(IAvnSpinner* self, IAvnSpinnerSpinHandler* handler, int64_t* subscription_id); /* slot 122 */ + AvnHResult (AVN_CALL *unadvise_spin)(IAvnSpinner* self, int64_t subscription_id); /* slot 123 */ }; struct IAvnSpinner { const IAvnSpinnerVtbl* vtbl; }; -#define I_AVN_SPINNER_VTABLE_SLOTS 109 +#define I_AVN_SPINNER_VTABLE_SLOTS 124 static const AvnGuid I_AVN_SPLIT_BUTTON_IID = { - 0x1937A395, - 0xDF68, - 0x5F9F, - { 0x94, 0xC1, 0x07, 0x24, 0x63, 0x80, 0x57, 0x3C } + 0xE162F1F5, + 0x7BC8, + 0x59CB, + { 0x82, 0xD6, 0x9A, 0x2A, 0x47, 0xF6, 0x88, 0x84 } }; -#define I_AVN_SPLIT_BUTTON_ABI_VERSION 12 +#define I_AVN_SPLIT_BUTTON_ABI_VERSION 15 struct IAvnSplitButtonVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnSplitButton* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnSplitButton* self); /* slot 1 */ @@ -11097,77 +12282,92 @@ struct IAvnSplitButtonVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnSplitButton* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnSplitButton* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnSplitButton* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnSplitButton* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnSplitButton* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnSplitButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSplitButton* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnSplitButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSplitButton* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnSplitButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSplitButton* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnSplitButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSplitButton* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSplitButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSplitButton* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSplitButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSplitButton* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnSplitButton* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnSplitButton* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnSplitButton* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnSplitButton* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnSplitButton* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnSplitButton* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnSplitButton* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnSplitButton* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnSplitButton* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnSplitButton* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnSplitButton* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnSplitButton* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnSplitButton* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnSplitButton* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnSplitButton* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnSplitButton* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnSplitButton* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnSplitButton* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnSplitButton* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnSplitButton* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnSplitButton* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnSplitButton* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnSplitButton* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnSplitButton* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSplitButton* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSplitButton* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnSplitButton* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnSplitButton* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnSplitButton* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnSplitButton* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnSplitButton* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnSplitButton* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnSplitButton* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnSplitButton* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnSplitButton* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnSplitButton* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_command)(IAvnSplitButton* self, IAvnCommand** value); /* slot 105 */ - AvnHResult (AVN_CALL *set_command)(IAvnSplitButton* self, IAvnCommand* value); /* slot 106 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnSplitButton* self, AvnVariant* value); /* slot 107 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnSplitButton* self, AvnVariant value); /* slot 108 */ - AvnHResult (AVN_CALL *get_flyout)(IAvnSplitButton* self, IAvnFlyoutBase** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_flyout)(IAvnSplitButton* self, IAvnFlyoutBase* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnSplitButton* self, uint16_t** value); /* slot 111 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnSplitButton* self, const uint16_t* value); /* slot 112 */ - AvnHResult (AVN_CALL *advise_click)(IAvnSplitButton* self, IAvnSplitButtonClickHandler* handler, int64_t* subscription_id); /* slot 113 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnSplitButton* self, int64_t subscription_id); /* slot 114 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnSplitButton* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnSplitButton* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnSplitButton* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnSplitButton* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnSplitButton* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnSplitButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSplitButton* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnSplitButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSplitButton* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnSplitButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSplitButton* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnSplitButton* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnSplitButton* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnSplitButton* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnSplitButton* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnSplitButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSplitButton* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnSplitButton* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnSplitButton* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSplitButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSplitButton* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSplitButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSplitButton* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnSplitButton* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnSplitButton* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnSplitButton* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnSplitButton* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnSplitButton* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnSplitButton* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnSplitButton* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnSplitButton* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnSplitButton* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnSplitButton* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnSplitButton* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnSplitButton* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnSplitButton* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnSplitButton* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnSplitButton* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnSplitButton* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnSplitButton* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnSplitButton* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnSplitButton* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnSplitButton* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnSplitButton* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnSplitButton* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnSplitButton* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnSplitButton* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnSplitButton* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnSplitButton* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnSplitButton* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnSplitButton* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnSplitButton* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnSplitButton* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSplitButton* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSplitButton* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnSplitButton* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnSplitButton* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnSplitButton* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnSplitButton* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnSplitButton* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnSplitButton* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnSplitButton* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnSplitButton* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnSplitButton* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnSplitButton* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_command)(IAvnSplitButton* self, IAvnCommand** value); /* slot 120 */ + AvnHResult (AVN_CALL *set_command)(IAvnSplitButton* self, IAvnCommand* value); /* slot 121 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnSplitButton* self, AvnVariant* value); /* slot 122 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnSplitButton* self, AvnVariant value); /* slot 123 */ + AvnHResult (AVN_CALL *get_flyout)(IAvnSplitButton* self, IAvnFlyoutBase** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_flyout)(IAvnSplitButton* self, IAvnFlyoutBase* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnSplitButton* self, uint16_t** value); /* slot 126 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnSplitButton* self, const uint16_t* value); /* slot 127 */ + AvnHResult (AVN_CALL *advise_click)(IAvnSplitButton* self, IAvnSplitButtonClickHandler* handler, int64_t* subscription_id); /* slot 128 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnSplitButton* self, int64_t subscription_id); /* slot 129 */ }; struct IAvnSplitButton { const IAvnSplitButtonVtbl* vtbl; }; -#define I_AVN_SPLIT_BUTTON_VTABLE_SLOTS 115 +#define I_AVN_SPLIT_BUTTON_VTABLE_SLOTS 130 static const AvnGuid I_AVN_SPLIT_VIEW_IID = { - 0x51ED3B0D, - 0x0AAB, - 0x5AA3, - { 0x9C, 0x4E, 0x50, 0x1C, 0x60, 0x27, 0xE7, 0x74 } + 0x5AA9070F, + 0xD947, + 0x566B, + { 0x93, 0x1C, 0xEF, 0x80, 0x55, 0x0E, 0xE6, 0x3E } }; -#define I_AVN_SPLIT_VIEW_ABI_VERSION 9 +#define I_AVN_SPLIT_VIEW_ABI_VERSION 12 struct IAvnSplitViewVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnSplitView* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnSplitView* self); /* slot 1 */ @@ -11224,93 +12424,108 @@ struct IAvnSplitViewVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnSplitView* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnSplitView* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnSplitView* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnSplitView* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnSplitView* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnSplitView* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSplitView* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnSplitView* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSplitView* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnSplitView* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSplitView* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnSplitView* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSplitView* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSplitView* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSplitView* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSplitView* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSplitView* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnSplitView* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnSplitView* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnSplitView* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnSplitView* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnSplitView* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnSplitView* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnSplitView* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnSplitView* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnSplitView* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnSplitView* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnSplitView* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnSplitView* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnSplitView* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnSplitView* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnSplitView* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnSplitView* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnSplitView* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnSplitView* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnSplitView* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnSplitView* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnSplitView* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnSplitView* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnSplitView* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnSplitView* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSplitView* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSplitView* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnSplitView* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnSplitView* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnSplitView* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnSplitView* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnSplitView* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnSplitView* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnSplitView* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnSplitView* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnSplitView* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnSplitView* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_compact_pane_length)(IAvnSplitView* self, double* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_compact_pane_length)(IAvnSplitView* self, double value); /* slot 106 */ - AvnHResult (AVN_CALL *get_display_mode)(IAvnSplitView* self, int32_t* value); /* slot 107 */ - AvnHResult (AVN_CALL *set_display_mode)(IAvnSplitView* self, int32_t value); /* slot 108 */ - AvnHResult (AVN_CALL *get_is_pane_open)(IAvnSplitView* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_is_pane_open)(IAvnSplitView* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_open_pane_length)(IAvnSplitView* self, double* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_open_pane_length)(IAvnSplitView* self, double value); /* slot 112 */ - AvnHResult (AVN_CALL *get_pane_background)(IAvnSplitView* self, IAvnBrush** value); /* slot 113 */ - AvnHResult (AVN_CALL *set_pane_background)(IAvnSplitView* self, IAvnBrush* value); /* slot 114 */ - AvnHResult (AVN_CALL *get_pane_placement)(IAvnSplitView* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_pane_placement)(IAvnSplitView* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_pane)(IAvnSplitView* self, IAvnControl** value); /* slot 117 */ - AvnHResult (AVN_CALL *set_pane)(IAvnSplitView* self, IAvnControl* value); /* slot 118 */ - AvnHResult (AVN_CALL *get_pane_template)(IAvnSplitView* self, IAvnDataTemplate** value); /* slot 119 */ - AvnHResult (AVN_CALL *set_pane_template)(IAvnSplitView* self, IAvnDataTemplate* value); /* slot 120 */ - AvnHResult (AVN_CALL *get_use_light_dismiss_overlay_mode)(IAvnSplitView* self, int32_t* value); /* slot 121 */ - AvnHResult (AVN_CALL *set_use_light_dismiss_overlay_mode)(IAvnSplitView* self, int32_t value); /* slot 122 */ - AvnHResult (AVN_CALL *advise_pane_closed)(IAvnSplitView* self, IAvnSplitViewPaneClosedHandler* handler, int64_t* subscription_id); /* slot 123 */ - AvnHResult (AVN_CALL *unadvise_pane_closed)(IAvnSplitView* self, int64_t subscription_id); /* slot 124 */ - AvnHResult (AVN_CALL *advise_pane_closing)(IAvnSplitView* self, IAvnSplitViewPaneClosingHandler* handler, int64_t* subscription_id); /* slot 125 */ - AvnHResult (AVN_CALL *unadvise_pane_closing)(IAvnSplitView* self, int64_t subscription_id); /* slot 126 */ - AvnHResult (AVN_CALL *advise_pane_opened)(IAvnSplitView* self, IAvnSplitViewPaneOpenedHandler* handler, int64_t* subscription_id); /* slot 127 */ - AvnHResult (AVN_CALL *unadvise_pane_opened)(IAvnSplitView* self, int64_t subscription_id); /* slot 128 */ - AvnHResult (AVN_CALL *advise_pane_opening)(IAvnSplitView* self, IAvnSplitViewPaneOpeningHandler* handler, int64_t* subscription_id); /* slot 129 */ - AvnHResult (AVN_CALL *unadvise_pane_opening)(IAvnSplitView* self, int64_t subscription_id); /* slot 130 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnSplitView* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnSplitView* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnSplitView* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnSplitView* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnSplitView* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnSplitView* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnSplitView* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnSplitView* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnSplitView* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnSplitView* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnSplitView* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnSplitView* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnSplitView* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnSplitView* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnSplitView* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnSplitView* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnSplitView* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnSplitView* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnSplitView* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnSplitView* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnSplitView* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnSplitView* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnSplitView* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnSplitView* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnSplitView* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnSplitView* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnSplitView* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnSplitView* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnSplitView* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnSplitView* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnSplitView* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnSplitView* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnSplitView* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnSplitView* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnSplitView* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnSplitView* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnSplitView* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnSplitView* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnSplitView* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnSplitView* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnSplitView* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnSplitView* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnSplitView* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnSplitView* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnSplitView* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnSplitView* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnSplitView* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnSplitView* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnSplitView* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnSplitView* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnSplitView* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnSplitView* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnSplitView* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnSplitView* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnSplitView* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnSplitView* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnSplitView* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnSplitView* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnSplitView* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnSplitView* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnSplitView* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnSplitView* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnSplitView* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnSplitView* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnSplitView* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_compact_pane_length)(IAvnSplitView* self, double* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_compact_pane_length)(IAvnSplitView* self, double value); /* slot 121 */ + AvnHResult (AVN_CALL *get_display_mode)(IAvnSplitView* self, int32_t* value); /* slot 122 */ + AvnHResult (AVN_CALL *set_display_mode)(IAvnSplitView* self, int32_t value); /* slot 123 */ + AvnHResult (AVN_CALL *get_is_pane_open)(IAvnSplitView* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_is_pane_open)(IAvnSplitView* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_open_pane_length)(IAvnSplitView* self, double* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_open_pane_length)(IAvnSplitView* self, double value); /* slot 127 */ + AvnHResult (AVN_CALL *get_pane_background)(IAvnSplitView* self, IAvnBrush** value); /* slot 128 */ + AvnHResult (AVN_CALL *set_pane_background)(IAvnSplitView* self, IAvnBrush* value); /* slot 129 */ + AvnHResult (AVN_CALL *get_pane_placement)(IAvnSplitView* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_pane_placement)(IAvnSplitView* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_pane)(IAvnSplitView* self, IAvnControl** value); /* slot 132 */ + AvnHResult (AVN_CALL *set_pane)(IAvnSplitView* self, IAvnControl* value); /* slot 133 */ + AvnHResult (AVN_CALL *get_pane_template)(IAvnSplitView* self, IAvnDataTemplate** value); /* slot 134 */ + AvnHResult (AVN_CALL *set_pane_template)(IAvnSplitView* self, IAvnDataTemplate* value); /* slot 135 */ + AvnHResult (AVN_CALL *get_use_light_dismiss_overlay_mode)(IAvnSplitView* self, int32_t* value); /* slot 136 */ + AvnHResult (AVN_CALL *set_use_light_dismiss_overlay_mode)(IAvnSplitView* self, int32_t value); /* slot 137 */ + AvnHResult (AVN_CALL *advise_pane_closed)(IAvnSplitView* self, IAvnSplitViewPaneClosedHandler* handler, int64_t* subscription_id); /* slot 138 */ + AvnHResult (AVN_CALL *unadvise_pane_closed)(IAvnSplitView* self, int64_t subscription_id); /* slot 139 */ + AvnHResult (AVN_CALL *advise_pane_closing)(IAvnSplitView* self, IAvnSplitViewPaneClosingHandler* handler, int64_t* subscription_id); /* slot 140 */ + AvnHResult (AVN_CALL *unadvise_pane_closing)(IAvnSplitView* self, int64_t subscription_id); /* slot 141 */ + AvnHResult (AVN_CALL *advise_pane_opened)(IAvnSplitView* self, IAvnSplitViewPaneOpenedHandler* handler, int64_t* subscription_id); /* slot 142 */ + AvnHResult (AVN_CALL *unadvise_pane_opened)(IAvnSplitView* self, int64_t subscription_id); /* slot 143 */ + AvnHResult (AVN_CALL *advise_pane_opening)(IAvnSplitView* self, IAvnSplitViewPaneOpeningHandler* handler, int64_t* subscription_id); /* slot 144 */ + AvnHResult (AVN_CALL *unadvise_pane_opening)(IAvnSplitView* self, int64_t subscription_id); /* slot 145 */ }; struct IAvnSplitView { const IAvnSplitViewVtbl* vtbl; }; -#define I_AVN_SPLIT_VIEW_VTABLE_SLOTS 131 +#define I_AVN_SPLIT_VIEW_VTABLE_SLOTS 146 static const AvnGuid I_AVN_STACK_PANEL_IID = { - 0x2104EA3B, - 0x6DCB, - 0x5691, - { 0xAE, 0x36, 0xAB, 0x75, 0xB8, 0x19, 0xF2, 0x83 } + 0x6CBE349A, + 0xE815, + 0x55A1, + { 0xBB, 0xD8, 0xB4, 0x39, 0x51, 0x56, 0x7D, 0xC1 } }; -#define I_AVN_STACK_PANEL_ABI_VERSION 12 +#define I_AVN_STACK_PANEL_ABI_VERSION 15 struct IAvnStackPanelVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnStackPanel* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnStackPanel* self); /* slot 1 */ @@ -11367,34 +12582,49 @@ struct IAvnStackPanelVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnStackPanel* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnStackPanel* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnStackPanel* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnStackPanel* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnStackPanel* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnStackPanel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnStackPanel* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnStackPanel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnStackPanel* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnStackPanel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnStackPanel* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnStackPanel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnStackPanel* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnStackPanel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnStackPanel* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnStackPanel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnStackPanel* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_children)(IAvnStackPanel* self, IAvnControlList** value); /* slot 69 */ - AvnHResult (AVN_CALL *get_background)(IAvnStackPanel* self, IAvnBrush** value); /* slot 70 */ - AvnHResult (AVN_CALL *set_background)(IAvnStackPanel* self, IAvnBrush* value); /* slot 71 */ - AvnHResult (AVN_CALL *get_spacing)(IAvnStackPanel* self, double* value); /* slot 72 */ - AvnHResult (AVN_CALL *set_spacing)(IAvnStackPanel* self, double value); /* slot 73 */ - AvnHResult (AVN_CALL *get_orientation)(IAvnStackPanel* self, int32_t* value); /* slot 74 */ - AvnHResult (AVN_CALL *set_orientation)(IAvnStackPanel* self, int32_t value); /* slot 75 */ - AvnHResult (AVN_CALL *get_are_horizontal_snap_points_regular)(IAvnStackPanel* self, int32_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *set_are_horizontal_snap_points_regular)(IAvnStackPanel* self, int32_t value); /* slot 77 */ - AvnHResult (AVN_CALL *get_are_vertical_snap_points_regular)(IAvnStackPanel* self, int32_t* value); /* slot 78 */ - AvnHResult (AVN_CALL *set_are_vertical_snap_points_regular)(IAvnStackPanel* self, int32_t value); /* slot 79 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnStackPanel* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnStackPanel* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnStackPanel* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnStackPanel* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnStackPanel* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnStackPanel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnStackPanel* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnStackPanel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnStackPanel* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnStackPanel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnStackPanel* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnStackPanel* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnStackPanel* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnStackPanel* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnStackPanel* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnStackPanel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnStackPanel* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnStackPanel* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnStackPanel* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnStackPanel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnStackPanel* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnStackPanel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnStackPanel* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnStackPanel* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnStackPanel* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnStackPanel* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnStackPanel* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnStackPanel* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnStackPanel* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_children)(IAvnStackPanel* self, IAvnControlList** value); /* slot 84 */ + AvnHResult (AVN_CALL *get_background)(IAvnStackPanel* self, IAvnBrush** value); /* slot 85 */ + AvnHResult (AVN_CALL *set_background)(IAvnStackPanel* self, IAvnBrush* value); /* slot 86 */ + AvnHResult (AVN_CALL *get_spacing)(IAvnStackPanel* self, double* value); /* slot 87 */ + AvnHResult (AVN_CALL *set_spacing)(IAvnStackPanel* self, double value); /* slot 88 */ + AvnHResult (AVN_CALL *get_orientation)(IAvnStackPanel* self, int32_t* value); /* slot 89 */ + AvnHResult (AVN_CALL *set_orientation)(IAvnStackPanel* self, int32_t value); /* slot 90 */ + AvnHResult (AVN_CALL *get_are_horizontal_snap_points_regular)(IAvnStackPanel* self, int32_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *set_are_horizontal_snap_points_regular)(IAvnStackPanel* self, int32_t value); /* slot 92 */ + AvnHResult (AVN_CALL *get_are_vertical_snap_points_regular)(IAvnStackPanel* self, int32_t* value); /* slot 93 */ + AvnHResult (AVN_CALL *set_are_vertical_snap_points_regular)(IAvnStackPanel* self, int32_t value); /* slot 94 */ }; struct IAvnStackPanel { const IAvnStackPanelVtbl* vtbl; }; -#define I_AVN_STACK_PANEL_VTABLE_SLOTS 80 +#define I_AVN_STACK_PANEL_VTABLE_SLOTS 95 static const AvnGuid I_AVN_STYLED_ELEMENT_IID = { 0x383D0620, @@ -11435,12 +12665,12 @@ struct IAvnStyledElement { const IAvnStyledElementVtbl* vtbl; }; #define I_AVN_STYLED_ELEMENT_VTABLE_SLOTS 26 static const AvnGuid I_AVN_TAB_CONTROL_IID = { - 0xC4664936, - 0x3D85, - 0x52A7, - { 0xB4, 0x8C, 0x4C, 0xC3, 0x2C, 0xA9, 0xB3, 0xA1 } + 0x08959EF6, + 0x348B, + 0x51EC, + { 0x8B, 0xE3, 0xD3, 0xAE, 0x47, 0xB8, 0x61, 0xBF } }; -#define I_AVN_TAB_CONTROL_ABI_VERSION 12 +#define I_AVN_TAB_CONTROL_ABI_VERSION 15 struct IAvnTabControlVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTabControl* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTabControl* self); /* slot 1 */ @@ -11497,97 +12727,112 @@ struct IAvnTabControlVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnTabControl* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnTabControl* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnTabControl* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnTabControl* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnTabControl* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnTabControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTabControl* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnTabControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTabControl* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnTabControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTabControl* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnTabControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTabControl* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTabControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTabControl* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTabControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTabControl* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnTabControl* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnTabControl* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnTabControl* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnTabControl* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnTabControl* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnTabControl* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnTabControl* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnTabControl* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnTabControl* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnTabControl* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnTabControl* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnTabControl* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnTabControl* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnTabControl* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnTabControl* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnTabControl* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnTabControl* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnTabControl* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnTabControl* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnTabControl* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnTabControl* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnTabControl* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnTabControl* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnTabControl* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTabControl* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTabControl* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnTabControl* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnTabControl* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnTabControl* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnTabControl* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnTabControl* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnTabControl* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnTabControl* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnTabControl* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnTabControl* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnTabControl* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnTabControl* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnTabControl* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnTabControl* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnTabControl* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnTabControl* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnTabControl* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selected_index)(IAvnTabControl* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selected_index)(IAvnTabControl* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnTabControl* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnTabControl* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_value)(IAvnTabControl* self, AvnVariant* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_value)(IAvnTabControl* self, AvnVariant value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnTabControl* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnTabControl* self, int32_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_wrap_selection)(IAvnTabControl* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_wrap_selection)(IAvnTabControl* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnTabControl* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnTabControl* self, int64_t subscription_id); /* slot 122 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnTabControl* self, int32_t* value); /* slot 123 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnTabControl* self, int32_t value); /* slot 124 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTabControl* self, int32_t* value); /* slot 125 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTabControl* self, int32_t value); /* slot 126 */ - AvnHResult (AVN_CALL *get_tab_strip_placement)(IAvnTabControl* self, int32_t* value); /* slot 127 */ - AvnHResult (AVN_CALL *set_tab_strip_placement)(IAvnTabControl* self, int32_t value); /* slot 128 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnTabControl* self, IAvnDataTemplate** value); /* slot 129 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnTabControl* self, IAvnDataTemplate* value); /* slot 130 */ - AvnHResult (AVN_CALL *get_selected_content)(IAvnTabControl* self, AvnVariant* value); /* slot 131 */ - AvnHResult (AVN_CALL *get_selected_content_template)(IAvnTabControl* self, IAvnDataTemplate** value); /* slot 132 */ - AvnHResult (AVN_CALL *get_indicator_template)(IAvnTabControl* self, IAvnDataTemplate** value); /* slot 133 */ - AvnHResult (AVN_CALL *set_indicator_template)(IAvnTabControl* self, IAvnDataTemplate* value); /* slot 134 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnTabControl* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnTabControl* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnTabControl* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnTabControl* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnTabControl* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnTabControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTabControl* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnTabControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTabControl* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnTabControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTabControl* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnTabControl* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnTabControl* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnTabControl* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnTabControl* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnTabControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTabControl* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnTabControl* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnTabControl* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTabControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTabControl* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTabControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTabControl* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnTabControl* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnTabControl* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnTabControl* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnTabControl* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnTabControl* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnTabControl* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnTabControl* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnTabControl* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnTabControl* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnTabControl* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnTabControl* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnTabControl* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnTabControl* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnTabControl* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnTabControl* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnTabControl* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnTabControl* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnTabControl* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnTabControl* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnTabControl* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnTabControl* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnTabControl* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnTabControl* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnTabControl* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnTabControl* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnTabControl* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnTabControl* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnTabControl* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnTabControl* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnTabControl* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTabControl* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTabControl* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnTabControl* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnTabControl* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnTabControl* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnTabControl* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnTabControl* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnTabControl* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnTabControl* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnTabControl* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnTabControl* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnTabControl* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnTabControl* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnTabControl* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnTabControl* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnTabControl* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnTabControl* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnTabControl* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selected_index)(IAvnTabControl* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selected_index)(IAvnTabControl* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnTabControl* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnTabControl* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_value)(IAvnTabControl* self, AvnVariant* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_value)(IAvnTabControl* self, AvnVariant value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnTabControl* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnTabControl* self, int32_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_wrap_selection)(IAvnTabControl* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_wrap_selection)(IAvnTabControl* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnTabControl* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnTabControl* self, int64_t subscription_id); /* slot 137 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnTabControl* self, int32_t* value); /* slot 138 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnTabControl* self, int32_t value); /* slot 139 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTabControl* self, int32_t* value); /* slot 140 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTabControl* self, int32_t value); /* slot 141 */ + AvnHResult (AVN_CALL *get_tab_strip_placement)(IAvnTabControl* self, int32_t* value); /* slot 142 */ + AvnHResult (AVN_CALL *set_tab_strip_placement)(IAvnTabControl* self, int32_t value); /* slot 143 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnTabControl* self, IAvnDataTemplate** value); /* slot 144 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnTabControl* self, IAvnDataTemplate* value); /* slot 145 */ + AvnHResult (AVN_CALL *get_selected_content)(IAvnTabControl* self, AvnVariant* value); /* slot 146 */ + AvnHResult (AVN_CALL *get_selected_content_template)(IAvnTabControl* self, IAvnDataTemplate** value); /* slot 147 */ + AvnHResult (AVN_CALL *get_indicator_template)(IAvnTabControl* self, IAvnDataTemplate** value); /* slot 148 */ + AvnHResult (AVN_CALL *set_indicator_template)(IAvnTabControl* self, IAvnDataTemplate* value); /* slot 149 */ }; struct IAvnTabControl { const IAvnTabControlVtbl* vtbl; }; -#define I_AVN_TAB_CONTROL_VTABLE_SLOTS 135 +#define I_AVN_TAB_CONTROL_VTABLE_SLOTS 150 static const AvnGuid I_AVN_TAB_ITEM_IID = { - 0xF2FF8148, - 0x506B, - 0x5823, - { 0xB9, 0x9B, 0xF1, 0x0D, 0xD0, 0x6A, 0xC7, 0xDE } + 0x7FFA8FBC, + 0x579E, + 0x5152, + { 0xA5, 0xD1, 0xAF, 0xE1, 0x28, 0xCC, 0xB4, 0x70 } }; -#define I_AVN_TAB_ITEM_ABI_VERSION 11 +#define I_AVN_TAB_ITEM_ABI_VERSION 14 struct IAvnTabItemVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTabItem* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTabItem* self); /* slot 1 */ @@ -11644,80 +12889,95 @@ struct IAvnTabItemVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnTabItem* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnTabItem* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnTabItem* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnTabItem* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnTabItem* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnTabItem* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTabItem* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnTabItem* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTabItem* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnTabItem* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTabItem* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnTabItem* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTabItem* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTabItem* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTabItem* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTabItem* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTabItem* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnTabItem* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnTabItem* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnTabItem* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnTabItem* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnTabItem* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnTabItem* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnTabItem* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnTabItem* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnTabItem* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnTabItem* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnTabItem* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnTabItem* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnTabItem* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnTabItem* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnTabItem* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnTabItem* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnTabItem* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnTabItem* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnTabItem* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnTabItem* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnTabItem* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnTabItem* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnTabItem* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnTabItem* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTabItem* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTabItem* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnTabItem* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnTabItem* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnTabItem* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnTabItem* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnTabItem* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnTabItem* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnTabItem* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnTabItem* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTabItem* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTabItem* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_header)(IAvnTabItem* self, IAvnControl** value); /* slot 105 */ - AvnHResult (AVN_CALL *set_header)(IAvnTabItem* self, IAvnControl* value); /* slot 106 */ - AvnHResult (AVN_CALL *get_header_template)(IAvnTabItem* self, IAvnDataTemplate** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_header_template)(IAvnTabItem* self, IAvnDataTemplate* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_tab_strip_placement)(IAvnTabItem* self, uint16_t** value); /* slot 109 */ - AvnHResult (AVN_CALL *get_is_selected)(IAvnTabItem* self, int32_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *set_is_selected)(IAvnTabItem* self, int32_t value); /* slot 111 */ - AvnHResult (AVN_CALL *get_icon)(IAvnTabItem* self, AvnVariant* value); /* slot 112 */ - AvnHResult (AVN_CALL *set_icon)(IAvnTabItem* self, AvnVariant value); /* slot 113 */ - AvnHResult (AVN_CALL *get_icon_template)(IAvnTabItem* self, IAvnDataTemplate** value); /* slot 114 */ - AvnHResult (AVN_CALL *set_icon_template)(IAvnTabItem* self, IAvnDataTemplate* value); /* slot 115 */ - AvnHResult (AVN_CALL *get_indicator_template)(IAvnTabItem* self, IAvnDataTemplate** value); /* slot 116 */ - AvnHResult (AVN_CALL *set_indicator_template)(IAvnTabItem* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnTabItem* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnTabItem* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnTabItem* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnTabItem* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnTabItem* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnTabItem* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTabItem* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnTabItem* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTabItem* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnTabItem* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTabItem* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnTabItem* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnTabItem* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnTabItem* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnTabItem* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnTabItem* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTabItem* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnTabItem* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnTabItem* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTabItem* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTabItem* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTabItem* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTabItem* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnTabItem* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnTabItem* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnTabItem* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnTabItem* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnTabItem* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnTabItem* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnTabItem* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnTabItem* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnTabItem* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnTabItem* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnTabItem* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnTabItem* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnTabItem* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnTabItem* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnTabItem* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnTabItem* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnTabItem* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnTabItem* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnTabItem* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnTabItem* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnTabItem* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnTabItem* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnTabItem* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnTabItem* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnTabItem* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnTabItem* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnTabItem* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnTabItem* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnTabItem* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnTabItem* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTabItem* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTabItem* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnTabItem* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnTabItem* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnTabItem* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnTabItem* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnTabItem* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnTabItem* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnTabItem* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnTabItem* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTabItem* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTabItem* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_header)(IAvnTabItem* self, IAvnControl** value); /* slot 120 */ + AvnHResult (AVN_CALL *set_header)(IAvnTabItem* self, IAvnControl* value); /* slot 121 */ + AvnHResult (AVN_CALL *get_header_template)(IAvnTabItem* self, IAvnDataTemplate** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_header_template)(IAvnTabItem* self, IAvnDataTemplate* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_tab_strip_placement)(IAvnTabItem* self, uint16_t** value); /* slot 124 */ + AvnHResult (AVN_CALL *get_is_selected)(IAvnTabItem* self, int32_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *set_is_selected)(IAvnTabItem* self, int32_t value); /* slot 126 */ + AvnHResult (AVN_CALL *get_icon)(IAvnTabItem* self, AvnVariant* value); /* slot 127 */ + AvnHResult (AVN_CALL *set_icon)(IAvnTabItem* self, AvnVariant value); /* slot 128 */ + AvnHResult (AVN_CALL *get_icon_template)(IAvnTabItem* self, IAvnDataTemplate** value); /* slot 129 */ + AvnHResult (AVN_CALL *set_icon_template)(IAvnTabItem* self, IAvnDataTemplate* value); /* slot 130 */ + AvnHResult (AVN_CALL *get_indicator_template)(IAvnTabItem* self, IAvnDataTemplate** value); /* slot 131 */ + AvnHResult (AVN_CALL *set_indicator_template)(IAvnTabItem* self, IAvnDataTemplate* value); /* slot 132 */ }; struct IAvnTabItem { const IAvnTabItemVtbl* vtbl; }; -#define I_AVN_TAB_ITEM_VTABLE_SLOTS 118 +#define I_AVN_TAB_ITEM_VTABLE_SLOTS 133 static const AvnGuid I_AVN_TABLE_VIEW_IID = { - 0xB0C8BD3E, - 0xD92C, - 0x542C, - { 0x8E, 0x78, 0x90, 0x20, 0xF9, 0xF5, 0xD0, 0xD8 } + 0x8653BEA5, + 0x66FE, + 0x5479, + { 0x87, 0xD0, 0x45, 0xC9, 0xD8, 0xFD, 0xC7, 0xEC } }; -#define I_AVN_TABLE_VIEW_ABI_VERSION 13 +#define I_AVN_TABLE_VIEW_ABI_VERSION 16 struct IAvnTableViewVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTableView* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTableView* self); /* slot 1 */ @@ -11774,93 +13034,108 @@ struct IAvnTableViewVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnTableView* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnTableView* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnTableView* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnTableView* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnTableView* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnTableView* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTableView* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnTableView* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTableView* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnTableView* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTableView* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnTableView* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTableView* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTableView* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTableView* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTableView* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTableView* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnTableView* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnTableView* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnTableView* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnTableView* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnTableView* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnTableView* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnTableView* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnTableView* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnTableView* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnTableView* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnTableView* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnTableView* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnTableView* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnTableView* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnTableView* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnTableView* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnTableView* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnTableView* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnTableView* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnTableView* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnTableView* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnTableView* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnTableView* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnTableView* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTableView* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTableView* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnTableView* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnTableView* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnTableView* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnTableView* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnTableView* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnTableView* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnTableView* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnTableView* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnTableView* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnTableView* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnTableView* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnTableView* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnTableView* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnTableView* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnTableView* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnTableView* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selected_index)(IAvnTableView* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selected_index)(IAvnTableView* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnTableView* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnTableView* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_value)(IAvnTableView* self, AvnVariant* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_value)(IAvnTableView* self, AvnVariant value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnTableView* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnTableView* self, int32_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_wrap_selection)(IAvnTableView* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_wrap_selection)(IAvnTableView* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnTableView* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnTableView* self, int64_t subscription_id); /* slot 122 */ - AvnHResult (AVN_CALL *get_selection_mode)(IAvnTableView* self, int32_t* value); /* slot 123 */ - AvnHResult (AVN_CALL *set_selection_mode)(IAvnTableView* self, int32_t value); /* slot 124 */ - AvnHResult (AVN_CALL *select_all)(IAvnTableView* self); /* slot 125 */ - AvnHResult (AVN_CALL *unselect_all)(IAvnTableView* self); /* slot 126 */ - AvnHResult (AVN_CALL *get_columns)(IAvnTableView* self, IAvnControlList** value); /* slot 127 */ - AvnHResult (AVN_CALL *set_columns)(IAvnTableView* self, IAvnControlList* value); /* slot 128 */ - AvnHResult (AVN_CALL *get_can_user_resize_columns)(IAvnTableView* self, int32_t* value); /* slot 129 */ - AvnHResult (AVN_CALL *set_can_user_resize_columns)(IAvnTableView* self, int32_t value); /* slot 130 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnTableView* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnTableView* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnTableView* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnTableView* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnTableView* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnTableView* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTableView* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnTableView* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTableView* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnTableView* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTableView* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnTableView* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnTableView* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnTableView* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnTableView* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnTableView* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTableView* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnTableView* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnTableView* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTableView* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTableView* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTableView* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTableView* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnTableView* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnTableView* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnTableView* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnTableView* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnTableView* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnTableView* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnTableView* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnTableView* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnTableView* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnTableView* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnTableView* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnTableView* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnTableView* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnTableView* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnTableView* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnTableView* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnTableView* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnTableView* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnTableView* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnTableView* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnTableView* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnTableView* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnTableView* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnTableView* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnTableView* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnTableView* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnTableView* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnTableView* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnTableView* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnTableView* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTableView* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTableView* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnTableView* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnTableView* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnTableView* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnTableView* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnTableView* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnTableView* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnTableView* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnTableView* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnTableView* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnTableView* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnTableView* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnTableView* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnTableView* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnTableView* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnTableView* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnTableView* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selected_index)(IAvnTableView* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selected_index)(IAvnTableView* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnTableView* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnTableView* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_value)(IAvnTableView* self, AvnVariant* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_value)(IAvnTableView* self, AvnVariant value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_text_search_enabled)(IAvnTableView* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_is_text_search_enabled)(IAvnTableView* self, int32_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_wrap_selection)(IAvnTableView* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_wrap_selection)(IAvnTableView* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnTableView* self, IAvnSelectingItemsControlSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnTableView* self, int64_t subscription_id); /* slot 137 */ + AvnHResult (AVN_CALL *get_selection_mode)(IAvnTableView* self, int32_t* value); /* slot 138 */ + AvnHResult (AVN_CALL *set_selection_mode)(IAvnTableView* self, int32_t value); /* slot 139 */ + AvnHResult (AVN_CALL *select_all)(IAvnTableView* self); /* slot 140 */ + AvnHResult (AVN_CALL *unselect_all)(IAvnTableView* self); /* slot 141 */ + AvnHResult (AVN_CALL *get_columns)(IAvnTableView* self, IAvnControlList** value); /* slot 142 */ + AvnHResult (AVN_CALL *set_columns)(IAvnTableView* self, IAvnControlList* value); /* slot 143 */ + AvnHResult (AVN_CALL *get_can_user_resize_columns)(IAvnTableView* self, int32_t* value); /* slot 144 */ + AvnHResult (AVN_CALL *set_can_user_resize_columns)(IAvnTableView* self, int32_t value); /* slot 145 */ }; struct IAvnTableView { const IAvnTableViewVtbl* vtbl; }; -#define I_AVN_TABLE_VIEW_VTABLE_SLOTS 131 +#define I_AVN_TABLE_VIEW_VTABLE_SLOTS 146 static const AvnGuid I_AVN_TABLE_VIEW_CELL_IID = { - 0x5FFBD394, - 0x21E2, - 0x5FA0, - { 0xA7, 0x38, 0xF8, 0x1C, 0xA2, 0x4C, 0xA1, 0x98 } + 0xFB82C6E3, + 0x9041, + 0x5212, + { 0xB8, 0x97, 0xE3, 0xDE, 0xC7, 0xEA, 0x63, 0x60 } }; -#define I_AVN_TABLE_VIEW_CELL_ABI_VERSION 11 +#define I_AVN_TABLE_VIEW_CELL_ABI_VERSION 14 struct IAvnTableViewCellVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTableViewCell* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTableViewCell* self); /* slot 1 */ @@ -11917,59 +13192,74 @@ struct IAvnTableViewCellVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnTableViewCell* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnTableViewCell* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnTableViewCell* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnTableViewCell* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnTableViewCell* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnTableViewCell* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnTableViewCell* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnTableViewCell* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnTableViewCell* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTableViewCell* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTableViewCell* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnTableViewCell* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnTableViewCell* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnTableViewCell* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnTableViewCell* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnTableViewCell* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnTableViewCell* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnTableViewCell* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnTableViewCell* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnTableViewCell* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnTableViewCell* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnTableViewCell* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnTableViewCell* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnTableViewCell* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnTableViewCell* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnTableViewCell* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnTableViewCell* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnTableViewCell* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnTableViewCell* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnTableViewCell* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnTableViewCell* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnTableViewCell* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnTableViewCell* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnTableViewCell* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnTableViewCell* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTableViewCell* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTableViewCell* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnTableViewCell* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnTableViewCell* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnTableViewCell* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnTableViewCell* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnTableViewCell* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnTableViewCell* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnTableViewCell* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnTableViewCell* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTableViewCell* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTableViewCell* self, int32_t value); /* slot 104 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnTableViewCell* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnTableViewCell* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnTableViewCell* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnTableViewCell* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnTableViewCell* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnTableViewCell* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnTableViewCell* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnTableViewCell* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnTableViewCell* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnTableViewCell* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnTableViewCell* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnTableViewCell* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTableViewCell* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTableViewCell* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnTableViewCell* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnTableViewCell* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnTableViewCell* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnTableViewCell* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnTableViewCell* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnTableViewCell* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnTableViewCell* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnTableViewCell* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnTableViewCell* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnTableViewCell* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnTableViewCell* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnTableViewCell* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnTableViewCell* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnTableViewCell* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnTableViewCell* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnTableViewCell* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnTableViewCell* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnTableViewCell* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnTableViewCell* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnTableViewCell* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnTableViewCell* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnTableViewCell* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnTableViewCell* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnTableViewCell* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnTableViewCell* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnTableViewCell* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnTableViewCell* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnTableViewCell* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTableViewCell* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTableViewCell* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnTableViewCell* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnTableViewCell* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnTableViewCell* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnTableViewCell* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnTableViewCell* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnTableViewCell* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnTableViewCell* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnTableViewCell* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTableViewCell* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTableViewCell* self, int32_t value); /* slot 119 */ }; struct IAvnTableViewCell { const IAvnTableViewCellVtbl* vtbl; }; -#define I_AVN_TABLE_VIEW_CELL_VTABLE_SLOTS 105 +#define I_AVN_TABLE_VIEW_CELL_VTABLE_SLOTS 120 static const AvnGuid I_AVN_TABLE_VIEW_COLUMN_IID = { 0xC3667189, @@ -12028,12 +13318,12 @@ struct IAvnTableViewColumn { const IAvnTableViewColumnVtbl* vtbl; }; #define I_AVN_TABLE_VIEW_COLUMN_VTABLE_SLOTS 44 static const AvnGuid I_AVN_TABLE_VIEW_ROW_IID = { - 0x785207CE, - 0x7A58, - 0x5074, - { 0x9C, 0xCD, 0x5D, 0xFA, 0x07, 0x71, 0xDF, 0x61 } + 0x25F888AF, + 0x361C, + 0x5B20, + { 0xAC, 0xB7, 0xCC, 0x9D, 0x17, 0x70, 0xD8, 0x98 } }; -#define I_AVN_TABLE_VIEW_ROW_ABI_VERSION 9 +#define I_AVN_TABLE_VIEW_ROW_ABI_VERSION 12 struct IAvnTableViewRowVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTableViewRow* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTableViewRow* self); /* slot 1 */ @@ -12090,69 +13380,84 @@ struct IAvnTableViewRowVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnTableViewRow* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnTableViewRow* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnTableViewRow* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnTableViewRow* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnTableViewRow* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnTableViewRow* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnTableViewRow* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnTableViewRow* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnTableViewRow* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTableViewRow* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTableViewRow* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnTableViewRow* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnTableViewRow* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnTableViewRow* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnTableViewRow* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnTableViewRow* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnTableViewRow* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnTableViewRow* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnTableViewRow* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnTableViewRow* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnTableViewRow* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnTableViewRow* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnTableViewRow* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnTableViewRow* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnTableViewRow* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnTableViewRow* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnTableViewRow* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnTableViewRow* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnTableViewRow* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnTableViewRow* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnTableViewRow* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnTableViewRow* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnTableViewRow* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnTableViewRow* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnTableViewRow* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTableViewRow* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTableViewRow* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnTableViewRow* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnTableViewRow* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnTableViewRow* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnTableViewRow* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnTableViewRow* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnTableViewRow* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnTableViewRow* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnTableViewRow* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTableViewRow* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTableViewRow* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_is_selected)(IAvnTableViewRow* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_is_selected)(IAvnTableViewRow* self, int32_t value); /* slot 106 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnTableViewRow* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnTableViewRow* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnTableViewRow* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnTableViewRow* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnTableViewRow* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnTableViewRow* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnTableViewRow* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnTableViewRow* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnTableViewRow* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnTableViewRow* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnTableViewRow* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnTableViewRow* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTableViewRow* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTableViewRow* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnTableViewRow* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnTableViewRow* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnTableViewRow* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnTableViewRow* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnTableViewRow* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnTableViewRow* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnTableViewRow* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnTableViewRow* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnTableViewRow* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnTableViewRow* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnTableViewRow* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnTableViewRow* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnTableViewRow* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnTableViewRow* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnTableViewRow* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnTableViewRow* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnTableViewRow* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnTableViewRow* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnTableViewRow* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnTableViewRow* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnTableViewRow* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnTableViewRow* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnTableViewRow* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnTableViewRow* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnTableViewRow* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnTableViewRow* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnTableViewRow* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnTableViewRow* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTableViewRow* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTableViewRow* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnTableViewRow* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnTableViewRow* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnTableViewRow* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnTableViewRow* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnTableViewRow* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnTableViewRow* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnTableViewRow* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnTableViewRow* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTableViewRow* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTableViewRow* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_is_selected)(IAvnTableViewRow* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_is_selected)(IAvnTableViewRow* self, int32_t value); /* slot 121 */ }; struct IAvnTableViewRow { const IAvnTableViewRowVtbl* vtbl; }; -#define I_AVN_TABLE_VIEW_ROW_VTABLE_SLOTS 107 +#define I_AVN_TABLE_VIEW_ROW_VTABLE_SLOTS 122 static const AvnGuid I_AVN_TEMPLATED_CONTROL_IID = { - 0xD71DF481, - 0xE9FE, - 0x5463, - { 0xBD, 0xA3, 0x7C, 0x05, 0x46, 0xC5, 0x71, 0x6A } + 0x1863F34C, + 0xF21F, + 0x5977, + { 0xA3, 0x05, 0x59, 0x39, 0xD8, 0x0C, 0xB8, 0xC5 } }; -#define I_AVN_TEMPLATED_CONTROL_ABI_VERSION 12 +#define I_AVN_TEMPLATED_CONTROL_ABI_VERSION 15 struct IAvnTemplatedControlVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTemplatedControl* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTemplatedControl* self); /* slot 1 */ @@ -12209,59 +13514,74 @@ struct IAvnTemplatedControlVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnTemplatedControl* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnTemplatedControl* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnTemplatedControl* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnTemplatedControl* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnTemplatedControl* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnTemplatedControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnTemplatedControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnTemplatedControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnTemplatedControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTemplatedControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTemplatedControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnTemplatedControl* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnTemplatedControl* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnTemplatedControl* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnTemplatedControl* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnTemplatedControl* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnTemplatedControl* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnTemplatedControl* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnTemplatedControl* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnTemplatedControl* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnTemplatedControl* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnTemplatedControl* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnTemplatedControl* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnTemplatedControl* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnTemplatedControl* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnTemplatedControl* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnTemplatedControl* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnTemplatedControl* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnTemplatedControl* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnTemplatedControl* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnTemplatedControl* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnTemplatedControl* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnTemplatedControl* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnTemplatedControl* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnTemplatedControl* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTemplatedControl* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTemplatedControl* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnTemplatedControl* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnTemplatedControl* self, AvnThickness value); /* slot 96 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnTemplatedControl* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnTemplatedControl* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnTemplatedControl* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnTemplatedControl* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnTemplatedControl* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnTemplatedControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnTemplatedControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnTemplatedControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnTemplatedControl* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnTemplatedControl* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnTemplatedControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnTemplatedControl* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTemplatedControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTemplatedControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnTemplatedControl* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnTemplatedControl* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnTemplatedControl* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnTemplatedControl* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnTemplatedControl* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnTemplatedControl* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnTemplatedControl* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnTemplatedControl* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnTemplatedControl* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnTemplatedControl* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnTemplatedControl* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnTemplatedControl* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnTemplatedControl* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnTemplatedControl* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnTemplatedControl* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnTemplatedControl* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnTemplatedControl* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnTemplatedControl* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnTemplatedControl* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnTemplatedControl* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnTemplatedControl* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnTemplatedControl* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnTemplatedControl* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnTemplatedControl* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnTemplatedControl* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnTemplatedControl* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnTemplatedControl* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnTemplatedControl* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTemplatedControl* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTemplatedControl* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnTemplatedControl* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnTemplatedControl* self, AvnThickness value); /* slot 111 */ }; struct IAvnTemplatedControl { const IAvnTemplatedControlVtbl* vtbl; }; -#define I_AVN_TEMPLATED_CONTROL_VTABLE_SLOTS 97 +#define I_AVN_TEMPLATED_CONTROL_VTABLE_SLOTS 112 static const AvnGuid I_AVN_TEXT_BLOCK_IID = { - 0x70059000, - 0x39BE, - 0x58FA, - { 0x96, 0x21, 0x50, 0xCB, 0x7B, 0xBF, 0x46, 0xB1 } + 0x47E06BD1, + 0x10DC, + 0x5267, + { 0xA5, 0x5F, 0xA5, 0xC3, 0xBB, 0x53, 0x62, 0x85 } }; -#define I_AVN_TEXT_BLOCK_ABI_VERSION 14 +#define I_AVN_TEXT_BLOCK_ABI_VERSION 17 struct IAvnTextBlockVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTextBlock* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTextBlock* self); /* slot 1 */ @@ -12318,67 +13638,82 @@ struct IAvnTextBlockVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnTextBlock* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnTextBlock* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnTextBlock* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnTextBlock* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnTextBlock* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnTextBlock* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTextBlock* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnTextBlock* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTextBlock* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnTextBlock* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTextBlock* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnTextBlock* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTextBlock* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTextBlock* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTextBlock* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTextBlock* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTextBlock* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_padding)(IAvnTextBlock* self, AvnThickness* value); /* slot 69 */ - AvnHResult (AVN_CALL *set_padding)(IAvnTextBlock* self, AvnThickness value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background)(IAvnTextBlock* self, IAvnBrush** value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background)(IAvnTextBlock* self, IAvnBrush* value); /* slot 72 */ - AvnHResult (AVN_CALL *get_text)(IAvnTextBlock* self, uint16_t** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_text)(IAvnTextBlock* self, const uint16_t* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnTextBlock* self, uint16_t** value); /* slot 75 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnTextBlock* self, const uint16_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnTextBlock* self, double* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnTextBlock* self, double value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnTextBlock* self, int32_t* value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnTextBlock* self, int32_t value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnTextBlock* self, int32_t* value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnTextBlock* self, int32_t value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnTextBlock* self, int32_t* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnTextBlock* self, int32_t value); /* slot 84 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnTextBlock* self, IAvnBrush** value); /* slot 85 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnTextBlock* self, IAvnBrush* value); /* slot 86 */ - AvnHResult (AVN_CALL *get_line_height)(IAvnTextBlock* self, double* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_line_height)(IAvnTextBlock* self, double value); /* slot 88 */ - AvnHResult (AVN_CALL *get_line_spacing)(IAvnTextBlock* self, double* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_line_spacing)(IAvnTextBlock* self, double value); /* slot 90 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTextBlock* self, double* value); /* slot 91 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTextBlock* self, double value); /* slot 92 */ - AvnHResult (AVN_CALL *get_max_lines)(IAvnTextBlock* self, int32_t* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_max_lines)(IAvnTextBlock* self, int32_t value); /* slot 94 */ - AvnHResult (AVN_CALL *get_text_wrapping)(IAvnTextBlock* self, int32_t* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_text_wrapping)(IAvnTextBlock* self, int32_t value); /* slot 96 */ - AvnHResult (AVN_CALL *get_text_trimming)(IAvnTextBlock* self, uint16_t** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_text_trimming)(IAvnTextBlock* self, const uint16_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_text_alignment)(IAvnTextBlock* self, int32_t* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_text_alignment)(IAvnTextBlock* self, int32_t value); /* slot 100 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnTextBlock* self, uint16_t** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnTextBlock* self, const uint16_t* value); /* slot 102 */ - AvnHResult (AVN_CALL *get_baseline_offset)(IAvnTextBlock* self, double* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_baseline_offset)(IAvnTextBlock* self, double value); /* slot 104 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnTextBlock* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnTextBlock* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnTextBlock* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnTextBlock* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnTextBlock* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnTextBlock* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTextBlock* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnTextBlock* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTextBlock* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnTextBlock* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTextBlock* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnTextBlock* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnTextBlock* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnTextBlock* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnTextBlock* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnTextBlock* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTextBlock* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnTextBlock* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnTextBlock* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTextBlock* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTextBlock* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTextBlock* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTextBlock* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnTextBlock* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnTextBlock* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnTextBlock* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnTextBlock* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnTextBlock* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnTextBlock* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_padding)(IAvnTextBlock* self, AvnThickness* value); /* slot 84 */ + AvnHResult (AVN_CALL *set_padding)(IAvnTextBlock* self, AvnThickness value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background)(IAvnTextBlock* self, IAvnBrush** value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background)(IAvnTextBlock* self, IAvnBrush* value); /* slot 87 */ + AvnHResult (AVN_CALL *get_text)(IAvnTextBlock* self, uint16_t** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_text)(IAvnTextBlock* self, const uint16_t* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnTextBlock* self, uint16_t** value); /* slot 90 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnTextBlock* self, const uint16_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnTextBlock* self, double* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnTextBlock* self, double value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnTextBlock* self, int32_t* value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnTextBlock* self, int32_t value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnTextBlock* self, int32_t* value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnTextBlock* self, int32_t value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnTextBlock* self, int32_t* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnTextBlock* self, int32_t value); /* slot 99 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnTextBlock* self, IAvnBrush** value); /* slot 100 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnTextBlock* self, IAvnBrush* value); /* slot 101 */ + AvnHResult (AVN_CALL *get_line_height)(IAvnTextBlock* self, double* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_line_height)(IAvnTextBlock* self, double value); /* slot 103 */ + AvnHResult (AVN_CALL *get_line_spacing)(IAvnTextBlock* self, double* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_line_spacing)(IAvnTextBlock* self, double value); /* slot 105 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTextBlock* self, double* value); /* slot 106 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTextBlock* self, double value); /* slot 107 */ + AvnHResult (AVN_CALL *get_max_lines)(IAvnTextBlock* self, int32_t* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_max_lines)(IAvnTextBlock* self, int32_t value); /* slot 109 */ + AvnHResult (AVN_CALL *get_text_wrapping)(IAvnTextBlock* self, int32_t* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_text_wrapping)(IAvnTextBlock* self, int32_t value); /* slot 111 */ + AvnHResult (AVN_CALL *get_text_trimming)(IAvnTextBlock* self, uint16_t** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_text_trimming)(IAvnTextBlock* self, const uint16_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_text_alignment)(IAvnTextBlock* self, int32_t* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_text_alignment)(IAvnTextBlock* self, int32_t value); /* slot 115 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnTextBlock* self, uint16_t** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnTextBlock* self, const uint16_t* value); /* slot 117 */ + AvnHResult (AVN_CALL *get_baseline_offset)(IAvnTextBlock* self, double* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_baseline_offset)(IAvnTextBlock* self, double value); /* slot 119 */ }; struct IAvnTextBlock { const IAvnTextBlockVtbl* vtbl; }; -#define I_AVN_TEXT_BLOCK_VTABLE_SLOTS 105 +#define I_AVN_TEXT_BLOCK_VTABLE_SLOTS 120 static const AvnGuid I_AVN_TEXT_BOX_IID = { - 0xB1615F3B, - 0xC31D, - 0x56CC, - { 0xA9, 0x99, 0x06, 0x4F, 0xAC, 0x4E, 0xFD, 0xF8 } + 0x2CECBBEF, + 0x9113, + 0x5262, + { 0xB4, 0x4C, 0x4C, 0xFD, 0x61, 0x37, 0x32, 0x81 } }; -#define I_AVN_TEXT_BOX_ABI_VERSION 18 +#define I_AVN_TEXT_BOX_ABI_VERSION 21 struct IAvnTextBoxVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTextBox* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTextBox* self); /* slot 1 */ @@ -12435,148 +13770,163 @@ struct IAvnTextBoxVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnTextBox* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnTextBox* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnTextBox* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnTextBox* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnTextBox* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnTextBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTextBox* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnTextBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTextBox* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnTextBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTextBox* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnTextBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTextBox* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTextBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTextBox* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTextBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTextBox* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnTextBox* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnTextBox* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnTextBox* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnTextBox* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnTextBox* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnTextBox* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnTextBox* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnTextBox* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnTextBox* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnTextBox* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnTextBox* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnTextBox* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnTextBox* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnTextBox* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnTextBox* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnTextBox* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnTextBox* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnTextBox* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnTextBox* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnTextBox* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnTextBox* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnTextBox* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnTextBox* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnTextBox* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTextBox* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTextBox* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnTextBox* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnTextBox* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_is_inactive_selection_highlight_enabled)(IAvnTextBox* self, int32_t* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_is_inactive_selection_highlight_enabled)(IAvnTextBox* self, int32_t value); /* slot 98 */ - AvnHResult (AVN_CALL *get_clear_selection_on_lost_focus)(IAvnTextBox* self, int32_t* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_clear_selection_on_lost_focus)(IAvnTextBox* self, int32_t value); /* slot 100 */ - AvnHResult (AVN_CALL *get_accepts_return)(IAvnTextBox* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_accepts_return)(IAvnTextBox* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_accepts_tab)(IAvnTextBox* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_accepts_tab)(IAvnTextBox* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_caret_index)(IAvnTextBox* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_caret_index)(IAvnTextBox* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_is_read_only)(IAvnTextBox* self, int32_t* value); /* slot 107 */ - AvnHResult (AVN_CALL *set_is_read_only)(IAvnTextBox* self, int32_t value); /* slot 108 */ - AvnHResult (AVN_CALL *get_password_char)(IAvnTextBox* self, uint16_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_password_char)(IAvnTextBox* self, uint16_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selection_brush)(IAvnTextBox* self, IAvnBrush** value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selection_brush)(IAvnTextBox* self, IAvnBrush* value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selection_foreground_brush)(IAvnTextBox* self, IAvnBrush** value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selection_foreground_brush)(IAvnTextBox* self, IAvnBrush* value); /* slot 114 */ - AvnHResult (AVN_CALL *get_caret_brush)(IAvnTextBox* self, IAvnBrush** value); /* slot 115 */ - AvnHResult (AVN_CALL *set_caret_brush)(IAvnTextBox* self, IAvnBrush* value); /* slot 116 */ - AvnHResult (AVN_CALL *get_caret_blink_interval)(IAvnTextBox* self, int64_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *set_caret_blink_interval)(IAvnTextBox* self, int64_t value); /* slot 118 */ - AvnHResult (AVN_CALL *get_selection_start)(IAvnTextBox* self, int32_t* value); /* slot 119 */ - AvnHResult (AVN_CALL *set_selection_start)(IAvnTextBox* self, int32_t value); /* slot 120 */ - AvnHResult (AVN_CALL *get_selection_end)(IAvnTextBox* self, int32_t* value); /* slot 121 */ - AvnHResult (AVN_CALL *set_selection_end)(IAvnTextBox* self, int32_t value); /* slot 122 */ - AvnHResult (AVN_CALL *get_max_length)(IAvnTextBox* self, int32_t* value); /* slot 123 */ - AvnHResult (AVN_CALL *set_max_length)(IAvnTextBox* self, int32_t value); /* slot 124 */ - AvnHResult (AVN_CALL *get_max_lines)(IAvnTextBox* self, int32_t* value); /* slot 125 */ - AvnHResult (AVN_CALL *set_max_lines)(IAvnTextBox* self, int32_t value); /* slot 126 */ - AvnHResult (AVN_CALL *get_min_lines)(IAvnTextBox* self, int32_t* value); /* slot 127 */ - AvnHResult (AVN_CALL *set_min_lines)(IAvnTextBox* self, int32_t value); /* slot 128 */ - AvnHResult (AVN_CALL *get_line_height)(IAvnTextBox* self, double* value); /* slot 129 */ - AvnHResult (AVN_CALL *set_line_height)(IAvnTextBox* self, double value); /* slot 130 */ - AvnHResult (AVN_CALL *get_text)(IAvnTextBox* self, uint16_t** value); /* slot 131 */ - AvnHResult (AVN_CALL *set_text)(IAvnTextBox* self, const uint16_t* value); /* slot 132 */ - AvnHResult (AVN_CALL *get_selected_text)(IAvnTextBox* self, uint16_t** value); /* slot 133 */ - AvnHResult (AVN_CALL *set_selected_text)(IAvnTextBox* self, const uint16_t* value); /* slot 134 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnTextBox* self, int32_t* value); /* slot 135 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnTextBox* self, int32_t value); /* slot 136 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTextBox* self, int32_t* value); /* slot 137 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTextBox* self, int32_t value); /* slot 138 */ - AvnHResult (AVN_CALL *get_text_alignment)(IAvnTextBox* self, int32_t* value); /* slot 139 */ - AvnHResult (AVN_CALL *set_text_alignment)(IAvnTextBox* self, int32_t value); /* slot 140 */ - AvnHResult (AVN_CALL *get_placeholder_text)(IAvnTextBox* self, uint16_t** value); /* slot 141 */ - AvnHResult (AVN_CALL *set_placeholder_text)(IAvnTextBox* self, const uint16_t* value); /* slot 142 */ - AvnHResult (AVN_CALL *get_use_floating_placeholder)(IAvnTextBox* self, int32_t* value); /* slot 143 */ - AvnHResult (AVN_CALL *set_use_floating_placeholder)(IAvnTextBox* self, int32_t value); /* slot 144 */ - AvnHResult (AVN_CALL *get_placeholder_foreground)(IAvnTextBox* self, IAvnBrush** value); /* slot 145 */ - AvnHResult (AVN_CALL *set_placeholder_foreground)(IAvnTextBox* self, IAvnBrush* value); /* slot 146 */ - AvnHResult (AVN_CALL *get_inner_left_content)(IAvnTextBox* self, IAvnControl** value); /* slot 147 */ - AvnHResult (AVN_CALL *set_inner_left_content)(IAvnTextBox* self, IAvnControl* value); /* slot 148 */ - AvnHResult (AVN_CALL *get_inner_right_content)(IAvnTextBox* self, IAvnControl** value); /* slot 149 */ - AvnHResult (AVN_CALL *set_inner_right_content)(IAvnTextBox* self, IAvnControl* value); /* slot 150 */ - AvnHResult (AVN_CALL *get_reveal_password)(IAvnTextBox* self, int32_t* value); /* slot 151 */ - AvnHResult (AVN_CALL *set_reveal_password)(IAvnTextBox* self, int32_t value); /* slot 152 */ - AvnHResult (AVN_CALL *get_text_wrapping)(IAvnTextBox* self, int32_t* value); /* slot 153 */ - AvnHResult (AVN_CALL *set_text_wrapping)(IAvnTextBox* self, int32_t value); /* slot 154 */ - AvnHResult (AVN_CALL *get_new_line)(IAvnTextBox* self, uint16_t** value); /* slot 155 */ - AvnHResult (AVN_CALL *set_new_line)(IAvnTextBox* self, const uint16_t* value); /* slot 156 */ - AvnHResult (AVN_CALL *get_can_cut)(IAvnTextBox* self, int32_t* value); /* slot 157 */ - AvnHResult (AVN_CALL *get_can_copy)(IAvnTextBox* self, int32_t* value); /* slot 158 */ - AvnHResult (AVN_CALL *get_can_paste)(IAvnTextBox* self, int32_t* value); /* slot 159 */ - AvnHResult (AVN_CALL *get_is_undo_enabled)(IAvnTextBox* self, int32_t* value); /* slot 160 */ - AvnHResult (AVN_CALL *set_is_undo_enabled)(IAvnTextBox* self, int32_t value); /* slot 161 */ - AvnHResult (AVN_CALL *get_undo_limit)(IAvnTextBox* self, int32_t* value); /* slot 162 */ - AvnHResult (AVN_CALL *set_undo_limit)(IAvnTextBox* self, int32_t value); /* slot 163 */ - AvnHResult (AVN_CALL *get_can_undo)(IAvnTextBox* self, int32_t* value); /* slot 164 */ - AvnHResult (AVN_CALL *get_can_redo)(IAvnTextBox* self, int32_t* value); /* slot 165 */ - AvnHResult (AVN_CALL *clear_selection)(IAvnTextBox* self); /* slot 166 */ - AvnHResult (AVN_CALL *get_line_count)(IAvnTextBox* self, int32_t* value); /* slot 167 */ - AvnHResult (AVN_CALL *cut)(IAvnTextBox* self); /* slot 168 */ - AvnHResult (AVN_CALL *copy)(IAvnTextBox* self); /* slot 169 */ - AvnHResult (AVN_CALL *paste)(IAvnTextBox* self); /* slot 170 */ - AvnHResult (AVN_CALL *clear)(IAvnTextBox* self); /* slot 171 */ - AvnHResult (AVN_CALL *scroll_to_line_with_int32)(IAvnTextBox* self, int32_t line_index); /* slot 172 */ - AvnHResult (AVN_CALL *select_all)(IAvnTextBox* self); /* slot 173 */ - AvnHResult (AVN_CALL *undo)(IAvnTextBox* self); /* slot 174 */ - AvnHResult (AVN_CALL *redo)(IAvnTextBox* self); /* slot 175 */ - AvnHResult (AVN_CALL *advise_copying_to_clipboard)(IAvnTextBox* self, IAvnTextBoxCopyingToClipboardHandler* handler, int64_t* subscription_id); /* slot 176 */ - AvnHResult (AVN_CALL *unadvise_copying_to_clipboard)(IAvnTextBox* self, int64_t subscription_id); /* slot 177 */ - AvnHResult (AVN_CALL *advise_cutting_to_clipboard)(IAvnTextBox* self, IAvnTextBoxCuttingToClipboardHandler* handler, int64_t* subscription_id); /* slot 178 */ - AvnHResult (AVN_CALL *unadvise_cutting_to_clipboard)(IAvnTextBox* self, int64_t subscription_id); /* slot 179 */ - AvnHResult (AVN_CALL *advise_pasting_from_clipboard)(IAvnTextBox* self, IAvnTextBoxPastingFromClipboardHandler* handler, int64_t* subscription_id); /* slot 180 */ - AvnHResult (AVN_CALL *unadvise_pasting_from_clipboard)(IAvnTextBox* self, int64_t subscription_id); /* slot 181 */ - AvnHResult (AVN_CALL *advise_text_changed)(IAvnTextBox* self, IAvnTextBoxTextChangedHandler* handler, int64_t* subscription_id); /* slot 182 */ - AvnHResult (AVN_CALL *unadvise_text_changed)(IAvnTextBox* self, int64_t subscription_id); /* slot 183 */ - AvnHResult (AVN_CALL *advise_text_changing)(IAvnTextBox* self, IAvnTextBoxTextChangingHandler* handler, int64_t* subscription_id); /* slot 184 */ - AvnHResult (AVN_CALL *unadvise_text_changing)(IAvnTextBox* self, int64_t subscription_id); /* slot 185 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnTextBox* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnTextBox* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnTextBox* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnTextBox* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnTextBox* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnTextBox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTextBox* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnTextBox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTextBox* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnTextBox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTextBox* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnTextBox* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnTextBox* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnTextBox* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnTextBox* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnTextBox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTextBox* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnTextBox* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnTextBox* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTextBox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTextBox* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTextBox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTextBox* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnTextBox* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnTextBox* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnTextBox* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnTextBox* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnTextBox* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnTextBox* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnTextBox* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnTextBox* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnTextBox* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnTextBox* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnTextBox* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnTextBox* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnTextBox* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnTextBox* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnTextBox* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnTextBox* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnTextBox* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnTextBox* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnTextBox* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnTextBox* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnTextBox* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnTextBox* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnTextBox* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnTextBox* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnTextBox* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnTextBox* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnTextBox* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnTextBox* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnTextBox* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnTextBox* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTextBox* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTextBox* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnTextBox* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnTextBox* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_is_inactive_selection_highlight_enabled)(IAvnTextBox* self, int32_t* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_is_inactive_selection_highlight_enabled)(IAvnTextBox* self, int32_t value); /* slot 113 */ + AvnHResult (AVN_CALL *get_clear_selection_on_lost_focus)(IAvnTextBox* self, int32_t* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_clear_selection_on_lost_focus)(IAvnTextBox* self, int32_t value); /* slot 115 */ + AvnHResult (AVN_CALL *get_accepts_return)(IAvnTextBox* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_accepts_return)(IAvnTextBox* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_accepts_tab)(IAvnTextBox* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_accepts_tab)(IAvnTextBox* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_caret_index)(IAvnTextBox* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_caret_index)(IAvnTextBox* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_is_read_only)(IAvnTextBox* self, int32_t* value); /* slot 122 */ + AvnHResult (AVN_CALL *set_is_read_only)(IAvnTextBox* self, int32_t value); /* slot 123 */ + AvnHResult (AVN_CALL *get_password_char)(IAvnTextBox* self, uint16_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_password_char)(IAvnTextBox* self, uint16_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selection_brush)(IAvnTextBox* self, IAvnBrush** value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selection_brush)(IAvnTextBox* self, IAvnBrush* value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selection_foreground_brush)(IAvnTextBox* self, IAvnBrush** value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selection_foreground_brush)(IAvnTextBox* self, IAvnBrush* value); /* slot 129 */ + AvnHResult (AVN_CALL *get_caret_brush)(IAvnTextBox* self, IAvnBrush** value); /* slot 130 */ + AvnHResult (AVN_CALL *set_caret_brush)(IAvnTextBox* self, IAvnBrush* value); /* slot 131 */ + AvnHResult (AVN_CALL *get_caret_blink_interval)(IAvnTextBox* self, int64_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *set_caret_blink_interval)(IAvnTextBox* self, int64_t value); /* slot 133 */ + AvnHResult (AVN_CALL *get_selection_start)(IAvnTextBox* self, int32_t* value); /* slot 134 */ + AvnHResult (AVN_CALL *set_selection_start)(IAvnTextBox* self, int32_t value); /* slot 135 */ + AvnHResult (AVN_CALL *get_selection_end)(IAvnTextBox* self, int32_t* value); /* slot 136 */ + AvnHResult (AVN_CALL *set_selection_end)(IAvnTextBox* self, int32_t value); /* slot 137 */ + AvnHResult (AVN_CALL *get_max_length)(IAvnTextBox* self, int32_t* value); /* slot 138 */ + AvnHResult (AVN_CALL *set_max_length)(IAvnTextBox* self, int32_t value); /* slot 139 */ + AvnHResult (AVN_CALL *get_max_lines)(IAvnTextBox* self, int32_t* value); /* slot 140 */ + AvnHResult (AVN_CALL *set_max_lines)(IAvnTextBox* self, int32_t value); /* slot 141 */ + AvnHResult (AVN_CALL *get_min_lines)(IAvnTextBox* self, int32_t* value); /* slot 142 */ + AvnHResult (AVN_CALL *set_min_lines)(IAvnTextBox* self, int32_t value); /* slot 143 */ + AvnHResult (AVN_CALL *get_line_height)(IAvnTextBox* self, double* value); /* slot 144 */ + AvnHResult (AVN_CALL *set_line_height)(IAvnTextBox* self, double value); /* slot 145 */ + AvnHResult (AVN_CALL *get_text)(IAvnTextBox* self, uint16_t** value); /* slot 146 */ + AvnHResult (AVN_CALL *set_text)(IAvnTextBox* self, const uint16_t* value); /* slot 147 */ + AvnHResult (AVN_CALL *get_selected_text)(IAvnTextBox* self, uint16_t** value); /* slot 148 */ + AvnHResult (AVN_CALL *set_selected_text)(IAvnTextBox* self, const uint16_t* value); /* slot 149 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnTextBox* self, int32_t* value); /* slot 150 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnTextBox* self, int32_t value); /* slot 151 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTextBox* self, int32_t* value); /* slot 152 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTextBox* self, int32_t value); /* slot 153 */ + AvnHResult (AVN_CALL *get_text_alignment)(IAvnTextBox* self, int32_t* value); /* slot 154 */ + AvnHResult (AVN_CALL *set_text_alignment)(IAvnTextBox* self, int32_t value); /* slot 155 */ + AvnHResult (AVN_CALL *get_placeholder_text)(IAvnTextBox* self, uint16_t** value); /* slot 156 */ + AvnHResult (AVN_CALL *set_placeholder_text)(IAvnTextBox* self, const uint16_t* value); /* slot 157 */ + AvnHResult (AVN_CALL *get_use_floating_placeholder)(IAvnTextBox* self, int32_t* value); /* slot 158 */ + AvnHResult (AVN_CALL *set_use_floating_placeholder)(IAvnTextBox* self, int32_t value); /* slot 159 */ + AvnHResult (AVN_CALL *get_placeholder_foreground)(IAvnTextBox* self, IAvnBrush** value); /* slot 160 */ + AvnHResult (AVN_CALL *set_placeholder_foreground)(IAvnTextBox* self, IAvnBrush* value); /* slot 161 */ + AvnHResult (AVN_CALL *get_inner_left_content)(IAvnTextBox* self, IAvnControl** value); /* slot 162 */ + AvnHResult (AVN_CALL *set_inner_left_content)(IAvnTextBox* self, IAvnControl* value); /* slot 163 */ + AvnHResult (AVN_CALL *get_inner_right_content)(IAvnTextBox* self, IAvnControl** value); /* slot 164 */ + AvnHResult (AVN_CALL *set_inner_right_content)(IAvnTextBox* self, IAvnControl* value); /* slot 165 */ + AvnHResult (AVN_CALL *get_reveal_password)(IAvnTextBox* self, int32_t* value); /* slot 166 */ + AvnHResult (AVN_CALL *set_reveal_password)(IAvnTextBox* self, int32_t value); /* slot 167 */ + AvnHResult (AVN_CALL *get_text_wrapping)(IAvnTextBox* self, int32_t* value); /* slot 168 */ + AvnHResult (AVN_CALL *set_text_wrapping)(IAvnTextBox* self, int32_t value); /* slot 169 */ + AvnHResult (AVN_CALL *get_new_line)(IAvnTextBox* self, uint16_t** value); /* slot 170 */ + AvnHResult (AVN_CALL *set_new_line)(IAvnTextBox* self, const uint16_t* value); /* slot 171 */ + AvnHResult (AVN_CALL *get_can_cut)(IAvnTextBox* self, int32_t* value); /* slot 172 */ + AvnHResult (AVN_CALL *get_can_copy)(IAvnTextBox* self, int32_t* value); /* slot 173 */ + AvnHResult (AVN_CALL *get_can_paste)(IAvnTextBox* self, int32_t* value); /* slot 174 */ + AvnHResult (AVN_CALL *get_is_undo_enabled)(IAvnTextBox* self, int32_t* value); /* slot 175 */ + AvnHResult (AVN_CALL *set_is_undo_enabled)(IAvnTextBox* self, int32_t value); /* slot 176 */ + AvnHResult (AVN_CALL *get_undo_limit)(IAvnTextBox* self, int32_t* value); /* slot 177 */ + AvnHResult (AVN_CALL *set_undo_limit)(IAvnTextBox* self, int32_t value); /* slot 178 */ + AvnHResult (AVN_CALL *get_can_undo)(IAvnTextBox* self, int32_t* value); /* slot 179 */ + AvnHResult (AVN_CALL *get_can_redo)(IAvnTextBox* self, int32_t* value); /* slot 180 */ + AvnHResult (AVN_CALL *clear_selection)(IAvnTextBox* self); /* slot 181 */ + AvnHResult (AVN_CALL *get_line_count)(IAvnTextBox* self, int32_t* value); /* slot 182 */ + AvnHResult (AVN_CALL *cut)(IAvnTextBox* self); /* slot 183 */ + AvnHResult (AVN_CALL *copy)(IAvnTextBox* self); /* slot 184 */ + AvnHResult (AVN_CALL *paste)(IAvnTextBox* self); /* slot 185 */ + AvnHResult (AVN_CALL *clear)(IAvnTextBox* self); /* slot 186 */ + AvnHResult (AVN_CALL *scroll_to_line_with_int32)(IAvnTextBox* self, int32_t line_index); /* slot 187 */ + AvnHResult (AVN_CALL *select_all)(IAvnTextBox* self); /* slot 188 */ + AvnHResult (AVN_CALL *undo)(IAvnTextBox* self); /* slot 189 */ + AvnHResult (AVN_CALL *redo)(IAvnTextBox* self); /* slot 190 */ + AvnHResult (AVN_CALL *advise_copying_to_clipboard)(IAvnTextBox* self, IAvnTextBoxCopyingToClipboardHandler* handler, int64_t* subscription_id); /* slot 191 */ + AvnHResult (AVN_CALL *unadvise_copying_to_clipboard)(IAvnTextBox* self, int64_t subscription_id); /* slot 192 */ + AvnHResult (AVN_CALL *advise_cutting_to_clipboard)(IAvnTextBox* self, IAvnTextBoxCuttingToClipboardHandler* handler, int64_t* subscription_id); /* slot 193 */ + AvnHResult (AVN_CALL *unadvise_cutting_to_clipboard)(IAvnTextBox* self, int64_t subscription_id); /* slot 194 */ + AvnHResult (AVN_CALL *advise_pasting_from_clipboard)(IAvnTextBox* self, IAvnTextBoxPastingFromClipboardHandler* handler, int64_t* subscription_id); /* slot 195 */ + AvnHResult (AVN_CALL *unadvise_pasting_from_clipboard)(IAvnTextBox* self, int64_t subscription_id); /* slot 196 */ + AvnHResult (AVN_CALL *advise_text_changed)(IAvnTextBox* self, IAvnTextBoxTextChangedHandler* handler, int64_t* subscription_id); /* slot 197 */ + AvnHResult (AVN_CALL *unadvise_text_changed)(IAvnTextBox* self, int64_t subscription_id); /* slot 198 */ + AvnHResult (AVN_CALL *advise_text_changing)(IAvnTextBox* self, IAvnTextBoxTextChangingHandler* handler, int64_t* subscription_id); /* slot 199 */ + AvnHResult (AVN_CALL *unadvise_text_changing)(IAvnTextBox* self, int64_t subscription_id); /* slot 200 */ }; struct IAvnTextBox { const IAvnTextBoxVtbl* vtbl; }; -#define I_AVN_TEXT_BOX_VTABLE_SLOTS 186 +#define I_AVN_TEXT_BOX_VTABLE_SLOTS 201 static const AvnGuid I_AVN_THEME_VARIANT_SCOPE_IID = { - 0xF8DF5A10, - 0x5406, - 0x5E10, - { 0xA6, 0x14, 0xF5, 0x0B, 0x8A, 0x8B, 0xE5, 0xA6 } + 0x0C7665EE, + 0x7E88, + 0x5B31, + { 0xAA, 0x6C, 0x0B, 0x7B, 0xE8, 0x8E, 0xA1, 0x4B } }; -#define I_AVN_THEME_VARIANT_SCOPE_ABI_VERSION 8 +#define I_AVN_THEME_VARIANT_SCOPE_ABI_VERSION 11 struct IAvnThemeVariantScopeVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnThemeVariantScope* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnThemeVariantScope* self); /* slot 1 */ @@ -12633,37 +13983,52 @@ struct IAvnThemeVariantScopeVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnThemeVariantScope* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnThemeVariantScope* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnThemeVariantScope* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnThemeVariantScope* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnThemeVariantScope* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnThemeVariantScope* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnThemeVariantScope* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnThemeVariantScope* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnThemeVariantScope* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnThemeVariantScope* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnThemeVariantScope* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_child)(IAvnThemeVariantScope* self, IAvnControl** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_child)(IAvnThemeVariantScope* self, IAvnControl* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_padding)(IAvnThemeVariantScope* self, AvnThickness* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_padding)(IAvnThemeVariantScope* self, AvnThickness value); /* slot 72 */ - AvnHResult (AVN_CALL *get_requested_theme_variant)(IAvnThemeVariantScope* self, uint16_t** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_requested_theme_variant)(IAvnThemeVariantScope* self, const uint16_t* value); /* slot 74 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnThemeVariantScope* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnThemeVariantScope* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnThemeVariantScope* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnThemeVariantScope* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnThemeVariantScope* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnThemeVariantScope* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnThemeVariantScope* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnThemeVariantScope* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnThemeVariantScope* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnThemeVariantScope* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnThemeVariantScope* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnThemeVariantScope* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnThemeVariantScope* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnThemeVariantScope* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnThemeVariantScope* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnThemeVariantScope* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnThemeVariantScope* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnThemeVariantScope* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_child)(IAvnThemeVariantScope* self, IAvnControl** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_child)(IAvnThemeVariantScope* self, IAvnControl* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_padding)(IAvnThemeVariantScope* self, AvnThickness* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_padding)(IAvnThemeVariantScope* self, AvnThickness value); /* slot 87 */ + AvnHResult (AVN_CALL *get_requested_theme_variant)(IAvnThemeVariantScope* self, uint16_t** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_requested_theme_variant)(IAvnThemeVariantScope* self, const uint16_t* value); /* slot 89 */ }; struct IAvnThemeVariantScope { const IAvnThemeVariantScopeVtbl* vtbl; }; -#define I_AVN_THEME_VARIANT_SCOPE_VTABLE_SLOTS 75 +#define I_AVN_THEME_VARIANT_SCOPE_VTABLE_SLOTS 90 static const AvnGuid I_AVN_THUMB_IID = { - 0xD4BA0A24, - 0xA5D3, - 0x56FE, - { 0xB4, 0x86, 0x86, 0x8C, 0x8C, 0x5A, 0x52, 0xB6 } + 0xE465D453, + 0x88D0, + 0x5CD1, + { 0xAF, 0x2C, 0x38, 0x9B, 0x5D, 0x80, 0xBE, 0x4D } }; -#define I_AVN_THUMB_ABI_VERSION 10 +#define I_AVN_THUMB_ABI_VERSION 13 struct IAvnThumbVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnThumb* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnThumb* self); /* slot 1 */ @@ -12720,65 +14085,80 @@ struct IAvnThumbVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnThumb* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnThumb* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnThumb* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnThumb* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnThumb* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnThumb* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnThumb* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnThumb* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnThumb* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnThumb* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnThumb* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnThumb* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnThumb* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnThumb* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnThumb* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnThumb* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnThumb* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnThumb* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnThumb* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnThumb* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnThumb* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnThumb* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnThumb* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnThumb* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnThumb* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnThumb* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnThumb* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnThumb* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnThumb* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnThumb* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnThumb* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnThumb* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnThumb* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnThumb* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnThumb* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnThumb* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnThumb* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnThumb* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnThumb* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnThumb* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnThumb* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnThumb* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnThumb* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnThumb* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnThumb* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *advise_drag_started)(IAvnThumb* self, IAvnThumbDragStartedHandler* handler, int64_t* subscription_id); /* slot 97 */ - AvnHResult (AVN_CALL *unadvise_drag_started)(IAvnThumb* self, int64_t subscription_id); /* slot 98 */ - AvnHResult (AVN_CALL *advise_drag_delta)(IAvnThumb* self, IAvnThumbDragDeltaHandler* handler, int64_t* subscription_id); /* slot 99 */ - AvnHResult (AVN_CALL *unadvise_drag_delta)(IAvnThumb* self, int64_t subscription_id); /* slot 100 */ - AvnHResult (AVN_CALL *advise_drag_completed)(IAvnThumb* self, IAvnThumbDragCompletedHandler* handler, int64_t* subscription_id); /* slot 101 */ - AvnHResult (AVN_CALL *unadvise_drag_completed)(IAvnThumb* self, int64_t subscription_id); /* slot 102 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnThumb* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnThumb* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnThumb* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnThumb* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnThumb* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnThumb* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnThumb* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnThumb* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnThumb* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnThumb* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnThumb* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnThumb* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnThumb* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnThumb* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnThumb* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnThumb* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnThumb* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnThumb* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnThumb* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnThumb* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnThumb* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnThumb* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnThumb* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnThumb* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnThumb* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnThumb* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnThumb* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnThumb* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnThumb* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnThumb* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnThumb* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnThumb* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnThumb* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnThumb* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnThumb* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnThumb* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnThumb* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnThumb* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnThumb* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnThumb* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnThumb* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnThumb* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnThumb* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnThumb* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnThumb* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnThumb* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnThumb* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnThumb* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnThumb* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnThumb* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnThumb* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnThumb* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnThumb* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnThumb* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnThumb* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnThumb* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnThumb* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *advise_drag_started)(IAvnThumb* self, IAvnThumbDragStartedHandler* handler, int64_t* subscription_id); /* slot 112 */ + AvnHResult (AVN_CALL *unadvise_drag_started)(IAvnThumb* self, int64_t subscription_id); /* slot 113 */ + AvnHResult (AVN_CALL *advise_drag_delta)(IAvnThumb* self, IAvnThumbDragDeltaHandler* handler, int64_t* subscription_id); /* slot 114 */ + AvnHResult (AVN_CALL *unadvise_drag_delta)(IAvnThumb* self, int64_t subscription_id); /* slot 115 */ + AvnHResult (AVN_CALL *advise_drag_completed)(IAvnThumb* self, IAvnThumbDragCompletedHandler* handler, int64_t* subscription_id); /* slot 116 */ + AvnHResult (AVN_CALL *unadvise_drag_completed)(IAvnThumb* self, int64_t subscription_id); /* slot 117 */ }; struct IAvnThumb { const IAvnThumbVtbl* vtbl; }; -#define I_AVN_THUMB_VTABLE_SLOTS 103 +#define I_AVN_THUMB_VTABLE_SLOTS 118 static const AvnGuid I_AVN_TIME_PICKER_IID = { - 0x512BDA86, - 0x7718, - 0x5F1E, - { 0xB2, 0xDE, 0x8B, 0xCC, 0x75, 0x34, 0xAA, 0x46 } + 0xB5A38C06, + 0x2DB2, + 0x5199, + { 0x83, 0xDC, 0x05, 0xC2, 0x8A, 0x15, 0xDA, 0x69 } }; -#define I_AVN_TIME_PICKER_ABI_VERSION 11 +#define I_AVN_TIME_PICKER_ABI_VERSION 14 struct IAvnTimePickerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTimePicker* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTimePicker* self); /* slot 1 */ @@ -12835,74 +14215,89 @@ struct IAvnTimePickerVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnTimePicker* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnTimePicker* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnTimePicker* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnTimePicker* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnTimePicker* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnTimePicker* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTimePicker* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnTimePicker* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTimePicker* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnTimePicker* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTimePicker* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnTimePicker* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTimePicker* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTimePicker* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTimePicker* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTimePicker* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTimePicker* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnTimePicker* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnTimePicker* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnTimePicker* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnTimePicker* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnTimePicker* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnTimePicker* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnTimePicker* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnTimePicker* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnTimePicker* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnTimePicker* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnTimePicker* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnTimePicker* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnTimePicker* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnTimePicker* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnTimePicker* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnTimePicker* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnTimePicker* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnTimePicker* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnTimePicker* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnTimePicker* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnTimePicker* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnTimePicker* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnTimePicker* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnTimePicker* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTimePicker* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTimePicker* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnTimePicker* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnTimePicker* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTimePicker* self, int32_t* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTimePicker* self, int32_t value); /* slot 98 */ - AvnHResult (AVN_CALL *get_minute_increment)(IAvnTimePicker* self, int32_t* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_minute_increment)(IAvnTimePicker* self, int32_t value); /* slot 100 */ - AvnHResult (AVN_CALL *get_second_increment)(IAvnTimePicker* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_second_increment)(IAvnTimePicker* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_clock_identifier)(IAvnTimePicker* self, uint16_t** value); /* slot 103 */ - AvnHResult (AVN_CALL *set_clock_identifier)(IAvnTimePicker* self, const uint16_t* value); /* slot 104 */ - AvnHResult (AVN_CALL *get_use_seconds)(IAvnTimePicker* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_use_seconds)(IAvnTimePicker* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_selected_time)(IAvnTimePicker* self, uint16_t** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_selected_time)(IAvnTimePicker* self, const uint16_t* value); /* slot 108 */ - AvnHResult (AVN_CALL *clear)(IAvnTimePicker* self); /* slot 109 */ - AvnHResult (AVN_CALL *advise_selected_time_changed)(IAvnTimePicker* self, IAvnTimePickerSelectedTimeChangedHandler* handler, int64_t* subscription_id); /* slot 110 */ - AvnHResult (AVN_CALL *unadvise_selected_time_changed)(IAvnTimePicker* self, int64_t subscription_id); /* slot 111 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnTimePicker* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnTimePicker* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnTimePicker* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnTimePicker* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnTimePicker* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnTimePicker* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTimePicker* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnTimePicker* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTimePicker* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnTimePicker* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTimePicker* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnTimePicker* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnTimePicker* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnTimePicker* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnTimePicker* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnTimePicker* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTimePicker* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnTimePicker* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnTimePicker* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTimePicker* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTimePicker* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTimePicker* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTimePicker* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnTimePicker* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnTimePicker* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnTimePicker* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnTimePicker* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnTimePicker* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnTimePicker* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnTimePicker* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnTimePicker* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnTimePicker* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnTimePicker* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnTimePicker* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnTimePicker* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnTimePicker* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnTimePicker* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnTimePicker* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnTimePicker* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnTimePicker* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnTimePicker* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnTimePicker* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnTimePicker* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnTimePicker* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnTimePicker* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnTimePicker* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnTimePicker* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnTimePicker* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnTimePicker* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnTimePicker* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnTimePicker* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnTimePicker* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnTimePicker* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTimePicker* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTimePicker* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnTimePicker* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnTimePicker* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTimePicker* self, int32_t* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTimePicker* self, int32_t value); /* slot 113 */ + AvnHResult (AVN_CALL *get_minute_increment)(IAvnTimePicker* self, int32_t* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_minute_increment)(IAvnTimePicker* self, int32_t value); /* slot 115 */ + AvnHResult (AVN_CALL *get_second_increment)(IAvnTimePicker* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_second_increment)(IAvnTimePicker* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_clock_identifier)(IAvnTimePicker* self, uint16_t** value); /* slot 118 */ + AvnHResult (AVN_CALL *set_clock_identifier)(IAvnTimePicker* self, const uint16_t* value); /* slot 119 */ + AvnHResult (AVN_CALL *get_use_seconds)(IAvnTimePicker* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_use_seconds)(IAvnTimePicker* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_selected_time)(IAvnTimePicker* self, uint16_t** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_selected_time)(IAvnTimePicker* self, const uint16_t* value); /* slot 123 */ + AvnHResult (AVN_CALL *clear)(IAvnTimePicker* self); /* slot 124 */ + AvnHResult (AVN_CALL *advise_selected_time_changed)(IAvnTimePicker* self, IAvnTimePickerSelectedTimeChangedHandler* handler, int64_t* subscription_id); /* slot 125 */ + AvnHResult (AVN_CALL *unadvise_selected_time_changed)(IAvnTimePicker* self, int64_t subscription_id); /* slot 126 */ }; struct IAvnTimePicker { const IAvnTimePickerVtbl* vtbl; }; -#define I_AVN_TIME_PICKER_VTABLE_SLOTS 112 +#define I_AVN_TIME_PICKER_VTABLE_SLOTS 127 static const AvnGuid I_AVN_TOGGLE_BUTTON_IID = { - 0x978AD791, - 0x8ABE, - 0x5494, - { 0xB9, 0xAB, 0xB2, 0x99, 0x37, 0x06, 0x28, 0x70 } + 0xAA447DC6, + 0x1470, + 0x599E, + { 0xB0, 0xF5, 0x27, 0xBF, 0x31, 0x3D, 0xC7, 0xE7 } }; -#define I_AVN_TOGGLE_BUTTON_ABI_VERSION 16 +#define I_AVN_TOGGLE_BUTTON_ABI_VERSION 19 struct IAvnToggleButtonVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnToggleButton* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnToggleButton* self); /* slot 1 */ @@ -12959,90 +14354,105 @@ struct IAvnToggleButtonVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnToggleButton* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnToggleButton* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnToggleButton* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnToggleButton* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnToggleButton* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnToggleButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnToggleButton* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnToggleButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnToggleButton* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnToggleButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnToggleButton* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnToggleButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnToggleButton* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnToggleButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnToggleButton* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnToggleButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnToggleButton* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnToggleButton* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnToggleButton* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnToggleButton* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnToggleButton* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnToggleButton* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnToggleButton* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnToggleButton* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnToggleButton* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnToggleButton* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnToggleButton* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnToggleButton* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnToggleButton* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnToggleButton* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnToggleButton* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnToggleButton* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnToggleButton* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnToggleButton* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnToggleButton* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnToggleButton* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnToggleButton* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnToggleButton* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnToggleButton* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnToggleButton* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnToggleButton* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnToggleButton* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnToggleButton* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnToggleButton* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnToggleButton* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnToggleButton* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnToggleButton* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnToggleButton* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnToggleButton* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnToggleButton* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnToggleButton* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnToggleButton* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnToggleButton* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_click_mode)(IAvnToggleButton* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_click_mode)(IAvnToggleButton* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_command)(IAvnToggleButton* self, IAvnCommand** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_command)(IAvnToggleButton* self, IAvnCommand* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnToggleButton* self, uint16_t** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnToggleButton* self, const uint16_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnToggleButton* self, AvnVariant* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnToggleButton* self, AvnVariant value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_default)(IAvnToggleButton* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_default)(IAvnToggleButton* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_cancel)(IAvnToggleButton* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_cancel)(IAvnToggleButton* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_pressed)(IAvnToggleButton* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *get_flyout)(IAvnToggleButton* self, IAvnFlyoutBase** value); /* slot 118 */ - AvnHResult (AVN_CALL *set_flyout)(IAvnToggleButton* self, IAvnFlyoutBase* value); /* slot 119 */ - AvnHResult (AVN_CALL *advise_click)(IAvnToggleButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 120 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnToggleButton* self, int64_t subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *get_is_checked)(IAvnToggleButton* self, int32_t* value); /* slot 122 */ - AvnHResult (AVN_CALL *set_is_checked)(IAvnToggleButton* self, int32_t value); /* slot 123 */ - AvnHResult (AVN_CALL *get_is_three_state)(IAvnToggleButton* self, int32_t* value); /* slot 124 */ - AvnHResult (AVN_CALL *set_is_three_state)(IAvnToggleButton* self, int32_t value); /* slot 125 */ - AvnHResult (AVN_CALL *advise_is_checked_changed)(IAvnToggleButton* self, IAvnToggleButtonIsCheckedChangedHandler* handler, int64_t* subscription_id); /* slot 126 */ - AvnHResult (AVN_CALL *unadvise_is_checked_changed)(IAvnToggleButton* self, int64_t subscription_id); /* slot 127 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnToggleButton* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnToggleButton* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnToggleButton* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnToggleButton* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnToggleButton* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnToggleButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnToggleButton* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnToggleButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnToggleButton* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnToggleButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnToggleButton* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnToggleButton* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnToggleButton* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnToggleButton* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnToggleButton* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnToggleButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnToggleButton* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnToggleButton* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnToggleButton* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnToggleButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnToggleButton* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnToggleButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnToggleButton* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnToggleButton* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnToggleButton* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnToggleButton* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnToggleButton* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnToggleButton* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnToggleButton* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnToggleButton* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnToggleButton* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnToggleButton* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnToggleButton* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnToggleButton* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnToggleButton* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnToggleButton* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnToggleButton* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnToggleButton* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnToggleButton* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnToggleButton* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnToggleButton* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnToggleButton* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnToggleButton* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnToggleButton* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnToggleButton* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnToggleButton* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnToggleButton* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnToggleButton* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnToggleButton* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnToggleButton* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnToggleButton* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnToggleButton* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnToggleButton* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnToggleButton* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnToggleButton* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnToggleButton* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnToggleButton* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnToggleButton* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnToggleButton* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnToggleButton* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnToggleButton* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnToggleButton* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnToggleButton* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnToggleButton* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnToggleButton* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_click_mode)(IAvnToggleButton* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_click_mode)(IAvnToggleButton* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_command)(IAvnToggleButton* self, IAvnCommand** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_command)(IAvnToggleButton* self, IAvnCommand* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnToggleButton* self, uint16_t** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnToggleButton* self, const uint16_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnToggleButton* self, AvnVariant* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnToggleButton* self, AvnVariant value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_default)(IAvnToggleButton* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_default)(IAvnToggleButton* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_cancel)(IAvnToggleButton* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_cancel)(IAvnToggleButton* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_pressed)(IAvnToggleButton* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *get_flyout)(IAvnToggleButton* self, IAvnFlyoutBase** value); /* slot 133 */ + AvnHResult (AVN_CALL *set_flyout)(IAvnToggleButton* self, IAvnFlyoutBase* value); /* slot 134 */ + AvnHResult (AVN_CALL *advise_click)(IAvnToggleButton* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 135 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnToggleButton* self, int64_t subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *get_is_checked)(IAvnToggleButton* self, int32_t* value); /* slot 137 */ + AvnHResult (AVN_CALL *set_is_checked)(IAvnToggleButton* self, int32_t value); /* slot 138 */ + AvnHResult (AVN_CALL *get_is_three_state)(IAvnToggleButton* self, int32_t* value); /* slot 139 */ + AvnHResult (AVN_CALL *set_is_three_state)(IAvnToggleButton* self, int32_t value); /* slot 140 */ + AvnHResult (AVN_CALL *advise_is_checked_changed)(IAvnToggleButton* self, IAvnToggleButtonIsCheckedChangedHandler* handler, int64_t* subscription_id); /* slot 141 */ + AvnHResult (AVN_CALL *unadvise_is_checked_changed)(IAvnToggleButton* self, int64_t subscription_id); /* slot 142 */ }; struct IAvnToggleButton { const IAvnToggleButtonVtbl* vtbl; }; -#define I_AVN_TOGGLE_BUTTON_VTABLE_SLOTS 128 +#define I_AVN_TOGGLE_BUTTON_VTABLE_SLOTS 143 static const AvnGuid I_AVN_TOGGLE_SPLIT_BUTTON_IID = { - 0xDD4F3760, - 0xD88D, - 0x5551, - { 0xBD, 0x80, 0xCA, 0x87, 0x21, 0xDE, 0xA1, 0xE9 } + 0xA8024AE3, + 0x3329, + 0x57D6, + { 0xAE, 0x6C, 0x1E, 0x3B, 0xBA, 0xD7, 0xA7, 0xE6 } }; -#define I_AVN_TOGGLE_SPLIT_BUTTON_ABI_VERSION 12 +#define I_AVN_TOGGLE_SPLIT_BUTTON_ABI_VERSION 15 struct IAvnToggleSplitButtonVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnToggleSplitButton* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnToggleSplitButton* self); /* slot 1 */ @@ -13099,81 +14509,96 @@ struct IAvnToggleSplitButtonVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnToggleSplitButton* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnToggleSplitButton* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnToggleSplitButton* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnToggleSplitButton* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnToggleSplitButton* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnToggleSplitButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnToggleSplitButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnToggleSplitButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnToggleSplitButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnToggleSplitButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnToggleSplitButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnToggleSplitButton* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnToggleSplitButton* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnToggleSplitButton* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnToggleSplitButton* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnToggleSplitButton* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnToggleSplitButton* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnToggleSplitButton* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnToggleSplitButton* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnToggleSplitButton* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnToggleSplitButton* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnToggleSplitButton* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnToggleSplitButton* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnToggleSplitButton* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnToggleSplitButton* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnToggleSplitButton* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnToggleSplitButton* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnToggleSplitButton* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnToggleSplitButton* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnToggleSplitButton* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnToggleSplitButton* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnToggleSplitButton* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnToggleSplitButton* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnToggleSplitButton* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnToggleSplitButton* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnToggleSplitButton* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnToggleSplitButton* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnToggleSplitButton* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnToggleSplitButton* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnToggleSplitButton* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnToggleSplitButton* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnToggleSplitButton* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnToggleSplitButton* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnToggleSplitButton* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnToggleSplitButton* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnToggleSplitButton* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnToggleSplitButton* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_command)(IAvnToggleSplitButton* self, IAvnCommand** value); /* slot 105 */ - AvnHResult (AVN_CALL *set_command)(IAvnToggleSplitButton* self, IAvnCommand* value); /* slot 106 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnToggleSplitButton* self, AvnVariant* value); /* slot 107 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnToggleSplitButton* self, AvnVariant value); /* slot 108 */ - AvnHResult (AVN_CALL *get_flyout)(IAvnToggleSplitButton* self, IAvnFlyoutBase** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_flyout)(IAvnToggleSplitButton* self, IAvnFlyoutBase* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnToggleSplitButton* self, uint16_t** value); /* slot 111 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnToggleSplitButton* self, const uint16_t* value); /* slot 112 */ - AvnHResult (AVN_CALL *advise_click)(IAvnToggleSplitButton* self, IAvnSplitButtonClickHandler* handler, int64_t* subscription_id); /* slot 113 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_checked)(IAvnToggleSplitButton* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_checked)(IAvnToggleSplitButton* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *advise_is_checked_changed)(IAvnToggleSplitButton* self, IAvnToggleSplitButtonIsCheckedChangedHandler* handler, int64_t* subscription_id); /* slot 117 */ - AvnHResult (AVN_CALL *unadvise_is_checked_changed)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 118 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnToggleSplitButton* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnToggleSplitButton* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnToggleSplitButton* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnToggleSplitButton* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnToggleSplitButton* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnToggleSplitButton* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnToggleSplitButton* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnToggleSplitButton* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnToggleSplitButton* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnToggleSplitButton* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnToggleSplitButton* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnToggleSplitButton* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnToggleSplitButton* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnToggleSplitButton* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnToggleSplitButton* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnToggleSplitButton* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnToggleSplitButton* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnToggleSplitButton* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnToggleSplitButton* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnToggleSplitButton* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnToggleSplitButton* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnToggleSplitButton* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnToggleSplitButton* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnToggleSplitButton* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnToggleSplitButton* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnToggleSplitButton* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnToggleSplitButton* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnToggleSplitButton* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnToggleSplitButton* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnToggleSplitButton* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnToggleSplitButton* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnToggleSplitButton* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnToggleSplitButton* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnToggleSplitButton* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnToggleSplitButton* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnToggleSplitButton* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnToggleSplitButton* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnToggleSplitButton* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnToggleSplitButton* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnToggleSplitButton* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnToggleSplitButton* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnToggleSplitButton* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnToggleSplitButton* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnToggleSplitButton* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnToggleSplitButton* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnToggleSplitButton* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnToggleSplitButton* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnToggleSplitButton* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnToggleSplitButton* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnToggleSplitButton* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnToggleSplitButton* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnToggleSplitButton* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnToggleSplitButton* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_command)(IAvnToggleSplitButton* self, IAvnCommand** value); /* slot 120 */ + AvnHResult (AVN_CALL *set_command)(IAvnToggleSplitButton* self, IAvnCommand* value); /* slot 121 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnToggleSplitButton* self, AvnVariant* value); /* slot 122 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnToggleSplitButton* self, AvnVariant value); /* slot 123 */ + AvnHResult (AVN_CALL *get_flyout)(IAvnToggleSplitButton* self, IAvnFlyoutBase** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_flyout)(IAvnToggleSplitButton* self, IAvnFlyoutBase* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnToggleSplitButton* self, uint16_t** value); /* slot 126 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnToggleSplitButton* self, const uint16_t* value); /* slot 127 */ + AvnHResult (AVN_CALL *advise_click)(IAvnToggleSplitButton* self, IAvnSplitButtonClickHandler* handler, int64_t* subscription_id); /* slot 128 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_checked)(IAvnToggleSplitButton* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_checked)(IAvnToggleSplitButton* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *advise_is_checked_changed)(IAvnToggleSplitButton* self, IAvnToggleSplitButtonIsCheckedChangedHandler* handler, int64_t* subscription_id); /* slot 132 */ + AvnHResult (AVN_CALL *unadvise_is_checked_changed)(IAvnToggleSplitButton* self, int64_t subscription_id); /* slot 133 */ }; struct IAvnToggleSplitButton { const IAvnToggleSplitButtonVtbl* vtbl; }; -#define I_AVN_TOGGLE_SPLIT_BUTTON_VTABLE_SLOTS 119 +#define I_AVN_TOGGLE_SPLIT_BUTTON_VTABLE_SLOTS 134 static const AvnGuid I_AVN_TOGGLE_SWITCH_IID = { - 0xD36D16B3, - 0x4A9B, - 0x5BD6, - { 0x92, 0x58, 0x71, 0x25, 0xED, 0x95, 0xB4, 0x33 } + 0xEB2E63C7, + 0x1C28, + 0x5754, + { 0xB2, 0x6B, 0x64, 0xBC, 0x0C, 0x26, 0x41, 0xBF } }; -#define I_AVN_TOGGLE_SWITCH_ABI_VERSION 16 +#define I_AVN_TOGGLE_SWITCH_ABI_VERSION 19 struct IAvnToggleSwitchVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnToggleSwitch* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnToggleSwitch* self); /* slot 1 */ @@ -13230,98 +14655,113 @@ struct IAvnToggleSwitchVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnToggleSwitch* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnToggleSwitch* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnToggleSwitch* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnToggleSwitch* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnToggleSwitch* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnToggleSwitch* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnToggleSwitch* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnToggleSwitch* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnToggleSwitch* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnToggleSwitch* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnToggleSwitch* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnToggleSwitch* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnToggleSwitch* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnToggleSwitch* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnToggleSwitch* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnToggleSwitch* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnToggleSwitch* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnToggleSwitch* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnToggleSwitch* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnToggleSwitch* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnToggleSwitch* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnToggleSwitch* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnToggleSwitch* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnToggleSwitch* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnToggleSwitch* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnToggleSwitch* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnToggleSwitch* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnToggleSwitch* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnToggleSwitch* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnToggleSwitch* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnToggleSwitch* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnToggleSwitch* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnToggleSwitch* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnToggleSwitch* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnToggleSwitch* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnToggleSwitch* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnToggleSwitch* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnToggleSwitch* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnToggleSwitch* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnToggleSwitch* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnToggleSwitch* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnToggleSwitch* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnToggleSwitch* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnToggleSwitch* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnToggleSwitch* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnToggleSwitch* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnToggleSwitch* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_click_mode)(IAvnToggleSwitch* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_click_mode)(IAvnToggleSwitch* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_command)(IAvnToggleSwitch* self, IAvnCommand** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_command)(IAvnToggleSwitch* self, IAvnCommand* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_hot_key)(IAvnToggleSwitch* self, uint16_t** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_hot_key)(IAvnToggleSwitch* self, const uint16_t* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_command_parameter)(IAvnToggleSwitch* self, AvnVariant* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_command_parameter)(IAvnToggleSwitch* self, AvnVariant value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_default)(IAvnToggleSwitch* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_default)(IAvnToggleSwitch* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_cancel)(IAvnToggleSwitch* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_cancel)(IAvnToggleSwitch* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_is_pressed)(IAvnToggleSwitch* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *get_flyout)(IAvnToggleSwitch* self, IAvnFlyoutBase** value); /* slot 118 */ - AvnHResult (AVN_CALL *set_flyout)(IAvnToggleSwitch* self, IAvnFlyoutBase* value); /* slot 119 */ - AvnHResult (AVN_CALL *advise_click)(IAvnToggleSwitch* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 120 */ - AvnHResult (AVN_CALL *unadvise_click)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 121 */ - AvnHResult (AVN_CALL *get_is_checked)(IAvnToggleSwitch* self, int32_t* value); /* slot 122 */ - AvnHResult (AVN_CALL *set_is_checked)(IAvnToggleSwitch* self, int32_t value); /* slot 123 */ - AvnHResult (AVN_CALL *get_is_three_state)(IAvnToggleSwitch* self, int32_t* value); /* slot 124 */ - AvnHResult (AVN_CALL *set_is_three_state)(IAvnToggleSwitch* self, int32_t value); /* slot 125 */ - AvnHResult (AVN_CALL *advise_is_checked_changed)(IAvnToggleSwitch* self, IAvnToggleButtonIsCheckedChangedHandler* handler, int64_t* subscription_id); /* slot 126 */ - AvnHResult (AVN_CALL *unadvise_is_checked_changed)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 127 */ - AvnHResult (AVN_CALL *get_on_content)(IAvnToggleSwitch* self, IAvnControl** value); /* slot 128 */ - AvnHResult (AVN_CALL *set_on_content)(IAvnToggleSwitch* self, IAvnControl* value); /* slot 129 */ - AvnHResult (AVN_CALL *get_off_content)(IAvnToggleSwitch* self, IAvnControl** value); /* slot 130 */ - AvnHResult (AVN_CALL *set_off_content)(IAvnToggleSwitch* self, IAvnControl* value); /* slot 131 */ - AvnHResult (AVN_CALL *get_off_content_template)(IAvnToggleSwitch* self, IAvnDataTemplate** value); /* slot 132 */ - AvnHResult (AVN_CALL *set_off_content_template)(IAvnToggleSwitch* self, IAvnDataTemplate* value); /* slot 133 */ - AvnHResult (AVN_CALL *get_on_content_template)(IAvnToggleSwitch* self, IAvnDataTemplate** value); /* slot 134 */ - AvnHResult (AVN_CALL *set_on_content_template)(IAvnToggleSwitch* self, IAvnDataTemplate* value); /* slot 135 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnToggleSwitch* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnToggleSwitch* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnToggleSwitch* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnToggleSwitch* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnToggleSwitch* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnToggleSwitch* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnToggleSwitch* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnToggleSwitch* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnToggleSwitch* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnToggleSwitch* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnToggleSwitch* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnToggleSwitch* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnToggleSwitch* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnToggleSwitch* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnToggleSwitch* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnToggleSwitch* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnToggleSwitch* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnToggleSwitch* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnToggleSwitch* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnToggleSwitch* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnToggleSwitch* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnToggleSwitch* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnToggleSwitch* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnToggleSwitch* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnToggleSwitch* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnToggleSwitch* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnToggleSwitch* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnToggleSwitch* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnToggleSwitch* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnToggleSwitch* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnToggleSwitch* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnToggleSwitch* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnToggleSwitch* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnToggleSwitch* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnToggleSwitch* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnToggleSwitch* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnToggleSwitch* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnToggleSwitch* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnToggleSwitch* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnToggleSwitch* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnToggleSwitch* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnToggleSwitch* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnToggleSwitch* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnToggleSwitch* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnToggleSwitch* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnToggleSwitch* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnToggleSwitch* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnToggleSwitch* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnToggleSwitch* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnToggleSwitch* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnToggleSwitch* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnToggleSwitch* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnToggleSwitch* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_click_mode)(IAvnToggleSwitch* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_click_mode)(IAvnToggleSwitch* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_command)(IAvnToggleSwitch* self, IAvnCommand** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_command)(IAvnToggleSwitch* self, IAvnCommand* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_hot_key)(IAvnToggleSwitch* self, uint16_t** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_hot_key)(IAvnToggleSwitch* self, const uint16_t* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_command_parameter)(IAvnToggleSwitch* self, AvnVariant* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_command_parameter)(IAvnToggleSwitch* self, AvnVariant value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_default)(IAvnToggleSwitch* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_default)(IAvnToggleSwitch* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_cancel)(IAvnToggleSwitch* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_cancel)(IAvnToggleSwitch* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_is_pressed)(IAvnToggleSwitch* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *get_flyout)(IAvnToggleSwitch* self, IAvnFlyoutBase** value); /* slot 133 */ + AvnHResult (AVN_CALL *set_flyout)(IAvnToggleSwitch* self, IAvnFlyoutBase* value); /* slot 134 */ + AvnHResult (AVN_CALL *advise_click)(IAvnToggleSwitch* self, IAvnButtonClickHandler* handler, int64_t* subscription_id); /* slot 135 */ + AvnHResult (AVN_CALL *unadvise_click)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 136 */ + AvnHResult (AVN_CALL *get_is_checked)(IAvnToggleSwitch* self, int32_t* value); /* slot 137 */ + AvnHResult (AVN_CALL *set_is_checked)(IAvnToggleSwitch* self, int32_t value); /* slot 138 */ + AvnHResult (AVN_CALL *get_is_three_state)(IAvnToggleSwitch* self, int32_t* value); /* slot 139 */ + AvnHResult (AVN_CALL *set_is_three_state)(IAvnToggleSwitch* self, int32_t value); /* slot 140 */ + AvnHResult (AVN_CALL *advise_is_checked_changed)(IAvnToggleSwitch* self, IAvnToggleButtonIsCheckedChangedHandler* handler, int64_t* subscription_id); /* slot 141 */ + AvnHResult (AVN_CALL *unadvise_is_checked_changed)(IAvnToggleSwitch* self, int64_t subscription_id); /* slot 142 */ + AvnHResult (AVN_CALL *get_on_content)(IAvnToggleSwitch* self, IAvnControl** value); /* slot 143 */ + AvnHResult (AVN_CALL *set_on_content)(IAvnToggleSwitch* self, IAvnControl* value); /* slot 144 */ + AvnHResult (AVN_CALL *get_off_content)(IAvnToggleSwitch* self, IAvnControl** value); /* slot 145 */ + AvnHResult (AVN_CALL *set_off_content)(IAvnToggleSwitch* self, IAvnControl* value); /* slot 146 */ + AvnHResult (AVN_CALL *get_off_content_template)(IAvnToggleSwitch* self, IAvnDataTemplate** value); /* slot 147 */ + AvnHResult (AVN_CALL *set_off_content_template)(IAvnToggleSwitch* self, IAvnDataTemplate* value); /* slot 148 */ + AvnHResult (AVN_CALL *get_on_content_template)(IAvnToggleSwitch* self, IAvnDataTemplate** value); /* slot 149 */ + AvnHResult (AVN_CALL *set_on_content_template)(IAvnToggleSwitch* self, IAvnDataTemplate* value); /* slot 150 */ }; struct IAvnToggleSwitch { const IAvnToggleSwitchVtbl* vtbl; }; -#define I_AVN_TOGGLE_SWITCH_VTABLE_SLOTS 136 +#define I_AVN_TOGGLE_SWITCH_VTABLE_SLOTS 151 static const AvnGuid I_AVN_TOOL_TIP_IID = { - 0x25BC085F, - 0x0BDB, - 0x59F4, - { 0xB6, 0x89, 0xA1, 0xF0, 0xA8, 0x48, 0x9B, 0x19 } + 0x04F8776B, + 0x9CD2, + 0x58D3, + { 0x90, 0x04, 0xAA, 0x6B, 0x0C, 0x12, 0xE9, 0x02 } }; -#define I_AVN_TOOL_TIP_ABI_VERSION 9 +#define I_AVN_TOOL_TIP_ABI_VERSION 12 struct IAvnToolTipVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnToolTip* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnToolTip* self); /* slot 1 */ @@ -13378,67 +14818,82 @@ struct IAvnToolTipVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnToolTip* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnToolTip* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnToolTip* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnToolTip* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnToolTip* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnToolTip* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnToolTip* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnToolTip* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnToolTip* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnToolTip* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnToolTip* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnToolTip* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnToolTip* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnToolTip* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnToolTip* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnToolTip* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnToolTip* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnToolTip* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnToolTip* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnToolTip* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnToolTip* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnToolTip* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnToolTip* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnToolTip* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnToolTip* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnToolTip* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnToolTip* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnToolTip* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnToolTip* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnToolTip* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnToolTip* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnToolTip* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnToolTip* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnToolTip* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnToolTip* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnToolTip* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnToolTip* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnToolTip* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnToolTip* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnToolTip* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnToolTip* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnToolTip* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnToolTip* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnToolTip* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnToolTip* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnToolTip* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnToolTip* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnToolTip* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnToolTip* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnToolTip* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnToolTip* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnToolTip* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnToolTip* self, int32_t value); /* slot 104 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnToolTip* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnToolTip* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnToolTip* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnToolTip* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnToolTip* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnToolTip* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnToolTip* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnToolTip* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnToolTip* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnToolTip* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnToolTip* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnToolTip* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnToolTip* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnToolTip* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnToolTip* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnToolTip* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnToolTip* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnToolTip* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnToolTip* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnToolTip* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnToolTip* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnToolTip* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnToolTip* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnToolTip* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnToolTip* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnToolTip* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnToolTip* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnToolTip* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnToolTip* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnToolTip* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnToolTip* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnToolTip* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnToolTip* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnToolTip* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnToolTip* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnToolTip* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnToolTip* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnToolTip* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnToolTip* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnToolTip* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnToolTip* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnToolTip* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnToolTip* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnToolTip* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnToolTip* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnToolTip* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnToolTip* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnToolTip* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnToolTip* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnToolTip* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnToolTip* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnToolTip* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnToolTip* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnToolTip* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnToolTip* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnToolTip* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnToolTip* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnToolTip* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnToolTip* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnToolTip* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnToolTip* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnToolTip* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnToolTip* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnToolTip* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnToolTip* self, int32_t value); /* slot 119 */ }; struct IAvnToolTip { const IAvnToolTipVtbl* vtbl; }; -#define I_AVN_TOOL_TIP_VTABLE_SLOTS 105 +#define I_AVN_TOOL_TIP_VTABLE_SLOTS 120 static const AvnGuid I_AVN_TRANSITIONING_CONTENT_CONTROL_IID = { - 0x6A3336CC, - 0xB09A, - 0x5484, - { 0xBB, 0x6B, 0x3E, 0x74, 0xC7, 0x62, 0xE5, 0x77 } + 0x2B88F131, + 0x4CA4, + 0x529F, + { 0xAA, 0x60, 0xED, 0x2B, 0xE7, 0x19, 0xBE, 0x10 } }; -#define I_AVN_TRANSITIONING_CONTENT_CONTROL_ABI_VERSION 10 +#define I_AVN_TRANSITIONING_CONTENT_CONTROL_ABI_VERSION 13 struct IAvnTransitioningContentControlVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTransitioningContentControl* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTransitioningContentControl* self); /* slot 1 */ @@ -13495,63 +14950,78 @@ struct IAvnTransitioningContentControlVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnTransitioningContentControl* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnTransitioningContentControl* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnTransitioningContentControl* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnTransitioningContentControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnTransitioningContentControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnTransitioningContentControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnTransitioningContentControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTransitioningContentControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTransitioningContentControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnTransitioningContentControl* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnTransitioningContentControl* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnTransitioningContentControl* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnTransitioningContentControl* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnTransitioningContentControl* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnTransitioningContentControl* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnTransitioningContentControl* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnTransitioningContentControl* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnTransitioningContentControl* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnTransitioningContentControl* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnTransitioningContentControl* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnTransitioningContentControl* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnTransitioningContentControl* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnTransitioningContentControl* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnTransitioningContentControl* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnTransitioningContentControl* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnTransitioningContentControl* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnTransitioningContentControl* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnTransitioningContentControl* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnTransitioningContentControl* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTransitioningContentControl* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTransitioningContentControl* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnTransitioningContentControl* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnTransitioningContentControl* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnTransitioningContentControl* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnTransitioningContentControl* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnTransitioningContentControl* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnTransitioningContentControl* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnTransitioningContentControl* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTransitioningContentControl* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_is_transition_reversed)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_is_transition_reversed)(IAvnTransitioningContentControl* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *advise_transition_completed)(IAvnTransitioningContentControl* self, IAvnTransitioningContentControlTransitionCompletedHandler* handler, int64_t* subscription_id); /* slot 107 */ - AvnHResult (AVN_CALL *unadvise_transition_completed)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 108 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnTransitioningContentControl* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnTransitioningContentControl* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnTransitioningContentControl* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnTransitioningContentControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnTransitioningContentControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnTransitioningContentControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnTransitioningContentControl* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnTransitioningContentControl* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnTransitioningContentControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnTransitioningContentControl* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTransitioningContentControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTransitioningContentControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnTransitioningContentControl* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnTransitioningContentControl* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnTransitioningContentControl* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnTransitioningContentControl* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnTransitioningContentControl* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnTransitioningContentControl* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnTransitioningContentControl* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnTransitioningContentControl* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnTransitioningContentControl* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnTransitioningContentControl* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnTransitioningContentControl* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnTransitioningContentControl* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnTransitioningContentControl* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnTransitioningContentControl* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnTransitioningContentControl* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnTransitioningContentControl* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnTransitioningContentControl* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnTransitioningContentControl* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnTransitioningContentControl* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnTransitioningContentControl* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnTransitioningContentControl* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnTransitioningContentControl* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnTransitioningContentControl* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTransitioningContentControl* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTransitioningContentControl* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnTransitioningContentControl* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnTransitioningContentControl* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnTransitioningContentControl* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnTransitioningContentControl* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnTransitioningContentControl* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnTransitioningContentControl* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnTransitioningContentControl* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnTransitioningContentControl* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_is_transition_reversed)(IAvnTransitioningContentControl* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_is_transition_reversed)(IAvnTransitioningContentControl* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *advise_transition_completed)(IAvnTransitioningContentControl* self, IAvnTransitioningContentControlTransitionCompletedHandler* handler, int64_t* subscription_id); /* slot 122 */ + AvnHResult (AVN_CALL *unadvise_transition_completed)(IAvnTransitioningContentControl* self, int64_t subscription_id); /* slot 123 */ }; struct IAvnTransitioningContentControl { const IAvnTransitioningContentControlVtbl* vtbl; }; -#define I_AVN_TRANSITIONING_CONTENT_CONTROL_VTABLE_SLOTS 109 +#define I_AVN_TRANSITIONING_CONTENT_CONTROL_VTABLE_SLOTS 124 static const AvnGuid I_AVN_TRAY_ICON_IID = { 0xC05739ED, @@ -13583,12 +15053,12 @@ struct IAvnTrayIcon { const IAvnTrayIconVtbl* vtbl; }; #define I_AVN_TRAY_ICON_VTABLE_SLOTS 17 static const AvnGuid I_AVN_TREE_VIEW_IID = { - 0xAD4500EF, - 0xD3C0, - 0x5798, - { 0xBF, 0x90, 0x5E, 0x75, 0x15, 0xE8, 0x5B, 0xEE } + 0x51F6F3E1, + 0x06E8, + 0x563F, + { 0xA8, 0x34, 0xCA, 0x7D, 0x3C, 0x75, 0x1B, 0x4D } }; -#define I_AVN_TREE_VIEW_ABI_VERSION 12 +#define I_AVN_TREE_VIEW_ABI_VERSION 15 struct IAvnTreeViewVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTreeView* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTreeView* self); /* slot 1 */ @@ -13645,87 +15115,102 @@ struct IAvnTreeViewVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnTreeView* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnTreeView* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnTreeView* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnTreeView* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnTreeView* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnTreeView* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTreeView* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnTreeView* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTreeView* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnTreeView* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTreeView* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnTreeView* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTreeView* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTreeView* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTreeView* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTreeView* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTreeView* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnTreeView* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnTreeView* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnTreeView* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnTreeView* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnTreeView* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnTreeView* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnTreeView* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnTreeView* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnTreeView* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnTreeView* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnTreeView* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnTreeView* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnTreeView* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnTreeView* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnTreeView* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnTreeView* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnTreeView* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnTreeView* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnTreeView* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnTreeView* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnTreeView* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnTreeView* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnTreeView* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnTreeView* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTreeView* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTreeView* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnTreeView* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnTreeView* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnTreeView* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnTreeView* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnTreeView* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnTreeView* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnTreeView* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnTreeView* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnTreeView* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnTreeView* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnTreeView* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnTreeView* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnTreeView* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnTreeView* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnTreeView* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnTreeView* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_selection_mode)(IAvnTreeView* self, int32_t* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_selection_mode)(IAvnTreeView* self, int32_t value); /* slot 112 */ - AvnHResult (AVN_CALL *get_selected_item)(IAvnTreeView* self, AvnVariant* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_selected_item)(IAvnTreeView* self, AvnVariant value); /* slot 114 */ - AvnHResult (AVN_CALL *get_selected_items)(IAvnTreeView* self, IAvnSelectedVariantList** value); /* slot 115 */ - AvnHResult (AVN_CALL *set_selected_items)(IAvnTreeView* self, IAvnSelectedVariantList* value); /* slot 116 */ - AvnHResult (AVN_CALL *expand_sub_tree_with_tree_view_item)(IAvnTreeView* self, IAvnTreeViewItem* item); /* slot 117 */ - AvnHResult (AVN_CALL *collapse_sub_tree_with_tree_view_item)(IAvnTreeView* self, IAvnTreeViewItem* item); /* slot 118 */ - AvnHResult (AVN_CALL *select_all)(IAvnTreeView* self); /* slot 119 */ - AvnHResult (AVN_CALL *unselect_all)(IAvnTreeView* self); /* slot 120 */ - AvnHResult (AVN_CALL *tree_container_from_item_with_object)(IAvnTreeView* self, AvnVariant item, IAvnControl** value); /* slot 121 */ - AvnHResult (AVN_CALL *tree_item_from_container_with_control)(IAvnTreeView* self, IAvnControl* container, AvnVariant* value); /* slot 122 */ - AvnHResult (AVN_CALL *advise_selection_changed)(IAvnTreeView* self, IAvnTreeViewSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 123 */ - AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnTreeView* self, int64_t subscription_id); /* slot 124 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnTreeView* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnTreeView* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnTreeView* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnTreeView* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnTreeView* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnTreeView* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTreeView* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnTreeView* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTreeView* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnTreeView* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTreeView* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnTreeView* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnTreeView* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnTreeView* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnTreeView* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnTreeView* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTreeView* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnTreeView* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnTreeView* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTreeView* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTreeView* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTreeView* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTreeView* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnTreeView* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnTreeView* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnTreeView* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnTreeView* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnTreeView* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnTreeView* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnTreeView* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnTreeView* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnTreeView* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnTreeView* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnTreeView* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnTreeView* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnTreeView* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnTreeView* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnTreeView* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnTreeView* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnTreeView* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnTreeView* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnTreeView* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnTreeView* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnTreeView* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnTreeView* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnTreeView* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnTreeView* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnTreeView* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnTreeView* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnTreeView* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnTreeView* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnTreeView* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnTreeView* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTreeView* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTreeView* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnTreeView* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnTreeView* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnTreeView* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnTreeView* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnTreeView* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnTreeView* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnTreeView* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnTreeView* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnTreeView* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnTreeView* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnTreeView* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnTreeView* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnTreeView* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnTreeView* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_auto_scroll_to_selected_item)(IAvnTreeView* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_auto_scroll_to_selected_item)(IAvnTreeView* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_selection_mode)(IAvnTreeView* self, int32_t* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_selection_mode)(IAvnTreeView* self, int32_t value); /* slot 127 */ + AvnHResult (AVN_CALL *get_selected_item)(IAvnTreeView* self, AvnVariant* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_selected_item)(IAvnTreeView* self, AvnVariant value); /* slot 129 */ + AvnHResult (AVN_CALL *get_selected_items)(IAvnTreeView* self, IAvnSelectedVariantList** value); /* slot 130 */ + AvnHResult (AVN_CALL *set_selected_items)(IAvnTreeView* self, IAvnSelectedVariantList* value); /* slot 131 */ + AvnHResult (AVN_CALL *expand_sub_tree_with_tree_view_item)(IAvnTreeView* self, IAvnTreeViewItem* item); /* slot 132 */ + AvnHResult (AVN_CALL *collapse_sub_tree_with_tree_view_item)(IAvnTreeView* self, IAvnTreeViewItem* item); /* slot 133 */ + AvnHResult (AVN_CALL *select_all)(IAvnTreeView* self); /* slot 134 */ + AvnHResult (AVN_CALL *unselect_all)(IAvnTreeView* self); /* slot 135 */ + AvnHResult (AVN_CALL *tree_container_from_item_with_object)(IAvnTreeView* self, AvnVariant item, IAvnControl** value); /* slot 136 */ + AvnHResult (AVN_CALL *tree_item_from_container_with_control)(IAvnTreeView* self, IAvnControl* container, AvnVariant* value); /* slot 137 */ + AvnHResult (AVN_CALL *advise_selection_changed)(IAvnTreeView* self, IAvnTreeViewSelectionChangedHandler* handler, int64_t* subscription_id); /* slot 138 */ + AvnHResult (AVN_CALL *unadvise_selection_changed)(IAvnTreeView* self, int64_t subscription_id); /* slot 139 */ }; struct IAvnTreeView { const IAvnTreeViewVtbl* vtbl; }; -#define I_AVN_TREE_VIEW_VTABLE_SLOTS 125 +#define I_AVN_TREE_VIEW_VTABLE_SLOTS 140 static const AvnGuid I_AVN_TREE_VIEW_ITEM_IID = { - 0xB4B4B178, - 0xBF7A, - 0x52CD, - { 0x8B, 0x27, 0xEF, 0xED, 0xBE, 0xA8, 0xC6, 0x0E } + 0x489990A9, + 0x1ED5, + 0x5772, + { 0xAE, 0xE6, 0x25, 0xC4, 0xE8, 0xB8, 0x61, 0x2A } }; -#define I_AVN_TREE_VIEW_ITEM_ABI_VERSION 12 +#define I_AVN_TREE_VIEW_ITEM_ABI_VERSION 15 struct IAvnTreeViewItemVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnTreeViewItem* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnTreeViewItem* self); /* slot 1 */ @@ -13782,84 +15267,99 @@ struct IAvnTreeViewItemVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnTreeViewItem* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnTreeViewItem* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnTreeViewItem* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnTreeViewItem* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnTreeViewItem* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnTreeViewItem* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnTreeViewItem* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnTreeViewItem* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnTreeViewItem* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTreeViewItem* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTreeViewItem* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnTreeViewItem* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnTreeViewItem* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnTreeViewItem* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnTreeViewItem* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnTreeViewItem* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnTreeViewItem* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnTreeViewItem* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnTreeViewItem* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnTreeViewItem* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnTreeViewItem* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnTreeViewItem* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnTreeViewItem* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnTreeViewItem* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnTreeViewItem* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnTreeViewItem* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnTreeViewItem* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnTreeViewItem* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnTreeViewItem* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnTreeViewItem* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnTreeViewItem* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnTreeViewItem* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnTreeViewItem* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnTreeViewItem* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnTreeViewItem* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTreeViewItem* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTreeViewItem* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnTreeViewItem* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnTreeViewItem* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_items)(IAvnTreeViewItem* self, IAvnItemList** value); /* slot 97 */ - AvnHResult (AVN_CALL *get_item_count)(IAvnTreeViewItem* self, int32_t* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_items_source)(IAvnTreeViewItem* self, IAvnVariantList** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_items_source)(IAvnTreeViewItem* self, IAvnVariantList* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_item_template)(IAvnTreeViewItem* self, IAvnDataTemplate** value); /* slot 101 */ - AvnHResult (AVN_CALL *set_item_template)(IAvnTreeViewItem* self, IAvnDataTemplate* value); /* slot 102 */ - AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnTreeViewItem* self, int32_t index, IAvnControl** value); /* slot 103 */ - AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnTreeViewItem* self, AvnVariant item, IAvnControl** value); /* slot 104 */ - AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnTreeViewItem* self, IAvnControl* container, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnTreeViewItem* self, IAvnControl* container, AvnVariant* value); /* slot 106 */ - AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnTreeViewItem* self, int32_t index); /* slot 107 */ - AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnTreeViewItem* self, AvnVariant item); /* slot 108 */ - AvnHResult (AVN_CALL *get_header)(IAvnTreeViewItem* self, IAvnControl** value); /* slot 109 */ - AvnHResult (AVN_CALL *set_header)(IAvnTreeViewItem* self, IAvnControl* value); /* slot 110 */ - AvnHResult (AVN_CALL *get_header_template)(IAvnTreeViewItem* self, IAvnDataTemplate** value); /* slot 111 */ - AvnHResult (AVN_CALL *set_header_template)(IAvnTreeViewItem* self, IAvnDataTemplate* value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_expanded)(IAvnTreeViewItem* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *set_is_expanded)(IAvnTreeViewItem* self, int32_t value); /* slot 114 */ - AvnHResult (AVN_CALL *get_is_selected)(IAvnTreeViewItem* self, int32_t* value); /* slot 115 */ - AvnHResult (AVN_CALL *set_is_selected)(IAvnTreeViewItem* self, int32_t value); /* slot 116 */ - AvnHResult (AVN_CALL *get_level)(IAvnTreeViewItem* self, int32_t* value); /* slot 117 */ - AvnHResult (AVN_CALL *advise_expanded)(IAvnTreeViewItem* self, IAvnTreeViewItemExpandedHandler* handler, int64_t* subscription_id); /* slot 118 */ - AvnHResult (AVN_CALL *unadvise_expanded)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 119 */ - AvnHResult (AVN_CALL *advise_collapsed)(IAvnTreeViewItem* self, IAvnTreeViewItemCollapsedHandler* handler, int64_t* subscription_id); /* slot 120 */ - AvnHResult (AVN_CALL *unadvise_collapsed)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 121 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnTreeViewItem* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnTreeViewItem* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnTreeViewItem* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnTreeViewItem* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnTreeViewItem* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnTreeViewItem* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnTreeViewItem* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnTreeViewItem* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnTreeViewItem* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnTreeViewItem* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnTreeViewItem* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnTreeViewItem* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnTreeViewItem* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnTreeViewItem* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnTreeViewItem* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnTreeViewItem* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnTreeViewItem* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnTreeViewItem* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnTreeViewItem* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnTreeViewItem* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnTreeViewItem* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnTreeViewItem* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnTreeViewItem* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnTreeViewItem* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnTreeViewItem* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnTreeViewItem* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnTreeViewItem* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnTreeViewItem* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnTreeViewItem* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnTreeViewItem* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnTreeViewItem* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnTreeViewItem* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnTreeViewItem* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnTreeViewItem* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnTreeViewItem* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnTreeViewItem* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnTreeViewItem* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnTreeViewItem* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnTreeViewItem* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnTreeViewItem* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnTreeViewItem* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnTreeViewItem* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnTreeViewItem* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnTreeViewItem* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnTreeViewItem* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_items)(IAvnTreeViewItem* self, IAvnItemList** value); /* slot 112 */ + AvnHResult (AVN_CALL *get_item_count)(IAvnTreeViewItem* self, int32_t* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_items_source)(IAvnTreeViewItem* self, IAvnVariantList** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_items_source)(IAvnTreeViewItem* self, IAvnVariantList* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_item_template)(IAvnTreeViewItem* self, IAvnDataTemplate** value); /* slot 116 */ + AvnHResult (AVN_CALL *set_item_template)(IAvnTreeViewItem* self, IAvnDataTemplate* value); /* slot 117 */ + AvnHResult (AVN_CALL *container_from_index_with_int32)(IAvnTreeViewItem* self, int32_t index, IAvnControl** value); /* slot 118 */ + AvnHResult (AVN_CALL *container_from_item_with_object)(IAvnTreeViewItem* self, AvnVariant item, IAvnControl** value); /* slot 119 */ + AvnHResult (AVN_CALL *index_from_container_with_control)(IAvnTreeViewItem* self, IAvnControl* container, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *item_from_container_with_control)(IAvnTreeViewItem* self, IAvnControl* container, AvnVariant* value); /* slot 121 */ + AvnHResult (AVN_CALL *scroll_into_view_with_int32)(IAvnTreeViewItem* self, int32_t index); /* slot 122 */ + AvnHResult (AVN_CALL *scroll_into_view_with_object)(IAvnTreeViewItem* self, AvnVariant item); /* slot 123 */ + AvnHResult (AVN_CALL *get_header)(IAvnTreeViewItem* self, IAvnControl** value); /* slot 124 */ + AvnHResult (AVN_CALL *set_header)(IAvnTreeViewItem* self, IAvnControl* value); /* slot 125 */ + AvnHResult (AVN_CALL *get_header_template)(IAvnTreeViewItem* self, IAvnDataTemplate** value); /* slot 126 */ + AvnHResult (AVN_CALL *set_header_template)(IAvnTreeViewItem* self, IAvnDataTemplate* value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_expanded)(IAvnTreeViewItem* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *set_is_expanded)(IAvnTreeViewItem* self, int32_t value); /* slot 129 */ + AvnHResult (AVN_CALL *get_is_selected)(IAvnTreeViewItem* self, int32_t* value); /* slot 130 */ + AvnHResult (AVN_CALL *set_is_selected)(IAvnTreeViewItem* self, int32_t value); /* slot 131 */ + AvnHResult (AVN_CALL *get_level)(IAvnTreeViewItem* self, int32_t* value); /* slot 132 */ + AvnHResult (AVN_CALL *advise_expanded)(IAvnTreeViewItem* self, IAvnTreeViewItemExpandedHandler* handler, int64_t* subscription_id); /* slot 133 */ + AvnHResult (AVN_CALL *unadvise_expanded)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 134 */ + AvnHResult (AVN_CALL *advise_collapsed)(IAvnTreeViewItem* self, IAvnTreeViewItemCollapsedHandler* handler, int64_t* subscription_id); /* slot 135 */ + AvnHResult (AVN_CALL *unadvise_collapsed)(IAvnTreeViewItem* self, int64_t subscription_id); /* slot 136 */ }; struct IAvnTreeViewItem { const IAvnTreeViewItemVtbl* vtbl; }; -#define I_AVN_TREE_VIEW_ITEM_VTABLE_SLOTS 122 +#define I_AVN_TREE_VIEW_ITEM_VTABLE_SLOTS 137 static const AvnGuid I_AVN_UNIFORM_GRID_IID = { - 0xB6DABE9A, - 0x7AED, - 0x5BCF, - { 0xB8, 0x89, 0xA7, 0x15, 0xEC, 0x08, 0xD5, 0xE4 } + 0x8B8511AD, + 0x3289, + 0x5415, + { 0xA0, 0x3D, 0xE0, 0x26, 0x55, 0x49, 0xA8, 0x76 } }; -#define I_AVN_UNIFORM_GRID_ABI_VERSION 8 +#define I_AVN_UNIFORM_GRID_ABI_VERSION 11 struct IAvnUniformGridVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnUniformGrid* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnUniformGrid* self); /* slot 1 */ @@ -13916,44 +15416,59 @@ struct IAvnUniformGridVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnUniformGrid* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnUniformGrid* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnUniformGrid* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnUniformGrid* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnUniformGrid* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnUniformGrid* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnUniformGrid* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnUniformGrid* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnUniformGrid* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnUniformGrid* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnUniformGrid* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_children)(IAvnUniformGrid* self, IAvnControlList** value); /* slot 69 */ - AvnHResult (AVN_CALL *get_background)(IAvnUniformGrid* self, IAvnBrush** value); /* slot 70 */ - AvnHResult (AVN_CALL *set_background)(IAvnUniformGrid* self, IAvnBrush* value); /* slot 71 */ - AvnHResult (AVN_CALL *get_rows)(IAvnUniformGrid* self, int32_t* value); /* slot 72 */ - AvnHResult (AVN_CALL *set_rows)(IAvnUniformGrid* self, int32_t value); /* slot 73 */ - AvnHResult (AVN_CALL *get_columns)(IAvnUniformGrid* self, int32_t* value); /* slot 74 */ - AvnHResult (AVN_CALL *set_columns)(IAvnUniformGrid* self, int32_t value); /* slot 75 */ - AvnHResult (AVN_CALL *get_first_column)(IAvnUniformGrid* self, int32_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *set_first_column)(IAvnUniformGrid* self, int32_t value); /* slot 77 */ - AvnHResult (AVN_CALL *get_row_spacing)(IAvnUniformGrid* self, double* value); /* slot 78 */ - AvnHResult (AVN_CALL *set_row_spacing)(IAvnUniformGrid* self, double value); /* slot 79 */ - AvnHResult (AVN_CALL *get_column_spacing)(IAvnUniformGrid* self, double* value); /* slot 80 */ - AvnHResult (AVN_CALL *set_column_spacing)(IAvnUniformGrid* self, double value); /* slot 81 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnUniformGrid* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnUniformGrid* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnUniformGrid* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnUniformGrid* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnUniformGrid* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnUniformGrid* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnUniformGrid* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnUniformGrid* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnUniformGrid* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnUniformGrid* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnUniformGrid* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnUniformGrid* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnUniformGrid* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnUniformGrid* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnUniformGrid* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnUniformGrid* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnUniformGrid* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnUniformGrid* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_children)(IAvnUniformGrid* self, IAvnControlList** value); /* slot 84 */ + AvnHResult (AVN_CALL *get_background)(IAvnUniformGrid* self, IAvnBrush** value); /* slot 85 */ + AvnHResult (AVN_CALL *set_background)(IAvnUniformGrid* self, IAvnBrush* value); /* slot 86 */ + AvnHResult (AVN_CALL *get_rows)(IAvnUniformGrid* self, int32_t* value); /* slot 87 */ + AvnHResult (AVN_CALL *set_rows)(IAvnUniformGrid* self, int32_t value); /* slot 88 */ + AvnHResult (AVN_CALL *get_columns)(IAvnUniformGrid* self, int32_t* value); /* slot 89 */ + AvnHResult (AVN_CALL *set_columns)(IAvnUniformGrid* self, int32_t value); /* slot 90 */ + AvnHResult (AVN_CALL *get_first_column)(IAvnUniformGrid* self, int32_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *set_first_column)(IAvnUniformGrid* self, int32_t value); /* slot 92 */ + AvnHResult (AVN_CALL *get_row_spacing)(IAvnUniformGrid* self, double* value); /* slot 93 */ + AvnHResult (AVN_CALL *set_row_spacing)(IAvnUniformGrid* self, double value); /* slot 94 */ + AvnHResult (AVN_CALL *get_column_spacing)(IAvnUniformGrid* self, double* value); /* slot 95 */ + AvnHResult (AVN_CALL *set_column_spacing)(IAvnUniformGrid* self, double value); /* slot 96 */ }; struct IAvnUniformGrid { const IAvnUniformGridVtbl* vtbl; }; -#define I_AVN_UNIFORM_GRID_VTABLE_SLOTS 82 +#define I_AVN_UNIFORM_GRID_VTABLE_SLOTS 97 static const AvnGuid I_AVN_USER_CONTROL_IID = { - 0x61A53A49, - 0xAD6E, - 0x58C8, - { 0x88, 0xDF, 0xDC, 0x3B, 0x76, 0x9C, 0xF0, 0x13 } + 0x0529D537, + 0x1B91, + 0x5234, + { 0x84, 0x80, 0x85, 0x5B, 0x56, 0x08, 0x63, 0x22 } }; -#define I_AVN_USER_CONTROL_ABI_VERSION 9 +#define I_AVN_USER_CONTROL_ABI_VERSION 12 struct IAvnUserControlVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnUserControl* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnUserControl* self); /* slot 1 */ @@ -14010,67 +15525,82 @@ struct IAvnUserControlVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnUserControl* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnUserControl* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnUserControl* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnUserControl* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnUserControl* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnUserControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnUserControl* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnUserControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnUserControl* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnUserControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnUserControl* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnUserControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnUserControl* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnUserControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnUserControl* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnUserControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnUserControl* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnUserControl* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnUserControl* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnUserControl* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnUserControl* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnUserControl* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnUserControl* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnUserControl* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnUserControl* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnUserControl* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnUserControl* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnUserControl* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnUserControl* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnUserControl* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnUserControl* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnUserControl* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnUserControl* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnUserControl* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnUserControl* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnUserControl* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnUserControl* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnUserControl* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnUserControl* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnUserControl* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnUserControl* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnUserControl* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnUserControl* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnUserControl* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnUserControl* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnUserControl* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnUserControl* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnUserControl* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnUserControl* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnUserControl* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnUserControl* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnUserControl* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnUserControl* self, int32_t value); /* slot 104 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnUserControl* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnUserControl* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnUserControl* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnUserControl* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnUserControl* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnUserControl* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnUserControl* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnUserControl* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnUserControl* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnUserControl* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnUserControl* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnUserControl* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnUserControl* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnUserControl* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnUserControl* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnUserControl* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnUserControl* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnUserControl* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnUserControl* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnUserControl* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnUserControl* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnUserControl* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnUserControl* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnUserControl* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnUserControl* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnUserControl* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnUserControl* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnUserControl* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnUserControl* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnUserControl* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnUserControl* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnUserControl* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnUserControl* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnUserControl* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnUserControl* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnUserControl* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnUserControl* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnUserControl* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnUserControl* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnUserControl* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnUserControl* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnUserControl* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnUserControl* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnUserControl* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnUserControl* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnUserControl* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnUserControl* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnUserControl* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnUserControl* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnUserControl* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnUserControl* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnUserControl* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnUserControl* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnUserControl* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnUserControl* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnUserControl* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnUserControl* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnUserControl* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnUserControl* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnUserControl* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnUserControl* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnUserControl* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnUserControl* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnUserControl* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnUserControl* self, int32_t value); /* slot 119 */ }; struct IAvnUserControl { const IAvnUserControlVtbl* vtbl; }; -#define I_AVN_USER_CONTROL_VTABLE_SLOTS 105 +#define I_AVN_USER_CONTROL_VTABLE_SLOTS 120 static const AvnGuid I_AVN_VIEWBOX_IID = { - 0x4F61E1E8, - 0xF773, - 0x5195, - { 0xB8, 0xBF, 0x89, 0xEF, 0x6E, 0x8F, 0x6C, 0x44 } + 0xEFA9084A, + 0x769B, + 0x55F4, + { 0x81, 0x01, 0x3B, 0x6D, 0x4C, 0xB5, 0x24, 0xD7 } }; -#define I_AVN_VIEWBOX_ABI_VERSION 8 +#define I_AVN_VIEWBOX_ABI_VERSION 11 struct IAvnViewboxVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnViewbox* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnViewbox* self); /* slot 1 */ @@ -14127,37 +15657,52 @@ struct IAvnViewboxVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnViewbox* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnViewbox* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnViewbox* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnViewbox* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnViewbox* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnViewbox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnViewbox* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnViewbox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnViewbox* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnViewbox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnViewbox* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnViewbox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnViewbox* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnViewbox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnViewbox* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnViewbox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnViewbox* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_stretch)(IAvnViewbox* self, int32_t* value); /* slot 69 */ - AvnHResult (AVN_CALL *set_stretch)(IAvnViewbox* self, int32_t value); /* slot 70 */ - AvnHResult (AVN_CALL *get_stretch_direction)(IAvnViewbox* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_stretch_direction)(IAvnViewbox* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_child)(IAvnViewbox* self, IAvnControl** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_child)(IAvnViewbox* self, IAvnControl* value); /* slot 74 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnViewbox* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnViewbox* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnViewbox* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnViewbox* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnViewbox* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnViewbox* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnViewbox* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnViewbox* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnViewbox* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnViewbox* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnViewbox* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnViewbox* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnViewbox* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnViewbox* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnViewbox* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnViewbox* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnViewbox* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnViewbox* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnViewbox* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnViewbox* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnViewbox* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnViewbox* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnViewbox* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnViewbox* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnViewbox* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnViewbox* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnViewbox* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnViewbox* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnViewbox* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_stretch)(IAvnViewbox* self, int32_t* value); /* slot 84 */ + AvnHResult (AVN_CALL *set_stretch)(IAvnViewbox* self, int32_t value); /* slot 85 */ + AvnHResult (AVN_CALL *get_stretch_direction)(IAvnViewbox* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_stretch_direction)(IAvnViewbox* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_child)(IAvnViewbox* self, IAvnControl** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_child)(IAvnViewbox* self, IAvnControl* value); /* slot 89 */ }; struct IAvnViewbox { const IAvnViewboxVtbl* vtbl; }; -#define I_AVN_VIEWBOX_VTABLE_SLOTS 75 +#define I_AVN_VIEWBOX_VTABLE_SLOTS 90 static const AvnGuid I_AVN_WINDOW_IID = { - 0xBEAAC3C0, - 0x855F, - 0x5FC1, - { 0x97, 0x50, 0x80, 0xC5, 0x38, 0xF7, 0xEE, 0x87 } + 0x9A01C107, + 0xBB12, + 0x5AFE, + { 0x9D, 0xAA, 0xC5, 0xAA, 0xCE, 0xF2, 0xD8, 0x79 } }; -#define I_AVN_WINDOW_ABI_VERSION 18 +#define I_AVN_WINDOW_ABI_VERSION 21 struct IAvnWindowVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnWindow* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnWindow* self); /* slot 1 */ @@ -14214,108 +15759,123 @@ struct IAvnWindowVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnWindow* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnWindow* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnWindow* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnWindow* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnWindow* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnWindow* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnWindow* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnWindow* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnWindow* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnWindow* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnWindow* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnWindow* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnWindow* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnWindow* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnWindow* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnWindow* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnWindow* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnWindow* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnWindow* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnWindow* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnWindow* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnWindow* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnWindow* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnWindow* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnWindow* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnWindow* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnWindow* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnWindow* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnWindow* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnWindow* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnWindow* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnWindow* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnWindow* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnWindow* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnWindow* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnWindow* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnWindow* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnWindow* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnWindow* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnWindow* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnWindow* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnWindow* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnWindow* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnWindow* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnWindow* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_content)(IAvnWindow* self, IAvnControl** value); /* slot 97 */ - AvnHResult (AVN_CALL *set_content)(IAvnWindow* self, IAvnControl* value); /* slot 98 */ - AvnHResult (AVN_CALL *get_content_template)(IAvnWindow* self, IAvnDataTemplate** value); /* slot 99 */ - AvnHResult (AVN_CALL *set_content_template)(IAvnWindow* self, IAvnDataTemplate* value); /* slot 100 */ - AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnWindow* self, int32_t* value); /* slot 101 */ - AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnWindow* self, int32_t value); /* slot 102 */ - AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnWindow* self, int32_t* value); /* slot 103 */ - AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnWindow* self, int32_t value); /* slot 104 */ - AvnHResult (AVN_CALL *get_size_to_content)(IAvnWindow* self, int32_t* value); /* slot 105 */ - AvnHResult (AVN_CALL *set_size_to_content)(IAvnWindow* self, int32_t value); /* slot 106 */ - AvnHResult (AVN_CALL *get_title)(IAvnWindow* self, uint16_t** value); /* slot 107 */ - AvnHResult (AVN_CALL *set_title)(IAvnWindow* self, const uint16_t* value); /* slot 108 */ - AvnHResult (AVN_CALL *get_extend_client_area_to_decorations_hint)(IAvnWindow* self, int32_t* value); /* slot 109 */ - AvnHResult (AVN_CALL *set_extend_client_area_to_decorations_hint)(IAvnWindow* self, int32_t value); /* slot 110 */ - AvnHResult (AVN_CALL *get_extend_client_area_title_bar_height_hint)(IAvnWindow* self, double* value); /* slot 111 */ - AvnHResult (AVN_CALL *set_extend_client_area_title_bar_height_hint)(IAvnWindow* self, double value); /* slot 112 */ - AvnHResult (AVN_CALL *get_is_extended_into_window_decorations)(IAvnWindow* self, int32_t* value); /* slot 113 */ - AvnHResult (AVN_CALL *get_window_decoration_margin)(IAvnWindow* self, AvnThickness* value); /* slot 114 */ - AvnHResult (AVN_CALL *get_off_screen_margin)(IAvnWindow* self, AvnThickness* value); /* slot 115 */ - AvnHResult (AVN_CALL *get_window_decorations)(IAvnWindow* self, int32_t* value); /* slot 116 */ - AvnHResult (AVN_CALL *set_window_decorations)(IAvnWindow* self, int32_t value); /* slot 117 */ - AvnHResult (AVN_CALL *get_show_activated)(IAvnWindow* self, int32_t* value); /* slot 118 */ - AvnHResult (AVN_CALL *set_show_activated)(IAvnWindow* self, int32_t value); /* slot 119 */ - AvnHResult (AVN_CALL *get_show_in_taskbar)(IAvnWindow* self, int32_t* value); /* slot 120 */ - AvnHResult (AVN_CALL *set_show_in_taskbar)(IAvnWindow* self, int32_t value); /* slot 121 */ - AvnHResult (AVN_CALL *get_closing_behavior)(IAvnWindow* self, int32_t* value); /* slot 122 */ - AvnHResult (AVN_CALL *set_closing_behavior)(IAvnWindow* self, int32_t value); /* slot 123 */ - AvnHResult (AVN_CALL *get_window_state)(IAvnWindow* self, int32_t* value); /* slot 124 */ - AvnHResult (AVN_CALL *set_window_state)(IAvnWindow* self, int32_t value); /* slot 125 */ - AvnHResult (AVN_CALL *get_can_resize)(IAvnWindow* self, int32_t* value); /* slot 126 */ - AvnHResult (AVN_CALL *set_can_resize)(IAvnWindow* self, int32_t value); /* slot 127 */ - AvnHResult (AVN_CALL *get_can_minimize)(IAvnWindow* self, int32_t* value); /* slot 128 */ - AvnHResult (AVN_CALL *set_can_minimize)(IAvnWindow* self, int32_t value); /* slot 129 */ - AvnHResult (AVN_CALL *get_can_maximize)(IAvnWindow* self, int32_t* value); /* slot 130 */ - AvnHResult (AVN_CALL *set_can_maximize)(IAvnWindow* self, int32_t value); /* slot 131 */ - AvnHResult (AVN_CALL *get_icon)(IAvnWindow* self, uint16_t** value); /* slot 132 */ - AvnHResult (AVN_CALL *set_icon)(IAvnWindow* self, const uint16_t* value); /* slot 133 */ - AvnHResult (AVN_CALL *get_window_startup_location)(IAvnWindow* self, int32_t* value); /* slot 134 */ - AvnHResult (AVN_CALL *set_window_startup_location)(IAvnWindow* self, int32_t value); /* slot 135 */ - AvnHResult (AVN_CALL *get_position)(IAvnWindow* self, AvnPixelPoint* value); /* slot 136 */ - AvnHResult (AVN_CALL *set_position)(IAvnWindow* self, AvnPixelPoint value); /* slot 137 */ - AvnHResult (AVN_CALL *get_is_dialog)(IAvnWindow* self, int32_t* value); /* slot 138 */ - AvnHResult (AVN_CALL *close)(IAvnWindow* self); /* slot 139 */ - AvnHResult (AVN_CALL *close_with_object)(IAvnWindow* self, AvnVariant dialog_result); /* slot 140 */ - AvnHResult (AVN_CALL *hide)(IAvnWindow* self); /* slot 141 */ - AvnHResult (AVN_CALL *show)(IAvnWindow* self); /* slot 142 */ - AvnHResult (AVN_CALL *show_with_window)(IAvnWindow* self, IAvnWindow* owner); /* slot 143 */ - AvnHResult (AVN_CALL *advise_closing)(IAvnWindow* self, IAvnWindowClosingHandler* handler, int64_t* subscription_id); /* slot 144 */ - AvnHResult (AVN_CALL *unadvise_closing)(IAvnWindow* self, int64_t subscription_id); /* slot 145 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnWindow* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnWindow* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnWindow* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnWindow* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnWindow* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnWindow* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnWindow* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnWindow* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnWindow* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnWindow* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnWindow* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnWindow* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnWindow* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnWindow* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnWindow* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnWindow* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnWindow* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnWindow* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnWindow* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnWindow* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnWindow* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnWindow* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnWindow* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnWindow* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnWindow* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnWindow* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnWindow* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnWindow* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnWindow* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnWindow* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnWindow* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnWindow* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnWindow* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnWindow* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnWindow* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnWindow* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnWindow* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnWindow* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnWindow* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnWindow* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnWindow* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnWindow* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnWindow* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnWindow* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnWindow* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnWindow* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnWindow* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnWindow* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnWindow* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnWindow* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnWindow* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnWindow* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnWindow* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnWindow* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnWindow* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnWindow* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnWindow* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_content)(IAvnWindow* self, IAvnControl** value); /* slot 112 */ + AvnHResult (AVN_CALL *set_content)(IAvnWindow* self, IAvnControl* value); /* slot 113 */ + AvnHResult (AVN_CALL *get_content_template)(IAvnWindow* self, IAvnDataTemplate** value); /* slot 114 */ + AvnHResult (AVN_CALL *set_content_template)(IAvnWindow* self, IAvnDataTemplate* value); /* slot 115 */ + AvnHResult (AVN_CALL *get_horizontal_content_alignment)(IAvnWindow* self, int32_t* value); /* slot 116 */ + AvnHResult (AVN_CALL *set_horizontal_content_alignment)(IAvnWindow* self, int32_t value); /* slot 117 */ + AvnHResult (AVN_CALL *get_vertical_content_alignment)(IAvnWindow* self, int32_t* value); /* slot 118 */ + AvnHResult (AVN_CALL *set_vertical_content_alignment)(IAvnWindow* self, int32_t value); /* slot 119 */ + AvnHResult (AVN_CALL *get_size_to_content)(IAvnWindow* self, int32_t* value); /* slot 120 */ + AvnHResult (AVN_CALL *set_size_to_content)(IAvnWindow* self, int32_t value); /* slot 121 */ + AvnHResult (AVN_CALL *get_title)(IAvnWindow* self, uint16_t** value); /* slot 122 */ + AvnHResult (AVN_CALL *set_title)(IAvnWindow* self, const uint16_t* value); /* slot 123 */ + AvnHResult (AVN_CALL *get_extend_client_area_to_decorations_hint)(IAvnWindow* self, int32_t* value); /* slot 124 */ + AvnHResult (AVN_CALL *set_extend_client_area_to_decorations_hint)(IAvnWindow* self, int32_t value); /* slot 125 */ + AvnHResult (AVN_CALL *get_extend_client_area_title_bar_height_hint)(IAvnWindow* self, double* value); /* slot 126 */ + AvnHResult (AVN_CALL *set_extend_client_area_title_bar_height_hint)(IAvnWindow* self, double value); /* slot 127 */ + AvnHResult (AVN_CALL *get_is_extended_into_window_decorations)(IAvnWindow* self, int32_t* value); /* slot 128 */ + AvnHResult (AVN_CALL *get_window_decoration_margin)(IAvnWindow* self, AvnThickness* value); /* slot 129 */ + AvnHResult (AVN_CALL *get_off_screen_margin)(IAvnWindow* self, AvnThickness* value); /* slot 130 */ + AvnHResult (AVN_CALL *get_window_decorations)(IAvnWindow* self, int32_t* value); /* slot 131 */ + AvnHResult (AVN_CALL *set_window_decorations)(IAvnWindow* self, int32_t value); /* slot 132 */ + AvnHResult (AVN_CALL *get_show_activated)(IAvnWindow* self, int32_t* value); /* slot 133 */ + AvnHResult (AVN_CALL *set_show_activated)(IAvnWindow* self, int32_t value); /* slot 134 */ + AvnHResult (AVN_CALL *get_show_in_taskbar)(IAvnWindow* self, int32_t* value); /* slot 135 */ + AvnHResult (AVN_CALL *set_show_in_taskbar)(IAvnWindow* self, int32_t value); /* slot 136 */ + AvnHResult (AVN_CALL *get_closing_behavior)(IAvnWindow* self, int32_t* value); /* slot 137 */ + AvnHResult (AVN_CALL *set_closing_behavior)(IAvnWindow* self, int32_t value); /* slot 138 */ + AvnHResult (AVN_CALL *get_window_state)(IAvnWindow* self, int32_t* value); /* slot 139 */ + AvnHResult (AVN_CALL *set_window_state)(IAvnWindow* self, int32_t value); /* slot 140 */ + AvnHResult (AVN_CALL *get_can_resize)(IAvnWindow* self, int32_t* value); /* slot 141 */ + AvnHResult (AVN_CALL *set_can_resize)(IAvnWindow* self, int32_t value); /* slot 142 */ + AvnHResult (AVN_CALL *get_can_minimize)(IAvnWindow* self, int32_t* value); /* slot 143 */ + AvnHResult (AVN_CALL *set_can_minimize)(IAvnWindow* self, int32_t value); /* slot 144 */ + AvnHResult (AVN_CALL *get_can_maximize)(IAvnWindow* self, int32_t* value); /* slot 145 */ + AvnHResult (AVN_CALL *set_can_maximize)(IAvnWindow* self, int32_t value); /* slot 146 */ + AvnHResult (AVN_CALL *get_icon)(IAvnWindow* self, uint16_t** value); /* slot 147 */ + AvnHResult (AVN_CALL *set_icon)(IAvnWindow* self, const uint16_t* value); /* slot 148 */ + AvnHResult (AVN_CALL *get_window_startup_location)(IAvnWindow* self, int32_t* value); /* slot 149 */ + AvnHResult (AVN_CALL *set_window_startup_location)(IAvnWindow* self, int32_t value); /* slot 150 */ + AvnHResult (AVN_CALL *get_position)(IAvnWindow* self, AvnPixelPoint* value); /* slot 151 */ + AvnHResult (AVN_CALL *set_position)(IAvnWindow* self, AvnPixelPoint value); /* slot 152 */ + AvnHResult (AVN_CALL *get_is_dialog)(IAvnWindow* self, int32_t* value); /* slot 153 */ + AvnHResult (AVN_CALL *close)(IAvnWindow* self); /* slot 154 */ + AvnHResult (AVN_CALL *close_with_object)(IAvnWindow* self, AvnVariant dialog_result); /* slot 155 */ + AvnHResult (AVN_CALL *hide)(IAvnWindow* self); /* slot 156 */ + AvnHResult (AVN_CALL *show)(IAvnWindow* self); /* slot 157 */ + AvnHResult (AVN_CALL *show_with_window)(IAvnWindow* self, IAvnWindow* owner); /* slot 158 */ + AvnHResult (AVN_CALL *advise_closing)(IAvnWindow* self, IAvnWindowClosingHandler* handler, int64_t* subscription_id); /* slot 159 */ + AvnHResult (AVN_CALL *unadvise_closing)(IAvnWindow* self, int64_t subscription_id); /* slot 160 */ }; struct IAvnWindow { const IAvnWindowVtbl* vtbl; }; -#define I_AVN_WINDOW_VTABLE_SLOTS 146 +#define I_AVN_WINDOW_VTABLE_SLOTS 161 static const AvnGuid I_AVN_WINDOW_NOTIFICATION_MANAGER_IID = { - 0xD4C37646, - 0xAAD1, - 0x5B56, - { 0xA2, 0x60, 0xD0, 0xAB, 0x8C, 0xFE, 0x09, 0x36 } + 0xC159F361, + 0xBE6C, + 0x5268, + { 0x8A, 0x0B, 0xE1, 0x2F, 0x63, 0x3F, 0x39, 0x5C } }; -#define I_AVN_WINDOW_NOTIFICATION_MANAGER_ABI_VERSION 10 +#define I_AVN_WINDOW_NOTIFICATION_MANAGER_ABI_VERSION 13 struct IAvnWindowNotificationManagerVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnWindowNotificationManager* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnWindowNotificationManager* self); /* slot 1 */ @@ -14372,68 +15932,83 @@ struct IAvnWindowNotificationManagerVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnWindowNotificationManager* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnWindowNotificationManager* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnWindowNotificationManager* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnWindowNotificationManager* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnWindowNotificationManager* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnWindowNotificationManager* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnWindowNotificationManager* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnWindowNotificationManager* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnWindowNotificationManager* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_background)(IAvnWindowNotificationManager* self, IAvnBrush** value); /* slot 69 */ - AvnHResult (AVN_CALL *set_background)(IAvnWindowNotificationManager* self, IAvnBrush* value); /* slot 70 */ - AvnHResult (AVN_CALL *get_background_sizing)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 71 */ - AvnHResult (AVN_CALL *set_background_sizing)(IAvnWindowNotificationManager* self, int32_t value); /* slot 72 */ - AvnHResult (AVN_CALL *get_border_brush)(IAvnWindowNotificationManager* self, IAvnBrush** value); /* slot 73 */ - AvnHResult (AVN_CALL *set_border_brush)(IAvnWindowNotificationManager* self, IAvnBrush* value); /* slot 74 */ - AvnHResult (AVN_CALL *get_border_thickness)(IAvnWindowNotificationManager* self, AvnThickness* value); /* slot 75 */ - AvnHResult (AVN_CALL *set_border_thickness)(IAvnWindowNotificationManager* self, AvnThickness value); /* slot 76 */ - AvnHResult (AVN_CALL *get_corner_radius)(IAvnWindowNotificationManager* self, AvnCornerRadius* value); /* slot 77 */ - AvnHResult (AVN_CALL *set_corner_radius)(IAvnWindowNotificationManager* self, AvnCornerRadius value); /* slot 78 */ - AvnHResult (AVN_CALL *get_font_family)(IAvnWindowNotificationManager* self, uint16_t** value); /* slot 79 */ - AvnHResult (AVN_CALL *set_font_family)(IAvnWindowNotificationManager* self, const uint16_t* value); /* slot 80 */ - AvnHResult (AVN_CALL *get_font_features)(IAvnWindowNotificationManager* self, uint16_t** value); /* slot 81 */ - AvnHResult (AVN_CALL *set_font_features)(IAvnWindowNotificationManager* self, const uint16_t* value); /* slot 82 */ - AvnHResult (AVN_CALL *get_font_size)(IAvnWindowNotificationManager* self, double* value); /* slot 83 */ - AvnHResult (AVN_CALL *set_font_size)(IAvnWindowNotificationManager* self, double value); /* slot 84 */ - AvnHResult (AVN_CALL *get_font_style)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 85 */ - AvnHResult (AVN_CALL *set_font_style)(IAvnWindowNotificationManager* self, int32_t value); /* slot 86 */ - AvnHResult (AVN_CALL *get_font_weight)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 87 */ - AvnHResult (AVN_CALL *set_font_weight)(IAvnWindowNotificationManager* self, int32_t value); /* slot 88 */ - AvnHResult (AVN_CALL *get_font_stretch)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 89 */ - AvnHResult (AVN_CALL *set_font_stretch)(IAvnWindowNotificationManager* self, int32_t value); /* slot 90 */ - AvnHResult (AVN_CALL *get_foreground)(IAvnWindowNotificationManager* self, IAvnBrush** value); /* slot 91 */ - AvnHResult (AVN_CALL *set_foreground)(IAvnWindowNotificationManager* self, IAvnBrush* value); /* slot 92 */ - AvnHResult (AVN_CALL *get_letter_spacing)(IAvnWindowNotificationManager* self, double* value); /* slot 93 */ - AvnHResult (AVN_CALL *set_letter_spacing)(IAvnWindowNotificationManager* self, double value); /* slot 94 */ - AvnHResult (AVN_CALL *get_padding)(IAvnWindowNotificationManager* self, AvnThickness* value); /* slot 95 */ - AvnHResult (AVN_CALL *set_padding)(IAvnWindowNotificationManager* self, AvnThickness value); /* slot 96 */ - AvnHResult (AVN_CALL *get_position)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 97 */ - AvnHResult (AVN_CALL *set_position)(IAvnWindowNotificationManager* self, int32_t value); /* slot 98 */ - AvnHResult (AVN_CALL *get_max_items)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 99 */ - AvnHResult (AVN_CALL *set_max_items)(IAvnWindowNotificationManager* self, int32_t value); /* slot 100 */ - AvnHResult (AVN_CALL *show_with_i_notification)(IAvnWindowNotificationManager* self, IAvnNotification* content); /* slot 101 */ - AvnHResult (AVN_CALL *show_with_object)(IAvnWindowNotificationManager* self, AvnVariant content); /* slot 102 */ - AvnHResult (AVN_CALL *close_with_i_notification)(IAvnWindowNotificationManager* self, IAvnNotification* notification); /* slot 103 */ - AvnHResult (AVN_CALL *close_with_object)(IAvnWindowNotificationManager* self, AvnVariant content); /* slot 104 */ - AvnHResult (AVN_CALL *close_all)(IAvnWindowNotificationManager* self); /* slot 105 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnWindowNotificationManager* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnWindowNotificationManager* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnWindowNotificationManager* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnWindowNotificationManager* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnWindowNotificationManager* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnWindowNotificationManager* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnWindowNotificationManager* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnWindowNotificationManager* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnWindowNotificationManager* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnWindowNotificationManager* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnWindowNotificationManager* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnWindowNotificationManager* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnWindowNotificationManager* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnWindowNotificationManager* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnWindowNotificationManager* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnWindowNotificationManager* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_background)(IAvnWindowNotificationManager* self, IAvnBrush** value); /* slot 84 */ + AvnHResult (AVN_CALL *set_background)(IAvnWindowNotificationManager* self, IAvnBrush* value); /* slot 85 */ + AvnHResult (AVN_CALL *get_background_sizing)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 86 */ + AvnHResult (AVN_CALL *set_background_sizing)(IAvnWindowNotificationManager* self, int32_t value); /* slot 87 */ + AvnHResult (AVN_CALL *get_border_brush)(IAvnWindowNotificationManager* self, IAvnBrush** value); /* slot 88 */ + AvnHResult (AVN_CALL *set_border_brush)(IAvnWindowNotificationManager* self, IAvnBrush* value); /* slot 89 */ + AvnHResult (AVN_CALL *get_border_thickness)(IAvnWindowNotificationManager* self, AvnThickness* value); /* slot 90 */ + AvnHResult (AVN_CALL *set_border_thickness)(IAvnWindowNotificationManager* self, AvnThickness value); /* slot 91 */ + AvnHResult (AVN_CALL *get_corner_radius)(IAvnWindowNotificationManager* self, AvnCornerRadius* value); /* slot 92 */ + AvnHResult (AVN_CALL *set_corner_radius)(IAvnWindowNotificationManager* self, AvnCornerRadius value); /* slot 93 */ + AvnHResult (AVN_CALL *get_font_family)(IAvnWindowNotificationManager* self, uint16_t** value); /* slot 94 */ + AvnHResult (AVN_CALL *set_font_family)(IAvnWindowNotificationManager* self, const uint16_t* value); /* slot 95 */ + AvnHResult (AVN_CALL *get_font_features)(IAvnWindowNotificationManager* self, uint16_t** value); /* slot 96 */ + AvnHResult (AVN_CALL *set_font_features)(IAvnWindowNotificationManager* self, const uint16_t* value); /* slot 97 */ + AvnHResult (AVN_CALL *get_font_size)(IAvnWindowNotificationManager* self, double* value); /* slot 98 */ + AvnHResult (AVN_CALL *set_font_size)(IAvnWindowNotificationManager* self, double value); /* slot 99 */ + AvnHResult (AVN_CALL *get_font_style)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 100 */ + AvnHResult (AVN_CALL *set_font_style)(IAvnWindowNotificationManager* self, int32_t value); /* slot 101 */ + AvnHResult (AVN_CALL *get_font_weight)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 102 */ + AvnHResult (AVN_CALL *set_font_weight)(IAvnWindowNotificationManager* self, int32_t value); /* slot 103 */ + AvnHResult (AVN_CALL *get_font_stretch)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 104 */ + AvnHResult (AVN_CALL *set_font_stretch)(IAvnWindowNotificationManager* self, int32_t value); /* slot 105 */ + AvnHResult (AVN_CALL *get_foreground)(IAvnWindowNotificationManager* self, IAvnBrush** value); /* slot 106 */ + AvnHResult (AVN_CALL *set_foreground)(IAvnWindowNotificationManager* self, IAvnBrush* value); /* slot 107 */ + AvnHResult (AVN_CALL *get_letter_spacing)(IAvnWindowNotificationManager* self, double* value); /* slot 108 */ + AvnHResult (AVN_CALL *set_letter_spacing)(IAvnWindowNotificationManager* self, double value); /* slot 109 */ + AvnHResult (AVN_CALL *get_padding)(IAvnWindowNotificationManager* self, AvnThickness* value); /* slot 110 */ + AvnHResult (AVN_CALL *set_padding)(IAvnWindowNotificationManager* self, AvnThickness value); /* slot 111 */ + AvnHResult (AVN_CALL *get_position)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 112 */ + AvnHResult (AVN_CALL *set_position)(IAvnWindowNotificationManager* self, int32_t value); /* slot 113 */ + AvnHResult (AVN_CALL *get_max_items)(IAvnWindowNotificationManager* self, int32_t* value); /* slot 114 */ + AvnHResult (AVN_CALL *set_max_items)(IAvnWindowNotificationManager* self, int32_t value); /* slot 115 */ + AvnHResult (AVN_CALL *show_with_i_notification)(IAvnWindowNotificationManager* self, IAvnNotification* content); /* slot 116 */ + AvnHResult (AVN_CALL *show_with_object)(IAvnWindowNotificationManager* self, AvnVariant content); /* slot 117 */ + AvnHResult (AVN_CALL *close_with_i_notification)(IAvnWindowNotificationManager* self, IAvnNotification* notification); /* slot 118 */ + AvnHResult (AVN_CALL *close_with_object)(IAvnWindowNotificationManager* self, AvnVariant content); /* slot 119 */ + AvnHResult (AVN_CALL *close_all)(IAvnWindowNotificationManager* self); /* slot 120 */ }; struct IAvnWindowNotificationManager { const IAvnWindowNotificationManagerVtbl* vtbl; }; -#define I_AVN_WINDOW_NOTIFICATION_MANAGER_VTABLE_SLOTS 106 +#define I_AVN_WINDOW_NOTIFICATION_MANAGER_VTABLE_SLOTS 121 static const AvnGuid I_AVN_WRAP_PANEL_IID = { - 0x92500527, - 0x364F, - 0x542C, - { 0x8D, 0xF0, 0x37, 0xF0, 0x80, 0x36, 0xD8, 0x3F } + 0x71831219, + 0xF14C, + 0x5D2F, + { 0xA2, 0xF1, 0x49, 0xFB, 0x97, 0x96, 0x05, 0xD4 } }; -#define I_AVN_WRAP_PANEL_ABI_VERSION 8 +#define I_AVN_WRAP_PANEL_ABI_VERSION 11 struct IAvnWrapPanelVtbl { AvnHResult (AVN_CALL *query_interface)(IAvnWrapPanel* self, const AvnGuid* iid, void** result); /* slot 0 */ uint32_t (AVN_CALL *add_ref)(IAvnWrapPanel* self); /* slot 1 */ @@ -14490,38 +16065,53 @@ struct IAvnWrapPanelVtbl { AvnHResult (AVN_CALL *set_horizontal_alignment)(IAvnWrapPanel* self, int32_t value); /* slot 52 */ AvnHResult (AVN_CALL *get_vertical_alignment)(IAvnWrapPanel* self, int32_t* value); /* slot 53 */ AvnHResult (AVN_CALL *set_vertical_alignment)(IAvnWrapPanel* self, int32_t value); /* slot 54 */ - AvnHResult (AVN_CALL *get_is_enabled)(IAvnWrapPanel* self, int32_t* value); /* slot 55 */ - AvnHResult (AVN_CALL *set_is_enabled)(IAvnWrapPanel* self, int32_t value); /* slot 56 */ - AvnHResult (AVN_CALL *advise_loaded)(IAvnWrapPanel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 57 */ - AvnHResult (AVN_CALL *unadvise_loaded)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 58 */ - AvnHResult (AVN_CALL *advise_unloaded)(IAvnWrapPanel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 59 */ - AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 60 */ - AvnHResult (AVN_CALL *advise_size_changed)(IAvnWrapPanel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 61 */ - AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 62 */ - AvnHResult (AVN_CALL *advise_key_down)(IAvnWrapPanel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 63 */ - AvnHResult (AVN_CALL *unadvise_key_down)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 64 */ - AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnWrapPanel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 65 */ - AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 66 */ - AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnWrapPanel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 67 */ - AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 68 */ - AvnHResult (AVN_CALL *get_children)(IAvnWrapPanel* self, IAvnControlList** value); /* slot 69 */ - AvnHResult (AVN_CALL *get_background)(IAvnWrapPanel* self, IAvnBrush** value); /* slot 70 */ - AvnHResult (AVN_CALL *set_background)(IAvnWrapPanel* self, IAvnBrush* value); /* slot 71 */ - AvnHResult (AVN_CALL *get_item_spacing)(IAvnWrapPanel* self, double* value); /* slot 72 */ - AvnHResult (AVN_CALL *set_item_spacing)(IAvnWrapPanel* self, double value); /* slot 73 */ - AvnHResult (AVN_CALL *get_line_spacing)(IAvnWrapPanel* self, double* value); /* slot 74 */ - AvnHResult (AVN_CALL *set_line_spacing)(IAvnWrapPanel* self, double value); /* slot 75 */ - AvnHResult (AVN_CALL *get_orientation)(IAvnWrapPanel* self, int32_t* value); /* slot 76 */ - AvnHResult (AVN_CALL *set_orientation)(IAvnWrapPanel* self, int32_t value); /* slot 77 */ - AvnHResult (AVN_CALL *get_items_alignment)(IAvnWrapPanel* self, int32_t* value); /* slot 78 */ - AvnHResult (AVN_CALL *set_items_alignment)(IAvnWrapPanel* self, int32_t value); /* slot 79 */ - AvnHResult (AVN_CALL *get_item_width)(IAvnWrapPanel* self, double* value); /* slot 80 */ - AvnHResult (AVN_CALL *set_item_width)(IAvnWrapPanel* self, double value); /* slot 81 */ - AvnHResult (AVN_CALL *get_item_height)(IAvnWrapPanel* self, double* value); /* slot 82 */ - AvnHResult (AVN_CALL *set_item_height)(IAvnWrapPanel* self, double value); /* slot 83 */ + AvnHResult (AVN_CALL *get_focusable)(IAvnWrapPanel* self, int32_t* value); /* slot 55 */ + AvnHResult (AVN_CALL *set_focusable)(IAvnWrapPanel* self, int32_t value); /* slot 56 */ + AvnHResult (AVN_CALL *get_is_enabled)(IAvnWrapPanel* self, int32_t* value); /* slot 57 */ + AvnHResult (AVN_CALL *set_is_enabled)(IAvnWrapPanel* self, int32_t value); /* slot 58 */ + AvnHResult (AVN_CALL *focus_with_navigation_method_and_key_modifiers)(IAvnWrapPanel* self, int32_t method, int32_t key_modifiers, int32_t* value); /* slot 59 */ + AvnHResult (AVN_CALL *advise_loaded)(IAvnWrapPanel* self, IAvnControlLoadedHandler* handler, int64_t* subscription_id); /* slot 60 */ + AvnHResult (AVN_CALL *unadvise_loaded)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 61 */ + AvnHResult (AVN_CALL *advise_unloaded)(IAvnWrapPanel* self, IAvnControlUnloadedHandler* handler, int64_t* subscription_id); /* slot 62 */ + AvnHResult (AVN_CALL *unadvise_unloaded)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 63 */ + AvnHResult (AVN_CALL *advise_size_changed)(IAvnWrapPanel* self, IAvnControlSizeChangedHandler* handler, int64_t* subscription_id); /* slot 64 */ + AvnHResult (AVN_CALL *unadvise_size_changed)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 65 */ + AvnHResult (AVN_CALL *advise_got_focus)(IAvnWrapPanel* self, IAvnControlGotFocusHandler* handler, int64_t* subscription_id); /* slot 66 */ + AvnHResult (AVN_CALL *unadvise_got_focus)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 67 */ + AvnHResult (AVN_CALL *advise_lost_focus)(IAvnWrapPanel* self, IAvnControlLostFocusHandler* handler, int64_t* subscription_id); /* slot 68 */ + AvnHResult (AVN_CALL *unadvise_lost_focus)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 69 */ + AvnHResult (AVN_CALL *advise_key_down)(IAvnWrapPanel* self, IAvnControlKeyDownHandler* handler, int64_t* subscription_id); /* slot 70 */ + AvnHResult (AVN_CALL *unadvise_key_down)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 71 */ + AvnHResult (AVN_CALL *advise_key_up)(IAvnWrapPanel* self, IAvnControlKeyUpHandler* handler, int64_t* subscription_id); /* slot 72 */ + AvnHResult (AVN_CALL *unadvise_key_up)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 73 */ + AvnHResult (AVN_CALL *advise_pointer_entered)(IAvnWrapPanel* self, IAvnControlPointerEnteredHandler* handler, int64_t* subscription_id); /* slot 74 */ + AvnHResult (AVN_CALL *unadvise_pointer_entered)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 75 */ + AvnHResult (AVN_CALL *advise_pointer_exited)(IAvnWrapPanel* self, IAvnControlPointerExitedHandler* handler, int64_t* subscription_id); /* slot 76 */ + AvnHResult (AVN_CALL *unadvise_pointer_exited)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 77 */ + AvnHResult (AVN_CALL *advise_pointer_wheel_changed)(IAvnWrapPanel* self, IAvnControlPointerWheelChangedHandler* handler, int64_t* subscription_id); /* slot 78 */ + AvnHResult (AVN_CALL *unadvise_pointer_wheel_changed)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 79 */ + AvnHResult (AVN_CALL *advise_tapped)(IAvnWrapPanel* self, IAvnControlTappedHandler* handler, int64_t* subscription_id); /* slot 80 */ + AvnHResult (AVN_CALL *unadvise_tapped)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 81 */ + AvnHResult (AVN_CALL *advise_double_tapped)(IAvnWrapPanel* self, IAvnControlDoubleTappedHandler* handler, int64_t* subscription_id); /* slot 82 */ + AvnHResult (AVN_CALL *unadvise_double_tapped)(IAvnWrapPanel* self, int64_t subscription_id); /* slot 83 */ + AvnHResult (AVN_CALL *get_children)(IAvnWrapPanel* self, IAvnControlList** value); /* slot 84 */ + AvnHResult (AVN_CALL *get_background)(IAvnWrapPanel* self, IAvnBrush** value); /* slot 85 */ + AvnHResult (AVN_CALL *set_background)(IAvnWrapPanel* self, IAvnBrush* value); /* slot 86 */ + AvnHResult (AVN_CALL *get_item_spacing)(IAvnWrapPanel* self, double* value); /* slot 87 */ + AvnHResult (AVN_CALL *set_item_spacing)(IAvnWrapPanel* self, double value); /* slot 88 */ + AvnHResult (AVN_CALL *get_line_spacing)(IAvnWrapPanel* self, double* value); /* slot 89 */ + AvnHResult (AVN_CALL *set_line_spacing)(IAvnWrapPanel* self, double value); /* slot 90 */ + AvnHResult (AVN_CALL *get_orientation)(IAvnWrapPanel* self, int32_t* value); /* slot 91 */ + AvnHResult (AVN_CALL *set_orientation)(IAvnWrapPanel* self, int32_t value); /* slot 92 */ + AvnHResult (AVN_CALL *get_items_alignment)(IAvnWrapPanel* self, int32_t* value); /* slot 93 */ + AvnHResult (AVN_CALL *set_items_alignment)(IAvnWrapPanel* self, int32_t value); /* slot 94 */ + AvnHResult (AVN_CALL *get_item_width)(IAvnWrapPanel* self, double* value); /* slot 95 */ + AvnHResult (AVN_CALL *set_item_width)(IAvnWrapPanel* self, double value); /* slot 96 */ + AvnHResult (AVN_CALL *get_item_height)(IAvnWrapPanel* self, double* value); /* slot 97 */ + AvnHResult (AVN_CALL *set_item_height)(IAvnWrapPanel* self, double value); /* slot 98 */ }; struct IAvnWrapPanel { const IAvnWrapPanelVtbl* vtbl; }; -#define I_AVN_WRAP_PANEL_VTABLE_SLOTS 84 +#define I_AVN_WRAP_PANEL_VTABLE_SLOTS 99 static const AvnGuid I_AVN_CANVAS_STATICS_IID = { 0x5F4ABE7B, diff --git a/rust/avalonia-sys/src/.avalonia-bindgen.owned.json b/rust/avalonia-sys/src/.avalonia-bindgen.owned.json index 88d28b3..43f893d 100644 --- a/rust/avalonia-sys/src/.avalonia-bindgen.owned.json +++ b/rust/avalonia-sys/src/.avalonia-bindgen.owned.json @@ -3,7 +3,7 @@ "files": [ { "path": "generated.rs", - "sha256": "117c6a7556053469784e8eda2a7b58d27b00e276a805fb05fc9b9df696b96110" + "sha256": "268263810f8f0b26523e9b1991e9e47e9001c05007b04a0373fe2a44811a844a" } ] } diff --git a/rust/avalonia-sys/src/dialogs.rs b/rust/avalonia-sys/src/dialogs.rs new file mode 100644 index 0000000..8097bb6 --- /dev/null +++ b/rust/avalonia-sys/src/dialogs.rs @@ -0,0 +1,81 @@ +//! Stage 32 modal dialog activation ABI. +//! +//! `IAvnApplication5` is a separately versioned capability queried from +//! `IAvnApplication`; nothing here is added to an already published vtable. The +//! dialog completion rides the shared async operation registry +//! (`IAvnAsyncCompletion`), so a dialog completes exactly once and a dropped +//! `AsyncOperation` cancels it by closing the dialog. + +use crate::application::IAvnApplication; +use crate::async_completion::IAvnAsyncCompletion; +use crate::com::{ComInterface, ComPtr, IUnknown}; +use crate::generated::IAvnWindow; +use crate::guid::Guid; +use crate::hresult::{self, Result}; +use std::ffi::c_void; +use std::ptr; + +const IAVN_APPLICATION5_IID: Guid = Guid { + data1: 0x6B2E8F10, + data2: 0x4C91, + data3: 0x4E3A, + data4: [0x9A, 0x77, 0x1F, 0x0C, 0x2B, 0x3A, 0x4D, 0x70], +}; + +#[repr(C)] +struct IAvnApplication5Vtbl { + query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, + add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, + release: unsafe extern "system" fn(*mut IUnknown) -> u32, + start_show_dialog: unsafe extern "system" fn( + *mut IAvnApplication5, + *mut IAvnWindow, + *mut IAvnWindow, + *mut IAvnAsyncCompletion, + *mut i64, + ) -> i32, +} + +#[repr(C)] +pub struct IAvnApplication5 { + vtbl: *const IAvnApplication5Vtbl, +} + +unsafe impl ComInterface for IAvnApplication5 { + const IID: Guid = IAVN_APPLICATION5_IID; +} + +fn optional_raw(value: Option<&ComPtr>) -> *mut T { + value.map_or(ptr::null_mut(), ComPtr::as_raw) +} + +impl ComPtr { + /// Shows `dialog` modally over `owner`, completing through the shared async + /// operation registry. The completion's string value is the dialog result the + /// host converted (`None` when the dialog returned no result). + pub fn start_show_dialog( + &self, + owner: Option<&ComPtr>, + dialog: Option<&ComPtr>, + completion: Option<&ComPtr>, + ) -> Result { + unsafe { + let mut operation_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().start_show_dialog)( + self.as_raw(), + optional_raw(owner), + optional_raw(dialog), + optional_raw(completion), + &mut operation_id, + ); + hresult::check(hr).map(|_| operation_id) + } + } +} + +impl ComPtr { + /// Queries the separately versioned modal dialog capability. + pub fn dialogs(&self) -> Result> { + self.query_interface::() + } +} diff --git a/rust/avalonia-sys/src/generated.rs b/rust/avalonia-sys/src/generated.rs index 688bac2..ffd2337 100644 --- a/rust/avalonia-sys/src/generated.rs +++ b/rust/avalonia-sys/src/generated.rs @@ -2404,6 +2404,116 @@ unsafe extern "system" fn i_avn_control_size_changed_handler_invoke(this: *mut I hr } +pub const I_AVN_CONTROL_GOT_FOCUS_HANDLER_IID: Guid = Guid { data1: 0x6621A073, data2: 0x4D3B, data3: 0x54C6, data4: [0xA3, 0x2E, 0x57, 0x01, 0xCD, 0xB7, 0x45, 0xAD] }; + +#[derive(Debug)] +pub struct ControlGotFocusEventArgs { + pub navigation_method: i32, + pub key_modifiers: i32, +} + +#[repr(C)] +struct IAvnControlGotFocusHandlerVtbl { + query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, + add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, + release: unsafe extern "system" fn(*mut IUnknown) -> u32, + invoke: unsafe extern "system" fn(*mut IAvnControlGotFocusHandler, navigation_method: i32, key_modifiers: i32) -> i32, +} + +#[repr(C)] +pub struct IAvnControlGotFocusHandler { vtbl: *const IAvnControlGotFocusHandlerVtbl } + +unsafe impl ComInterface for IAvnControlGotFocusHandler { const IID: Guid = I_AVN_CONTROL_GOT_FOCUS_HANDLER_IID; } + +static I_AVN_CONTROL_GOT_FOCUS_HANDLER_VTBL: IAvnControlGotFocusHandlerVtbl = IAvnControlGotFocusHandlerVtbl { + query_interface: i_avn_control_got_focus_handler_query_interface, + add_ref: i_avn_control_got_focus_handler_add_ref, + release: i_avn_control_got_focus_handler_release, + invoke: i_avn_control_got_focus_handler_invoke, +}; + +pub fn control_got_focus_handler(callback: impl FnMut(&mut ControlGotFocusEventArgs) -> Result<()> + Send + 'static) -> ComPtr { + crate::event_callback::create(IAvnControlGotFocusHandler { vtbl: &I_AVN_CONTROL_GOT_FOCUS_HANDLER_VTBL }, callback) +} + +unsafe extern "system" fn i_avn_control_got_focus_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { + crate::event_callback::query_interface::(this, iid, result) +} + +unsafe extern "system" fn i_avn_control_got_focus_handler_add_ref(this: *mut IUnknown) -> u32 { + crate::event_callback::add_ref::(this) +} + +unsafe extern "system" fn i_avn_control_got_focus_handler_release(this: *mut IUnknown) -> u32 { + crate::event_callback::release::(this) +} + +unsafe extern "system" fn i_avn_control_got_focus_handler_invoke(this: *mut IAvnControlGotFocusHandler, navigation_method: i32, key_modifiers: i32) -> i32 { + let mut arguments = ControlGotFocusEventArgs { + navigation_method, + key_modifiers, + }; + let hr = crate::event_callback::invoke::(this, &mut arguments); + if hr >= 0 { + } + hr +} + +pub const I_AVN_CONTROL_LOST_FOCUS_HANDLER_IID: Guid = Guid { data1: 0xBB0FBAD2, data2: 0xDB37, data3: 0x56AE, data4: [0xA3, 0xC2, 0x73, 0xBC, 0x20, 0x30, 0xBD, 0x06] }; + +#[repr(C)] +struct IAvnControlLostFocusHandlerVtbl { + query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, + add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, + release: unsafe extern "system" fn(*mut IUnknown) -> u32, + invoke: unsafe extern "system" fn(*mut IAvnControlLostFocusHandler) -> i32, +} + +#[repr(C)] +pub struct IAvnControlLostFocusHandler { + vtbl: *const IAvnControlLostFocusHandlerVtbl, +} + +unsafe impl ComInterface for IAvnControlLostFocusHandler { + const IID: Guid = I_AVN_CONTROL_LOST_FOCUS_HANDLER_IID; +} + +impl ComPtr { + pub fn invoke(&self) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().invoke)(self.as_raw()); + hresult::check(hr) + } + } +} + +static I_AVN_CONTROL_LOST_FOCUS_HANDLER_VTBL: IAvnControlLostFocusHandlerVtbl = IAvnControlLostFocusHandlerVtbl { + query_interface: i_avn_control_lost_focus_handler_query_interface, + add_ref: i_avn_control_lost_focus_handler_add_ref, + release: i_avn_control_lost_focus_handler_release, + invoke: i_avn_control_lost_focus_handler_invoke, +}; + +pub fn control_lost_focus_handler(mut callback: impl FnMut() -> Result<()> + Send + 'static) -> ComPtr { + crate::event_callback::create::(IAvnControlLostFocusHandler { vtbl: &I_AVN_CONTROL_LOST_FOCUS_HANDLER_VTBL }, move |_| callback()) +} + +unsafe extern "system" fn i_avn_control_lost_focus_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { + crate::event_callback::query_interface::(this, iid, result) +} + +unsafe extern "system" fn i_avn_control_lost_focus_handler_add_ref(this: *mut IUnknown) -> u32 { + crate::event_callback::add_ref::(this) +} + +unsafe extern "system" fn i_avn_control_lost_focus_handler_release(this: *mut IUnknown) -> u32 { + crate::event_callback::release::(this) +} + +unsafe extern "system" fn i_avn_control_lost_focus_handler_invoke(this: *mut IAvnControlLostFocusHandler) -> i32 { + crate::event_callback::invoke::(this, &mut ()) +} + pub const I_AVN_CONTROL_KEY_DOWN_HANDLER_IID: Guid = Guid { data1: 0x9232F26F, data2: 0x2F3B, data3: 0x5BA2, data4: [0xB0, 0x98, 0xE4, 0xCB, 0x6B, 0x26, 0xBD, 0xA3] }; #[derive(Debug)] @@ -2467,34 +2577,89 @@ unsafe extern "system" fn i_avn_control_key_down_handler_invoke(this: *mut IAvnC hr } -pub const I_AVN_CONTROL_POINTER_ENTERED_HANDLER_IID: Guid = Guid { data1: 0xCC8694AC, data2: 0xC51C, data3: 0x5791, data4: [0xA8, 0x98, 0x1B, 0x0D, 0xE4, 0xD8, 0x4D, 0xC8] }; +pub const I_AVN_CONTROL_KEY_UP_HANDLER_IID: Guid = Guid { data1: 0xB4FC3B9A, data2: 0xCF71, data3: 0x5EBB, data4: [0x98, 0x52, 0xA4, 0x6A, 0xEC, 0x80, 0xC6, 0xFE] }; + +#[derive(Debug)] +pub struct ControlKeyUpEventArgs { + pub key: i32, + pub physical_key: i32, + pub key_modifiers: i32, + pub key_symbol: Option, + pub handled: bool, +} #[repr(C)] -struct IAvnControlPointerEnteredHandlerVtbl { +struct IAvnControlKeyUpHandlerVtbl { query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, release: unsafe extern "system" fn(*mut IUnknown) -> u32, - invoke: unsafe extern "system" fn(*mut IAvnControlPointerEnteredHandler) -> i32, + invoke: unsafe extern "system" fn(*mut IAvnControlKeyUpHandler, key: i32, physical_key: i32, key_modifiers: i32, key_symbol: *mut u16, handled: *mut i32) -> i32, } #[repr(C)] -pub struct IAvnControlPointerEnteredHandler { - vtbl: *const IAvnControlPointerEnteredHandlerVtbl, +pub struct IAvnControlKeyUpHandler { vtbl: *const IAvnControlKeyUpHandlerVtbl } + +unsafe impl ComInterface for IAvnControlKeyUpHandler { const IID: Guid = I_AVN_CONTROL_KEY_UP_HANDLER_IID; } + +static I_AVN_CONTROL_KEY_UP_HANDLER_VTBL: IAvnControlKeyUpHandlerVtbl = IAvnControlKeyUpHandlerVtbl { + query_interface: i_avn_control_key_up_handler_query_interface, + add_ref: i_avn_control_key_up_handler_add_ref, + release: i_avn_control_key_up_handler_release, + invoke: i_avn_control_key_up_handler_invoke, +}; + +pub fn control_key_up_handler(callback: impl FnMut(&mut ControlKeyUpEventArgs) -> Result<()> + Send + 'static) -> ComPtr { + crate::event_callback::create(IAvnControlKeyUpHandler { vtbl: &I_AVN_CONTROL_KEY_UP_HANDLER_VTBL }, callback) } -unsafe impl ComInterface for IAvnControlPointerEnteredHandler { - const IID: Guid = I_AVN_CONTROL_POINTER_ENTERED_HANDLER_IID; +unsafe extern "system" fn i_avn_control_key_up_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { + crate::event_callback::query_interface::(this, iid, result) } -impl ComPtr { - pub fn invoke(&self) -> Result<()> { - unsafe { - let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().invoke)(self.as_raw()); - hresult::check(hr) - } +unsafe extern "system" fn i_avn_control_key_up_handler_add_ref(this: *mut IUnknown) -> u32 { + crate::event_callback::add_ref::(this) +} + +unsafe extern "system" fn i_avn_control_key_up_handler_release(this: *mut IUnknown) -> u32 { + crate::event_callback::release::(this) +} + +unsafe extern "system" fn i_avn_control_key_up_handler_invoke(this: *mut IAvnControlKeyUpHandler, key: i32, physical_key: i32, key_modifiers: i32, key_symbol: *mut u16, handled: *mut i32) -> i32 { + if handled.is_null() { return hresult::E_POINTER; } + let mut arguments = ControlKeyUpEventArgs { + key, + physical_key, + key_modifiers, + key_symbol: crate::clone_utf16(key_symbol), + handled: *handled != 0, + }; + let hr = crate::event_callback::invoke::(this, &mut arguments); + if hr >= 0 { + *handled = i32::from(arguments.handled); } + hr +} + +pub const I_AVN_CONTROL_POINTER_ENTERED_HANDLER_IID: Guid = Guid { data1: 0xCC8694AC, data2: 0xC51C, data3: 0x5791, data4: [0xA8, 0x98, 0x1B, 0x0D, 0xE4, 0xD8, 0x4D, 0xC8] }; + +#[derive(Debug)] +pub struct ControlPointerEnteredEventArgs { + pub key_modifiers: i32, } +#[repr(C)] +struct IAvnControlPointerEnteredHandlerVtbl { + query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, + add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, + release: unsafe extern "system" fn(*mut IUnknown) -> u32, + invoke: unsafe extern "system" fn(*mut IAvnControlPointerEnteredHandler, key_modifiers: i32) -> i32, +} + +#[repr(C)] +pub struct IAvnControlPointerEnteredHandler { vtbl: *const IAvnControlPointerEnteredHandlerVtbl } + +unsafe impl ComInterface for IAvnControlPointerEnteredHandler { const IID: Guid = I_AVN_CONTROL_POINTER_ENTERED_HANDLER_IID; } + static I_AVN_CONTROL_POINTER_ENTERED_HANDLER_VTBL: IAvnControlPointerEnteredHandlerVtbl = IAvnControlPointerEnteredHandlerVtbl { query_interface: i_avn_control_pointer_entered_handler_query_interface, add_ref: i_avn_control_pointer_entered_handler_add_ref, @@ -2502,46 +2667,213 @@ static I_AVN_CONTROL_POINTER_ENTERED_HANDLER_VTBL: IAvnControlPointerEnteredHand invoke: i_avn_control_pointer_entered_handler_invoke, }; -pub fn control_pointer_entered_handler(mut callback: impl FnMut() -> Result<()> + Send + 'static) -> ComPtr { - crate::event_callback::create::(IAvnControlPointerEnteredHandler { vtbl: &I_AVN_CONTROL_POINTER_ENTERED_HANDLER_VTBL }, move |_| callback()) +pub fn control_pointer_entered_handler(callback: impl FnMut(&mut ControlPointerEnteredEventArgs) -> Result<()> + Send + 'static) -> ComPtr { + crate::event_callback::create(IAvnControlPointerEnteredHandler { vtbl: &I_AVN_CONTROL_POINTER_ENTERED_HANDLER_VTBL }, callback) } unsafe extern "system" fn i_avn_control_pointer_entered_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { - crate::event_callback::query_interface::(this, iid, result) + crate::event_callback::query_interface::(this, iid, result) } unsafe extern "system" fn i_avn_control_pointer_entered_handler_add_ref(this: *mut IUnknown) -> u32 { - crate::event_callback::add_ref::(this) + crate::event_callback::add_ref::(this) } unsafe extern "system" fn i_avn_control_pointer_entered_handler_release(this: *mut IUnknown) -> u32 { - crate::event_callback::release::(this) + crate::event_callback::release::(this) } -unsafe extern "system" fn i_avn_control_pointer_entered_handler_invoke(this: *mut IAvnControlPointerEnteredHandler) -> i32 { - crate::event_callback::invoke::(this, &mut ()) +unsafe extern "system" fn i_avn_control_pointer_entered_handler_invoke(this: *mut IAvnControlPointerEnteredHandler, key_modifiers: i32) -> i32 { + let mut arguments = ControlPointerEnteredEventArgs { + key_modifiers, + }; + let hr = crate::event_callback::invoke::(this, &mut arguments); + if hr >= 0 { + } + hr } pub const I_AVN_CONTROL_POINTER_EXITED_HANDLER_IID: Guid = Guid { data1: 0x218295EF, data2: 0xA88D, data3: 0x5B93, data4: [0x8A, 0x33, 0x97, 0xAB, 0xD4, 0x1E, 0x66, 0x45] }; +#[derive(Debug)] +pub struct ControlPointerExitedEventArgs { + pub key_modifiers: i32, +} + #[repr(C)] struct IAvnControlPointerExitedHandlerVtbl { query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, release: unsafe extern "system" fn(*mut IUnknown) -> u32, - invoke: unsafe extern "system" fn(*mut IAvnControlPointerExitedHandler) -> i32, + invoke: unsafe extern "system" fn(*mut IAvnControlPointerExitedHandler, key_modifiers: i32) -> i32, +} + +#[repr(C)] +pub struct IAvnControlPointerExitedHandler { vtbl: *const IAvnControlPointerExitedHandlerVtbl } + +unsafe impl ComInterface for IAvnControlPointerExitedHandler { const IID: Guid = I_AVN_CONTROL_POINTER_EXITED_HANDLER_IID; } + +static I_AVN_CONTROL_POINTER_EXITED_HANDLER_VTBL: IAvnControlPointerExitedHandlerVtbl = IAvnControlPointerExitedHandlerVtbl { + query_interface: i_avn_control_pointer_exited_handler_query_interface, + add_ref: i_avn_control_pointer_exited_handler_add_ref, + release: i_avn_control_pointer_exited_handler_release, + invoke: i_avn_control_pointer_exited_handler_invoke, +}; + +pub fn control_pointer_exited_handler(callback: impl FnMut(&mut ControlPointerExitedEventArgs) -> Result<()> + Send + 'static) -> ComPtr { + crate::event_callback::create(IAvnControlPointerExitedHandler { vtbl: &I_AVN_CONTROL_POINTER_EXITED_HANDLER_VTBL }, callback) +} + +unsafe extern "system" fn i_avn_control_pointer_exited_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { + crate::event_callback::query_interface::(this, iid, result) +} + +unsafe extern "system" fn i_avn_control_pointer_exited_handler_add_ref(this: *mut IUnknown) -> u32 { + crate::event_callback::add_ref::(this) +} + +unsafe extern "system" fn i_avn_control_pointer_exited_handler_release(this: *mut IUnknown) -> u32 { + crate::event_callback::release::(this) +} + +unsafe extern "system" fn i_avn_control_pointer_exited_handler_invoke(this: *mut IAvnControlPointerExitedHandler, key_modifiers: i32) -> i32 { + let mut arguments = ControlPointerExitedEventArgs { + key_modifiers, + }; + let hr = crate::event_callback::invoke::(this, &mut arguments); + if hr >= 0 { + } + hr +} + +pub const I_AVN_CONTROL_POINTER_WHEEL_CHANGED_HANDLER_IID: Guid = Guid { data1: 0x4318E60A, data2: 0x86C6, data3: 0x5142, data4: [0x86, 0x00, 0x0D, 0x61, 0xAA, 0x20, 0xCE, 0x93] }; + +#[derive(Debug)] +pub struct ControlPointerWheelChangedEventArgs { + pub delta: AvnVector, + pub key_modifiers: i32, +} + +#[repr(C)] +struct IAvnControlPointerWheelChangedHandlerVtbl { + query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, + add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, + release: unsafe extern "system" fn(*mut IUnknown) -> u32, + invoke: unsafe extern "system" fn(*mut IAvnControlPointerWheelChangedHandler, delta: AvnVector, key_modifiers: i32) -> i32, } #[repr(C)] -pub struct IAvnControlPointerExitedHandler { - vtbl: *const IAvnControlPointerExitedHandlerVtbl, +pub struct IAvnControlPointerWheelChangedHandler { vtbl: *const IAvnControlPointerWheelChangedHandlerVtbl } + +unsafe impl ComInterface for IAvnControlPointerWheelChangedHandler { const IID: Guid = I_AVN_CONTROL_POINTER_WHEEL_CHANGED_HANDLER_IID; } + +static I_AVN_CONTROL_POINTER_WHEEL_CHANGED_HANDLER_VTBL: IAvnControlPointerWheelChangedHandlerVtbl = IAvnControlPointerWheelChangedHandlerVtbl { + query_interface: i_avn_control_pointer_wheel_changed_handler_query_interface, + add_ref: i_avn_control_pointer_wheel_changed_handler_add_ref, + release: i_avn_control_pointer_wheel_changed_handler_release, + invoke: i_avn_control_pointer_wheel_changed_handler_invoke, +}; + +pub fn control_pointer_wheel_changed_handler(callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) -> Result<()> + Send + 'static) -> ComPtr { + crate::event_callback::create(IAvnControlPointerWheelChangedHandler { vtbl: &I_AVN_CONTROL_POINTER_WHEEL_CHANGED_HANDLER_VTBL }, callback) +} + +unsafe extern "system" fn i_avn_control_pointer_wheel_changed_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { + crate::event_callback::query_interface::(this, iid, result) +} + +unsafe extern "system" fn i_avn_control_pointer_wheel_changed_handler_add_ref(this: *mut IUnknown) -> u32 { + crate::event_callback::add_ref::(this) } -unsafe impl ComInterface for IAvnControlPointerExitedHandler { - const IID: Guid = I_AVN_CONTROL_POINTER_EXITED_HANDLER_IID; +unsafe extern "system" fn i_avn_control_pointer_wheel_changed_handler_release(this: *mut IUnknown) -> u32 { + crate::event_callback::release::(this) } -impl ComPtr { +unsafe extern "system" fn i_avn_control_pointer_wheel_changed_handler_invoke(this: *mut IAvnControlPointerWheelChangedHandler, delta: AvnVector, key_modifiers: i32) -> i32 { + let mut arguments = ControlPointerWheelChangedEventArgs { + delta, + key_modifiers, + }; + let hr = crate::event_callback::invoke::(this, &mut arguments); + if hr >= 0 { + } + hr +} + +pub const I_AVN_CONTROL_TAPPED_HANDLER_IID: Guid = Guid { data1: 0x7784D53F, data2: 0xFAEE, data3: 0x5089, data4: [0x88, 0x44, 0xC9, 0xF5, 0xCC, 0x3E, 0x86, 0x32] }; + +#[derive(Debug)] +pub struct ControlTappedEventArgs { + pub key_modifiers: i32, +} + +#[repr(C)] +struct IAvnControlTappedHandlerVtbl { + query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, + add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, + release: unsafe extern "system" fn(*mut IUnknown) -> u32, + invoke: unsafe extern "system" fn(*mut IAvnControlTappedHandler, key_modifiers: i32) -> i32, +} + +#[repr(C)] +pub struct IAvnControlTappedHandler { vtbl: *const IAvnControlTappedHandlerVtbl } + +unsafe impl ComInterface for IAvnControlTappedHandler { const IID: Guid = I_AVN_CONTROL_TAPPED_HANDLER_IID; } + +static I_AVN_CONTROL_TAPPED_HANDLER_VTBL: IAvnControlTappedHandlerVtbl = IAvnControlTappedHandlerVtbl { + query_interface: i_avn_control_tapped_handler_query_interface, + add_ref: i_avn_control_tapped_handler_add_ref, + release: i_avn_control_tapped_handler_release, + invoke: i_avn_control_tapped_handler_invoke, +}; + +pub fn control_tapped_handler(callback: impl FnMut(&mut ControlTappedEventArgs) -> Result<()> + Send + 'static) -> ComPtr { + crate::event_callback::create(IAvnControlTappedHandler { vtbl: &I_AVN_CONTROL_TAPPED_HANDLER_VTBL }, callback) +} + +unsafe extern "system" fn i_avn_control_tapped_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { + crate::event_callback::query_interface::(this, iid, result) +} + +unsafe extern "system" fn i_avn_control_tapped_handler_add_ref(this: *mut IUnknown) -> u32 { + crate::event_callback::add_ref::(this) +} + +unsafe extern "system" fn i_avn_control_tapped_handler_release(this: *mut IUnknown) -> u32 { + crate::event_callback::release::(this) +} + +unsafe extern "system" fn i_avn_control_tapped_handler_invoke(this: *mut IAvnControlTappedHandler, key_modifiers: i32) -> i32 { + let mut arguments = ControlTappedEventArgs { + key_modifiers, + }; + let hr = crate::event_callback::invoke::(this, &mut arguments); + if hr >= 0 { + } + hr +} + +pub const I_AVN_CONTROL_DOUBLE_TAPPED_HANDLER_IID: Guid = Guid { data1: 0x11D5E069, data2: 0xAEFD, data3: 0x566B, data4: [0x92, 0xCC, 0xCD, 0xB4, 0x83, 0x87, 0x7C, 0x33] }; + +#[repr(C)] +struct IAvnControlDoubleTappedHandlerVtbl { + query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, + add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, + release: unsafe extern "system" fn(*mut IUnknown) -> u32, + invoke: unsafe extern "system" fn(*mut IAvnControlDoubleTappedHandler) -> i32, +} + +#[repr(C)] +pub struct IAvnControlDoubleTappedHandler { + vtbl: *const IAvnControlDoubleTappedHandlerVtbl, +} + +unsafe impl ComInterface for IAvnControlDoubleTappedHandler { + const IID: Guid = I_AVN_CONTROL_DOUBLE_TAPPED_HANDLER_IID; +} + +impl ComPtr { pub fn invoke(&self) -> Result<()> { unsafe { let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().invoke)(self.as_raw()); @@ -2550,31 +2882,31 @@ impl ComPtr { } } -static I_AVN_CONTROL_POINTER_EXITED_HANDLER_VTBL: IAvnControlPointerExitedHandlerVtbl = IAvnControlPointerExitedHandlerVtbl { - query_interface: i_avn_control_pointer_exited_handler_query_interface, - add_ref: i_avn_control_pointer_exited_handler_add_ref, - release: i_avn_control_pointer_exited_handler_release, - invoke: i_avn_control_pointer_exited_handler_invoke, +static I_AVN_CONTROL_DOUBLE_TAPPED_HANDLER_VTBL: IAvnControlDoubleTappedHandlerVtbl = IAvnControlDoubleTappedHandlerVtbl { + query_interface: i_avn_control_double_tapped_handler_query_interface, + add_ref: i_avn_control_double_tapped_handler_add_ref, + release: i_avn_control_double_tapped_handler_release, + invoke: i_avn_control_double_tapped_handler_invoke, }; -pub fn control_pointer_exited_handler(mut callback: impl FnMut() -> Result<()> + Send + 'static) -> ComPtr { - crate::event_callback::create::(IAvnControlPointerExitedHandler { vtbl: &I_AVN_CONTROL_POINTER_EXITED_HANDLER_VTBL }, move |_| callback()) +pub fn control_double_tapped_handler(mut callback: impl FnMut() -> Result<()> + Send + 'static) -> ComPtr { + crate::event_callback::create::(IAvnControlDoubleTappedHandler { vtbl: &I_AVN_CONTROL_DOUBLE_TAPPED_HANDLER_VTBL }, move |_| callback()) } -unsafe extern "system" fn i_avn_control_pointer_exited_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { - crate::event_callback::query_interface::(this, iid, result) +unsafe extern "system" fn i_avn_control_double_tapped_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { + crate::event_callback::query_interface::(this, iid, result) } -unsafe extern "system" fn i_avn_control_pointer_exited_handler_add_ref(this: *mut IUnknown) -> u32 { - crate::event_callback::add_ref::(this) +unsafe extern "system" fn i_avn_control_double_tapped_handler_add_ref(this: *mut IUnknown) -> u32 { + crate::event_callback::add_ref::(this) } -unsafe extern "system" fn i_avn_control_pointer_exited_handler_release(this: *mut IUnknown) -> u32 { - crate::event_callback::release::(this) +unsafe extern "system" fn i_avn_control_double_tapped_handler_release(this: *mut IUnknown) -> u32 { + crate::event_callback::release::(this) } -unsafe extern "system" fn i_avn_control_pointer_exited_handler_invoke(this: *mut IAvnControlPointerExitedHandler) -> i32 { - crate::event_callback::invoke::(this, &mut ()) +unsafe extern "system" fn i_avn_control_double_tapped_handler_invoke(this: *mut IAvnControlDoubleTappedHandler) -> i32 { + crate::event_callback::invoke::(this, &mut ()) } pub const I_AVN_DATE_PICKER_SELECTED_DATE_CHANGED_HANDLER_IID: Guid = Guid { data1: 0x74C9BE6F, data2: 0xE5CD, data3: 0x5936, data4: [0xB4, 0xBF, 0x59, 0xCC, 0x08, 0x43, 0x09, 0x6F] }; @@ -3182,33 +3514,26 @@ unsafe extern "system" fn i_avn_numeric_up_down_spinned_handler_invoke(this: *mu hr } -pub const I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_IID: Guid = Guid { data1: 0x68A72F63, data2: 0xB469, data3: 0x5312, data4: [0x92, 0x5F, 0xF7, 0xFC, 0xCF, 0x35, 0xA0, 0xDF] }; +pub const I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_IID: Guid = Guid { data1: 0xA605166E, data2: 0x63BA, data3: 0x5359, data4: [0xA3, 0xF5, 0x99, 0x7F, 0x78, 0x0B, 0x61, 0x1B] }; + +#[derive(Debug)] +pub struct NumericUpDownValueChangedEventArgs { + pub old_value: Option, + pub new_value: Option, +} #[repr(C)] struct IAvnNumericUpDownValueChangedHandlerVtbl { query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, release: unsafe extern "system" fn(*mut IUnknown) -> u32, - invoke: unsafe extern "system" fn(*mut IAvnNumericUpDownValueChangedHandler) -> i32, + invoke: unsafe extern "system" fn(*mut IAvnNumericUpDownValueChangedHandler, old_value: *mut u16, new_value: *mut u16) -> i32, } #[repr(C)] -pub struct IAvnNumericUpDownValueChangedHandler { - vtbl: *const IAvnNumericUpDownValueChangedHandlerVtbl, -} - -unsafe impl ComInterface for IAvnNumericUpDownValueChangedHandler { - const IID: Guid = I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_IID; -} +pub struct IAvnNumericUpDownValueChangedHandler { vtbl: *const IAvnNumericUpDownValueChangedHandlerVtbl } -impl ComPtr { - pub fn invoke(&self) -> Result<()> { - unsafe { - let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().invoke)(self.as_raw()); - hresult::check(hr) - } - } -} +unsafe impl ComInterface for IAvnNumericUpDownValueChangedHandler { const IID: Guid = I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_IID; } static I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_VTBL: IAvnNumericUpDownValueChangedHandlerVtbl = IAvnNumericUpDownValueChangedHandlerVtbl { query_interface: i_avn_numeric_up_down_value_changed_handler_query_interface, @@ -3217,24 +3542,31 @@ static I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_VTBL: IAvnNumericUpDownValueC invoke: i_avn_numeric_up_down_value_changed_handler_invoke, }; -pub fn numeric_up_down_value_changed_handler(mut callback: impl FnMut() -> Result<()> + Send + 'static) -> ComPtr { - crate::event_callback::create::(IAvnNumericUpDownValueChangedHandler { vtbl: &I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_VTBL }, move |_| callback()) +pub fn numeric_up_down_value_changed_handler(callback: impl FnMut(&mut NumericUpDownValueChangedEventArgs) -> Result<()> + Send + 'static) -> ComPtr { + crate::event_callback::create(IAvnNumericUpDownValueChangedHandler { vtbl: &I_AVN_NUMERIC_UP_DOWN_VALUE_CHANGED_HANDLER_VTBL }, callback) } unsafe extern "system" fn i_avn_numeric_up_down_value_changed_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { - crate::event_callback::query_interface::(this, iid, result) + crate::event_callback::query_interface::(this, iid, result) } unsafe extern "system" fn i_avn_numeric_up_down_value_changed_handler_add_ref(this: *mut IUnknown) -> u32 { - crate::event_callback::add_ref::(this) + crate::event_callback::add_ref::(this) } unsafe extern "system" fn i_avn_numeric_up_down_value_changed_handler_release(this: *mut IUnknown) -> u32 { - crate::event_callback::release::(this) + crate::event_callback::release::(this) } -unsafe extern "system" fn i_avn_numeric_up_down_value_changed_handler_invoke(this: *mut IAvnNumericUpDownValueChangedHandler) -> i32 { - crate::event_callback::invoke::(this, &mut ()) +unsafe extern "system" fn i_avn_numeric_up_down_value_changed_handler_invoke(this: *mut IAvnNumericUpDownValueChangedHandler, old_value: *mut u16, new_value: *mut u16) -> i32 { + let mut arguments = NumericUpDownValueChangedEventArgs { + old_value: crate::clone_utf16(old_value), + new_value: crate::clone_utf16(new_value), + }; + let hr = crate::event_callback::invoke::(this, &mut arguments); + if hr >= 0 { + } + hr } pub const I_AVN_PIPS_PAGER_SELECTED_INDEX_CHANGED_HANDLER_IID: Guid = Guid { data1: 0xF40B94E7, data2: 0xCD23, data3: 0x55D9, data4: [0xA4, 0x62, 0x55, 0x90, 0xA6, 0xFB, 0xB2, 0xB7] }; @@ -3622,33 +3954,26 @@ unsafe extern "system" fn i_avn_popup_flyout_base_opening_handler_invoke(this: * crate::event_callback::invoke::(this, &mut ()) } -pub const I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_IID: Guid = Guid { data1: 0xDAEDA8F7, data2: 0xD1F6, data3: 0x54B6, data4: [0x90, 0x0D, 0x4A, 0xAB, 0x0B, 0x0C, 0x72, 0xBA] }; +pub const I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_IID: Guid = Guid { data1: 0xD71E5403, data2: 0x7A7E, data3: 0x5C5A, data4: [0x8A, 0x48, 0x4C, 0x89, 0x34, 0x6F, 0x01, 0x79] }; + +#[derive(Debug)] +pub struct RangeBaseValueChangedEventArgs { + pub old_value: f64, + pub new_value: f64, +} #[repr(C)] struct IAvnRangeBaseValueChangedHandlerVtbl { query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, release: unsafe extern "system" fn(*mut IUnknown) -> u32, - invoke: unsafe extern "system" fn(*mut IAvnRangeBaseValueChangedHandler) -> i32, + invoke: unsafe extern "system" fn(*mut IAvnRangeBaseValueChangedHandler, old_value: f64, new_value: f64) -> i32, } #[repr(C)] -pub struct IAvnRangeBaseValueChangedHandler { - vtbl: *const IAvnRangeBaseValueChangedHandlerVtbl, -} - -unsafe impl ComInterface for IAvnRangeBaseValueChangedHandler { - const IID: Guid = I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_IID; -} +pub struct IAvnRangeBaseValueChangedHandler { vtbl: *const IAvnRangeBaseValueChangedHandlerVtbl } -impl ComPtr { - pub fn invoke(&self) -> Result<()> { - unsafe { - let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().invoke)(self.as_raw()); - hresult::check(hr) - } - } -} +unsafe impl ComInterface for IAvnRangeBaseValueChangedHandler { const IID: Guid = I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_IID; } static I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_VTBL: IAvnRangeBaseValueChangedHandlerVtbl = IAvnRangeBaseValueChangedHandlerVtbl { query_interface: i_avn_range_base_value_changed_handler_query_interface, @@ -3657,54 +3982,97 @@ static I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_VTBL: IAvnRangeBaseValueChangedHan invoke: i_avn_range_base_value_changed_handler_invoke, }; -pub fn range_base_value_changed_handler(mut callback: impl FnMut() -> Result<()> + Send + 'static) -> ComPtr { - crate::event_callback::create::(IAvnRangeBaseValueChangedHandler { vtbl: &I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_VTBL }, move |_| callback()) +pub fn range_base_value_changed_handler(callback: impl FnMut(&mut RangeBaseValueChangedEventArgs) -> Result<()> + Send + 'static) -> ComPtr { + crate::event_callback::create(IAvnRangeBaseValueChangedHandler { vtbl: &I_AVN_RANGE_BASE_VALUE_CHANGED_HANDLER_VTBL }, callback) } unsafe extern "system" fn i_avn_range_base_value_changed_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { - crate::event_callback::query_interface::(this, iid, result) + crate::event_callback::query_interface::(this, iid, result) } unsafe extern "system" fn i_avn_range_base_value_changed_handler_add_ref(this: *mut IUnknown) -> u32 { - crate::event_callback::add_ref::(this) + crate::event_callback::add_ref::(this) } unsafe extern "system" fn i_avn_range_base_value_changed_handler_release(this: *mut IUnknown) -> u32 { - crate::event_callback::release::(this) + crate::event_callback::release::(this) } -unsafe extern "system" fn i_avn_range_base_value_changed_handler_invoke(this: *mut IAvnRangeBaseValueChangedHandler) -> i32 { - crate::event_callback::invoke::(this, &mut ()) +unsafe extern "system" fn i_avn_range_base_value_changed_handler_invoke(this: *mut IAvnRangeBaseValueChangedHandler, old_value: f64, new_value: f64) -> i32 { + let mut arguments = RangeBaseValueChangedEventArgs { + old_value, + new_value, + }; + let hr = crate::event_callback::invoke::(this, &mut arguments); + if hr >= 0 { + } + hr } -pub const I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_IID: Guid = Guid { data1: 0x80E817ED, data2: 0x8F0E, data3: 0x5208, data4: [0x9E, 0xFD, 0xEC, 0xBD, 0xEB, 0xC5, 0x6A, 0x46] }; +pub const I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_ARGS_IID: Guid = Guid { data1: 0xA5A998E3, data2: 0x805F, data3: 0x5BB9, data4: [0xBE, 0x35, 0x4A, 0xCC, 0xDA, 0x82, 0xBD, 0x37] }; #[repr(C)] -struct IAvnSelectingItemsControlSelectionChangedHandlerVtbl { +struct IAvnSelectingItemsControlSelectionChangedArgsVtbl { query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, release: unsafe extern "system" fn(*mut IUnknown) -> u32, - invoke: unsafe extern "system" fn(*mut IAvnSelectingItemsControlSelectionChangedHandler) -> i32, + get_added_items_count: unsafe extern "system" fn(*mut IAvnSelectingItemsControlSelectionChangedArgs, *mut i32) -> i32, + get_added_items_at: unsafe extern "system" fn(*mut IAvnSelectingItemsControlSelectionChangedArgs, i32, *mut AvnVariant) -> i32, + get_removed_items_count: unsafe extern "system" fn(*mut IAvnSelectingItemsControlSelectionChangedArgs, *mut i32) -> i32, + get_removed_items_at: unsafe extern "system" fn(*mut IAvnSelectingItemsControlSelectionChangedArgs, i32, *mut AvnVariant) -> i32, } #[repr(C)] -pub struct IAvnSelectingItemsControlSelectionChangedHandler { - vtbl: *const IAvnSelectingItemsControlSelectionChangedHandlerVtbl, -} +pub struct IAvnSelectingItemsControlSelectionChangedArgs { vtbl: *const IAvnSelectingItemsControlSelectionChangedArgsVtbl } -unsafe impl ComInterface for IAvnSelectingItemsControlSelectionChangedHandler { - const IID: Guid = I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_IID; -} +unsafe impl ComInterface for IAvnSelectingItemsControlSelectionChangedArgs { const IID: Guid = I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_ARGS_IID; } -impl ComPtr { - pub fn invoke(&self) -> Result<()> { +impl ComPtr { + pub fn added_items_count(&self) -> Result { unsafe { - let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().invoke)(self.as_raw()); - hresult::check(hr) + let mut value = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_added_items_count)(self.as_raw(), &mut value); + hresult::check(hr).map(|_| value) + } + } + pub fn added_items_at(&self, index: i32) -> Result { + unsafe { + let mut value = AvnVariant::default(); + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_added_items_at)(self.as_raw(), index, &mut value); + hresult::check(hr).map(|_| value) + } + } + pub fn removed_items_count(&self) -> Result { + unsafe { + let mut value = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_removed_items_count)(self.as_raw(), &mut value); + hresult::check(hr).map(|_| value) + } + } + pub fn removed_items_at(&self, index: i32) -> Result { + unsafe { + let mut value = AvnVariant::default(); + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_removed_items_at)(self.as_raw(), index, &mut value); + hresult::check(hr).map(|_| value) } } } +pub const I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_IID: Guid = Guid { data1: 0xD9AAACF6, data2: 0xE516, data3: 0x52AC, data4: [0xAB, 0xBE, 0x3E, 0x02, 0x10, 0x37, 0x91, 0x61] }; + +#[repr(C)] +struct IAvnSelectingItemsControlSelectionChangedHandlerVtbl { + query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, + add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, + release: unsafe extern "system" fn(*mut IUnknown) -> u32, + invoke: unsafe extern "system" fn(*mut IAvnSelectingItemsControlSelectionChangedHandler, *mut IAvnSelectingItemsControlSelectionChangedArgs) -> i32, +} + +#[repr(C)] +pub struct IAvnSelectingItemsControlSelectionChangedHandler { vtbl: *const IAvnSelectingItemsControlSelectionChangedHandlerVtbl } + +unsafe impl ComInterface for IAvnSelectingItemsControlSelectionChangedHandler { const IID: Guid = I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_IID; } + static I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_VTBL: IAvnSelectingItemsControlSelectionChangedHandlerVtbl = IAvnSelectingItemsControlSelectionChangedHandlerVtbl { query_interface: i_avn_selecting_items_control_selection_changed_handler_query_interface, add_ref: i_avn_selecting_items_control_selection_changed_handler_add_ref, @@ -3712,24 +4080,29 @@ static I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_VTBL: IAvnSelecti invoke: i_avn_selecting_items_control_selection_changed_handler_invoke, }; -pub fn selecting_items_control_selection_changed_handler(mut callback: impl FnMut() -> Result<()> + Send + 'static) -> ComPtr { - crate::event_callback::create::(IAvnSelectingItemsControlSelectionChangedHandler { vtbl: &I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_VTBL }, move |_| callback()) +pub fn selecting_items_control_selection_changed_handler(callback: impl FnMut(&mut ComPtr) -> Result<()> + Send + 'static) -> ComPtr { + crate::event_callback::create(IAvnSelectingItemsControlSelectionChangedHandler { vtbl: &I_AVN_SELECTING_ITEMS_CONTROL_SELECTION_CHANGED_HANDLER_VTBL }, callback) } unsafe extern "system" fn i_avn_selecting_items_control_selection_changed_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { - crate::event_callback::query_interface::(this, iid, result) + crate::event_callback::query_interface::>(this, iid, result) } unsafe extern "system" fn i_avn_selecting_items_control_selection_changed_handler_add_ref(this: *mut IUnknown) -> u32 { - crate::event_callback::add_ref::(this) + crate::event_callback::add_ref::>(this) } unsafe extern "system" fn i_avn_selecting_items_control_selection_changed_handler_release(this: *mut IUnknown) -> u32 { - crate::event_callback::release::(this) + crate::event_callback::release::>(this) } -unsafe extern "system" fn i_avn_selecting_items_control_selection_changed_handler_invoke(this: *mut IAvnSelectingItemsControlSelectionChangedHandler) -> i32 { - crate::event_callback::invoke::(this, &mut ()) +unsafe extern "system" fn i_avn_selecting_items_control_selection_changed_handler_invoke(this: *mut IAvnSelectingItemsControlSelectionChangedHandler, args: *mut IAvnSelectingItemsControlSelectionChangedArgs) -> i32 { + let mut arguments = match unsafe { ComPtr::from_raw(args) } { + Some(arguments) => arguments, + None => return hresult::E_POINTER, + }; + let hr = crate::event_callback::invoke::>(this, &mut arguments); + hr } pub const I_AVN_THUMB_DRAG_STARTED_HANDLER_IID: Guid = Guid { data1: 0xBCA61CC5, data2: 0x8334, data3: 0x5A1E, data4: [0xA6, 0xF1, 0xD9, 0xA3, 0x1D, 0x1E, 0xE5, 0x02] }; @@ -4938,34 +5311,70 @@ unsafe extern "system" fn i_avn_tray_icon_clicked_handler_invoke(this: *mut IAvn crate::event_callback::invoke::(this, &mut ()) } -pub const I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_IID: Guid = Guid { data1: 0xED72A060, data2: 0x42CB, data3: 0x5648, data4: [0x80, 0x4F, 0xC5, 0xDC, 0xAB, 0x3C, 0xD8, 0x7A] }; +pub const I_AVN_TREE_VIEW_SELECTION_CHANGED_ARGS_IID: Guid = Guid { data1: 0xA29EDF0E, data2: 0xEBE4, data3: 0x5118, data4: [0x99, 0xEB, 0x61, 0x5A, 0xE0, 0x0A, 0x6B, 0xD5] }; #[repr(C)] -struct IAvnTreeViewSelectionChangedHandlerVtbl { +struct IAvnTreeViewSelectionChangedArgsVtbl { query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, release: unsafe extern "system" fn(*mut IUnknown) -> u32, - invoke: unsafe extern "system" fn(*mut IAvnTreeViewSelectionChangedHandler) -> i32, + get_added_items_count: unsafe extern "system" fn(*mut IAvnTreeViewSelectionChangedArgs, *mut i32) -> i32, + get_added_items_at: unsafe extern "system" fn(*mut IAvnTreeViewSelectionChangedArgs, i32, *mut AvnVariant) -> i32, + get_removed_items_count: unsafe extern "system" fn(*mut IAvnTreeViewSelectionChangedArgs, *mut i32) -> i32, + get_removed_items_at: unsafe extern "system" fn(*mut IAvnTreeViewSelectionChangedArgs, i32, *mut AvnVariant) -> i32, } #[repr(C)] -pub struct IAvnTreeViewSelectionChangedHandler { - vtbl: *const IAvnTreeViewSelectionChangedHandlerVtbl, -} +pub struct IAvnTreeViewSelectionChangedArgs { vtbl: *const IAvnTreeViewSelectionChangedArgsVtbl } -unsafe impl ComInterface for IAvnTreeViewSelectionChangedHandler { - const IID: Guid = I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_IID; -} +unsafe impl ComInterface for IAvnTreeViewSelectionChangedArgs { const IID: Guid = I_AVN_TREE_VIEW_SELECTION_CHANGED_ARGS_IID; } -impl ComPtr { - pub fn invoke(&self) -> Result<()> { +impl ComPtr { + pub fn added_items_count(&self) -> Result { unsafe { - let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().invoke)(self.as_raw()); - hresult::check(hr) + let mut value = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_added_items_count)(self.as_raw(), &mut value); + hresult::check(hr).map(|_| value) + } + } + pub fn added_items_at(&self, index: i32) -> Result { + unsafe { + let mut value = AvnVariant::default(); + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_added_items_at)(self.as_raw(), index, &mut value); + hresult::check(hr).map(|_| value) + } + } + pub fn removed_items_count(&self) -> Result { + unsafe { + let mut value = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_removed_items_count)(self.as_raw(), &mut value); + hresult::check(hr).map(|_| value) } } + pub fn removed_items_at(&self, index: i32) -> Result { + unsafe { + let mut value = AvnVariant::default(); + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_removed_items_at)(self.as_raw(), index, &mut value); + hresult::check(hr).map(|_| value) + } + } +} + +pub const I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_IID: Guid = Guid { data1: 0x9F8E36AD, data2: 0x6E33, data3: 0x5211, data4: [0xB5, 0x70, 0xEB, 0x8B, 0x0C, 0x94, 0x95, 0x11] }; + +#[repr(C)] +struct IAvnTreeViewSelectionChangedHandlerVtbl { + query_interface: unsafe extern "system" fn(*mut IUnknown, *const Guid, *mut *mut c_void) -> i32, + add_ref: unsafe extern "system" fn(*mut IUnknown) -> u32, + release: unsafe extern "system" fn(*mut IUnknown) -> u32, + invoke: unsafe extern "system" fn(*mut IAvnTreeViewSelectionChangedHandler, *mut IAvnTreeViewSelectionChangedArgs) -> i32, } +#[repr(C)] +pub struct IAvnTreeViewSelectionChangedHandler { vtbl: *const IAvnTreeViewSelectionChangedHandlerVtbl } + +unsafe impl ComInterface for IAvnTreeViewSelectionChangedHandler { const IID: Guid = I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_IID; } + static I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_VTBL: IAvnTreeViewSelectionChangedHandlerVtbl = IAvnTreeViewSelectionChangedHandlerVtbl { query_interface: i_avn_tree_view_selection_changed_handler_query_interface, add_ref: i_avn_tree_view_selection_changed_handler_add_ref, @@ -4973,24 +5382,29 @@ static I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_VTBL: IAvnTreeViewSelectionChan invoke: i_avn_tree_view_selection_changed_handler_invoke, }; -pub fn tree_view_selection_changed_handler(mut callback: impl FnMut() -> Result<()> + Send + 'static) -> ComPtr { - crate::event_callback::create::(IAvnTreeViewSelectionChangedHandler { vtbl: &I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_VTBL }, move |_| callback()) +pub fn tree_view_selection_changed_handler(callback: impl FnMut(&mut ComPtr) -> Result<()> + Send + 'static) -> ComPtr { + crate::event_callback::create(IAvnTreeViewSelectionChangedHandler { vtbl: &I_AVN_TREE_VIEW_SELECTION_CHANGED_HANDLER_VTBL }, callback) } unsafe extern "system" fn i_avn_tree_view_selection_changed_handler_query_interface(this: *mut IUnknown, iid: *const Guid, result: *mut *mut c_void) -> i32 { - crate::event_callback::query_interface::(this, iid, result) + crate::event_callback::query_interface::>(this, iid, result) } unsafe extern "system" fn i_avn_tree_view_selection_changed_handler_add_ref(this: *mut IUnknown) -> u32 { - crate::event_callback::add_ref::(this) + crate::event_callback::add_ref::>(this) } unsafe extern "system" fn i_avn_tree_view_selection_changed_handler_release(this: *mut IUnknown) -> u32 { - crate::event_callback::release::(this) + crate::event_callback::release::>(this) } -unsafe extern "system" fn i_avn_tree_view_selection_changed_handler_invoke(this: *mut IAvnTreeViewSelectionChangedHandler) -> i32 { - crate::event_callback::invoke::(this, &mut ()) +unsafe extern "system" fn i_avn_tree_view_selection_changed_handler_invoke(this: *mut IAvnTreeViewSelectionChangedHandler, args: *mut IAvnTreeViewSelectionChangedArgs) -> i32 { + let mut arguments = match unsafe { ComPtr::from_raw(args) } { + Some(arguments) => arguments, + None => return hresult::E_POINTER, + }; + let hr = crate::event_callback::invoke::>(this, &mut arguments); + hr } pub const I_AVN_TREE_VIEW_ITEM_EXPANDED_HANDLER_IID: Guid = Guid { data1: 0xDA50A65B, data2: 0xD90A, data3: 0x5CA4, data4: [0xBB, 0xC6, 0xE3, 0xAD, 0x26, 0xF4, 0x12, 0x3F] }; @@ -5893,7 +6307,7 @@ impl ComPtr { } } -pub const I_AVN_AUTO_COMPLETE_BOX_IID: Guid = Guid { data1: 0x92CEFC39, data2: 0x4E40, data3: 0x5193, data4: [0x89, 0x3F, 0xF3, 0xE2, 0xC7, 0x7E, 0xD2, 0x4C] }; +pub const I_AVN_AUTO_COMPLETE_BOX_IID: Guid = Guid { data1: 0x6D1670C7, data2: 0x0D52, data3: 0x5BB1, data4: [0x82, 0x89, 0x6C, 0x26, 0x17, 0xB7, 0x4A, 0x6C] }; #[repr(C)] struct IAvnAutoCompleteBoxVtbl { @@ -5952,20 +6366,35 @@ struct IAvnAutoCompleteBoxVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnAutoCompleteBox, *mut i32) -> i32, @@ -6433,6 +6862,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -6447,6 +6890,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -6486,6 +6936,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -6499,6 +6975,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -6525,6 +7014,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -7153,7 +7681,7 @@ impl ComPtr { } } -pub const I_AVN_BORDER_IID: Guid = Guid { data1: 0x80C1079E, data2: 0xAFDF, data3: 0x5483, data4: [0xA5, 0x60, 0x2D, 0xDB, 0x47, 0x5C, 0xF8, 0x94] }; +pub const I_AVN_BORDER_IID: Guid = Guid { data1: 0x430F4A36, data2: 0x8B46, data3: 0x5F3C, data4: [0x8E, 0x4D, 0xBD, 0x11, 0xAA, 0x52, 0x29, 0x69] }; #[repr(C)] struct IAvnBorderVtbl { @@ -7212,20 +7740,35 @@ struct IAvnBorderVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnBorder, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnBorder, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnBorder, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnBorder, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnBorder, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnBorder, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnBorder, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnBorder, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnBorder, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnBorder, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnBorder, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnBorder, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnBorder, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnBorder, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnBorder, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnBorder, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnBorder, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnBorder, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnBorder, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnBorder, i64) -> i32, get_child: unsafe extern "system" fn(*mut IAvnBorder, *mut *mut IAvnControl) -> i32, set_child: unsafe extern "system" fn(*mut IAvnBorder, *mut IAvnControl) -> i32, get_padding: unsafe extern "system" fn(*mut IAvnBorder, *mut AvnThickness) -> i32, @@ -7620,6 +8163,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -7634,6 +8191,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -7673,6 +8237,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -7686,6 +8276,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -7712,6 +8315,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_child(&self) -> Result>> { unsafe { let mut value: *mut IAvnControl = ptr::null_mut(); @@ -7835,7 +8477,7 @@ impl ComPtr { } } -pub const I_AVN_BUTTON_IID: Guid = Guid { data1: 0x62D66949, data2: 0x2173, data3: 0x5007, data4: [0x96, 0x13, 0x1F, 0x4B, 0x3E, 0x7C, 0x14, 0x4E] }; +pub const I_AVN_BUTTON_IID: Guid = Guid { data1: 0x085861C8, data2: 0xF91D, data3: 0x5AFE, data4: [0xB5, 0x7A, 0xE6, 0x01, 0x47, 0x7F, 0xC2, 0xD2] }; #[repr(C)] struct IAvnButtonVtbl { @@ -7894,20 +8536,35 @@ struct IAvnButtonVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnButton, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnButton, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnButton, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnButton, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnButton, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnButton, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnButton, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnButton, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnButton, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnButton, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnButton, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnButton, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnButton, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnButton, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnButton, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnButton, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnButton, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnButton, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnButton, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnButton, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnButton, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnButton, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnButton, *mut i32) -> i32, @@ -8338,6 +8995,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -8352,6 +9023,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -8391,6 +9069,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -8404,6 +9108,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -8430,6 +9147,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -8806,7 +9562,7 @@ impl ComPtr { } } -pub const I_AVN_BUTTON_SPINNER_IID: Guid = Guid { data1: 0x046C4736, data2: 0xCECE, data3: 0x5455, data4: [0x98, 0xA8, 0xF2, 0xDD, 0x3C, 0x84, 0xC8, 0x46] }; +pub const I_AVN_BUTTON_SPINNER_IID: Guid = Guid { data1: 0x907404D5, data2: 0x1DE4, data3: 0x574D, data4: [0x99, 0x0E, 0x2D, 0x8A, 0x79, 0x37, 0x3D, 0x6D] }; #[repr(C)] struct IAvnButtonSpinnerVtbl { @@ -8865,20 +9621,35 @@ struct IAvnButtonSpinnerVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnButtonSpinner, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnButtonSpinner, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnButtonSpinner, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnButtonSpinner, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnButtonSpinner, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnButtonSpinner, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnButtonSpinner, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnButtonSpinner, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnButtonSpinner, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnButtonSpinner, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnButtonSpinner, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnButtonSpinner, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnButtonSpinner, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnButtonSpinner, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnButtonSpinner, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnButtonSpinner, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnButtonSpinner, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnButtonSpinner, *mut i32) -> i32, @@ -9302,6 +10073,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -9316,6 +10101,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -9355,6 +10147,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -9368,6 +10186,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -9394,6 +10225,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -9719,7 +10589,7 @@ impl ComPtr { } } -pub const I_AVN_CALENDAR_IID: Guid = Guid { data1: 0xF1D659B7, data2: 0x93E5, data3: 0x5093, data4: [0x9D, 0x16, 0xC4, 0x80, 0xF7, 0x52, 0x0E, 0x14] }; +pub const I_AVN_CALENDAR_IID: Guid = Guid { data1: 0x2ECA7A03, data2: 0x1AA5, data3: 0x5FC5, data4: [0xB1, 0xCC, 0x7E, 0xCD, 0xDC, 0xF2, 0x00, 0xD1] }; #[repr(C)] struct IAvnCalendarVtbl { @@ -9778,20 +10648,35 @@ struct IAvnCalendarVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnCalendar, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnCalendar, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnCalendar, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnCalendar, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnCalendar, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnCalendar, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnCalendar, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnCalendar, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnCalendar, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnCalendar, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnCalendar, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnCalendar, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnCalendar, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnCalendar, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnCalendar, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnCalendar, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnCalendar, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCalendar, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnCalendar, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnCalendar, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnCalendar, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnCalendar, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnCalendar, *mut i32) -> i32, @@ -10229,6 +11114,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -10243,6 +11142,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -10282,6 +11188,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -10295,6 +11227,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -10321,6 +11266,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -10748,7 +11732,7 @@ impl ComPtr { } } -pub const I_AVN_CALENDAR_DATE_PICKER_IID: Guid = Guid { data1: 0xDC5958DB, data2: 0xF3AD, data3: 0x5B9F, data4: [0x9C, 0x86, 0x7B, 0x66, 0xDD, 0x3D, 0x24, 0x29] }; +pub const I_AVN_CALENDAR_DATE_PICKER_IID: Guid = Guid { data1: 0x3CB1E562, data2: 0x6FEB, data3: 0x5E8B, data4: [0xA7, 0x9A, 0x9C, 0x1B, 0x3D, 0xB4, 0xAE, 0x62] }; #[repr(C)] struct IAvnCalendarDatePickerVtbl { @@ -10807,20 +11791,35 @@ struct IAvnCalendarDatePickerVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnCalendarDatePicker, *mut i32) -> i32, @@ -11270,6 +12269,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -11284,6 +12297,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -11323,6 +12343,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -11336,6 +12382,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -11362,6 +12421,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -11873,7 +12971,7 @@ impl ComPtr { } } -pub const I_AVN_CANVAS_IID: Guid = Guid { data1: 0xD9F89602, data2: 0xBD30, data3: 0x55F3, data4: [0x84, 0xC5, 0x69, 0xEF, 0x65, 0xA6, 0xD0, 0xDA] }; +pub const I_AVN_CANVAS_IID: Guid = Guid { data1: 0xDB97347A, data2: 0xFE7E, data3: 0x5006, data4: [0x93, 0xB7, 0xE4, 0xB5, 0x55, 0xA2, 0x61, 0xA9] }; #[repr(C)] struct IAvnCanvasVtbl { @@ -11932,20 +13030,35 @@ struct IAvnCanvasVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnCanvas, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnCanvas, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnCanvas, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnCanvas, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnCanvas, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnCanvas, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnCanvas, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnCanvas, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnCanvas, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnCanvas, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnCanvas, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnCanvas, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnCanvas, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnCanvas, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnCanvas, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnCanvas, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnCanvas, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCanvas, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnCanvas, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnCanvas, i64) -> i32, get_children: unsafe extern "system" fn(*mut IAvnCanvas, *mut *mut IAvnControlList) -> i32, get_background: unsafe extern "system" fn(*mut IAvnCanvas, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnCanvas, *mut IAvnBrush) -> i32, @@ -12326,6 +13439,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -12340,6 +13467,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -12379,6 +13513,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -12392,6 +13552,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -12418,6 +13591,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_children(&self) -> Result> { unsafe { let mut value: *mut IAvnControlList = ptr::null_mut(); @@ -12442,7 +13654,7 @@ impl ComPtr { } } -pub const I_AVN_CAROUSEL_IID: Guid = Guid { data1: 0x14D0DA2B, data2: 0xD8DF, data3: 0x5816, data4: [0x8B, 0x51, 0x45, 0x5D, 0xCF, 0x73, 0x8D, 0xF0] }; +pub const I_AVN_CAROUSEL_IID: Guid = Guid { data1: 0x062C586F, data2: 0xDB97, data3: 0x53CF, data4: [0x8D, 0xC3, 0xA2, 0xF1, 0x59, 0xE0, 0xBD, 0x23] }; #[repr(C)] struct IAvnCarouselVtbl { @@ -12501,20 +13713,35 @@ struct IAvnCarouselVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnCarousel, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnCarousel, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnCarousel, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnCarousel, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnCarousel, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnCarousel, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnCarousel, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnCarousel, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnCarousel, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnCarousel, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnCarousel, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnCarousel, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnCarousel, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnCarousel, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnCarousel, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnCarousel, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnCarousel, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCarousel, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnCarousel, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnCarousel, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnCarousel, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnCarousel, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnCarousel, *mut i32) -> i32, @@ -12953,6 +14180,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -12967,6 +14208,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -13006,6 +14254,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -13019,6 +14293,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -13045,6 +14332,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -13474,7 +14800,7 @@ impl ComPtr { } } -pub const I_AVN_CHECK_BOX_IID: Guid = Guid { data1: 0x2D002AFC, data2: 0xAAFB, data3: 0x5C2D, data4: [0xB7, 0x47, 0xD0, 0x8D, 0xF7, 0x8A, 0xC8, 0x52] }; +pub const I_AVN_CHECK_BOX_IID: Guid = Guid { data1: 0x7A084E79, data2: 0xBA86, data3: 0x55BF, data4: [0xA9, 0xE8, 0xE7, 0x78, 0x6F, 0x3D, 0x42, 0x42] }; #[repr(C)] struct IAvnCheckBoxVtbl { @@ -13533,20 +14859,35 @@ struct IAvnCheckBoxVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnCheckBox, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnCheckBox, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnCheckBox, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnCheckBox, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnCheckBox, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnCheckBox, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnCheckBox, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnCheckBox, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnCheckBox, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnCheckBox, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnCheckBox, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnCheckBox, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnCheckBox, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnCheckBox, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnCheckBox, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnCheckBox, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnCheckBox, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCheckBox, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnCheckBox, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnCheckBox, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnCheckBox, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnCheckBox, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnCheckBox, *mut i32) -> i32, @@ -13983,6 +15324,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -13997,6 +15352,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -14036,6 +15398,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -14049,6 +15437,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -14075,6 +15476,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -14492,7 +15932,7 @@ impl ComPtr { } } -pub const I_AVN_COMBO_BOX_IID: Guid = Guid { data1: 0x86CA773B, data2: 0x56AB, data3: 0x521C, data4: [0xBA, 0x29, 0xD2, 0x57, 0x9C, 0x59, 0xF7, 0xF3] }; +pub const I_AVN_COMBO_BOX_IID: Guid = Guid { data1: 0x1DA7FC0F, data2: 0x6D3F, data3: 0x5669, data4: [0x86, 0x44, 0x03, 0x06, 0x86, 0xAD, 0x4F, 0xD3] }; #[repr(C)] struct IAvnComboBoxVtbl { @@ -14551,20 +15991,35 @@ struct IAvnComboBoxVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnComboBox, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnComboBox, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnComboBox, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnComboBox, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnComboBox, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnComboBox, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnComboBox, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnComboBox, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnComboBox, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnComboBox, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnComboBox, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnComboBox, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnComboBox, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnComboBox, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnComboBox, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnComboBox, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnComboBox, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnComboBox, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnComboBox, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnComboBox, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnComboBox, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnComboBox, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnComboBox, *mut i32) -> i32, @@ -15016,6 +16471,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -15030,6 +16499,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -15069,6 +16545,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -15082,6 +16584,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -15108,6 +16623,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -15629,7 +17183,7 @@ impl ComPtr { } } -pub const I_AVN_COMBO_BOX_ITEM_IID: Guid = Guid { data1: 0x2B9D2E17, data2: 0x500A, data3: 0x56F0, data4: [0xA0, 0xDB, 0x14, 0xB9, 0x2F, 0xF2, 0x8C, 0xCB] }; +pub const I_AVN_COMBO_BOX_ITEM_IID: Guid = Guid { data1: 0x2D2F584F, data2: 0x6CD6, data3: 0x59C9, data4: [0xB5, 0x36, 0x46, 0x3E, 0x6C, 0xC2, 0x1B, 0x72] }; #[repr(C)] struct IAvnComboBoxItemVtbl { @@ -15688,20 +17242,35 @@ struct IAvnComboBoxItemVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnComboBoxItem, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnComboBoxItem, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnComboBoxItem, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnComboBoxItem, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnComboBoxItem, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnComboBoxItem, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnComboBoxItem, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnComboBoxItem, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnComboBoxItem, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnComboBoxItem, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnComboBoxItem, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnComboBoxItem, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnComboBoxItem, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnComboBoxItem, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnComboBoxItem, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnComboBoxItem, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnComboBoxItem, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnComboBoxItem, *mut i32) -> i32, @@ -16117,6 +17686,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -16131,6 +17714,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -16170,6 +17760,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -16183,6 +17799,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -16209,6 +17838,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -16479,7 +18147,7 @@ impl ComPtr { } } -pub const I_AVN_COMMAND_BAR_IID: Guid = Guid { data1: 0x1A9B7C3D, data2: 0x4D24, data3: 0x5330, data4: [0x9F, 0x8F, 0xD9, 0xD0, 0xBC, 0x71, 0x26, 0x95] }; +pub const I_AVN_COMMAND_BAR_IID: Guid = Guid { data1: 0x19280D2B, data2: 0x7145, data3: 0x59DC, data4: [0xAD, 0x55, 0x55, 0x75, 0x41, 0xEC, 0x01, 0x47] }; #[repr(C)] struct IAvnCommandBarVtbl { @@ -16538,20 +18206,35 @@ struct IAvnCommandBarVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnCommandBar, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnCommandBar, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnCommandBar, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnCommandBar, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnCommandBar, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnCommandBar, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnCommandBar, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnCommandBar, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnCommandBar, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnCommandBar, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnCommandBar, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnCommandBar, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnCommandBar, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnCommandBar, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnCommandBar, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnCommandBar, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnCommandBar, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCommandBar, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnCommandBar, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnCommandBar, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnCommandBar, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnCommandBar, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnCommandBar, *mut i32) -> i32, @@ -16991,6 +18674,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -17005,6 +18702,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -17044,6 +18748,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -17057,6 +18787,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -17083,6 +18826,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -17521,7 +19303,7 @@ impl ComPtr { } } -pub const I_AVN_COMMAND_BAR_BUTTON_IID: Guid = Guid { data1: 0x427EE3EA, data2: 0x2EA0, data3: 0x5FF8, data4: [0xB4, 0x13, 0x7D, 0x98, 0x9D, 0x89, 0x26, 0x04] }; +pub const I_AVN_COMMAND_BAR_BUTTON_IID: Guid = Guid { data1: 0x45F67F66, data2: 0xADC9, data3: 0x5D8D, data4: [0x9D, 0x41, 0x87, 0x49, 0xF5, 0x37, 0x02, 0x5E] }; #[repr(C)] struct IAvnCommandBarButtonVtbl { @@ -17580,20 +19362,35 @@ struct IAvnCommandBarButtonVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnCommandBarButton, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnCommandBarButton, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnCommandBarButton, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnCommandBarButton, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnCommandBarButton, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnCommandBarButton, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnCommandBarButton, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnCommandBarButton, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnCommandBarButton, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnCommandBarButton, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnCommandBarButton, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnCommandBarButton, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnCommandBarButton, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnCommandBarButton, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCommandBarButton, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnCommandBarButton, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnCommandBarButton, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnCommandBarButton, *mut i32) -> i32, @@ -18036,6 +19833,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -18050,6 +19861,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -18089,6 +19907,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -18102,6 +19946,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -18128,6 +19985,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -18589,7 +20485,7 @@ impl ComPtr { } } -pub const I_AVN_COMMAND_BAR_SEPARATOR_IID: Guid = Guid { data1: 0x3D86A39E, data2: 0x0EC3, data3: 0x58FA, data4: [0xBE, 0x17, 0x2F, 0x3C, 0xE4, 0xE9, 0x50, 0x21] }; +pub const I_AVN_COMMAND_BAR_SEPARATOR_IID: Guid = Guid { data1: 0x7A5D6F68, data2: 0x43D8, data3: 0x5F3C, data4: [0xB7, 0xA3, 0x09, 0xC4, 0x44, 0x0A, 0x3E, 0xF7] }; #[repr(C)] struct IAvnCommandBarSeparatorVtbl { @@ -18648,20 +20544,35 @@ struct IAvnCommandBarSeparatorVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnCommandBarSeparator, *mut i32) -> i32, @@ -19071,6 +20982,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -19085,6 +21010,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -19124,6 +21056,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -19137,6 +21095,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -19163,6 +21134,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -19391,7 +21401,7 @@ impl ComPtr { } } -pub const I_AVN_COMMAND_BAR_TOGGLE_BUTTON_IID: Guid = Guid { data1: 0x7E7CC18B, data2: 0x4E66, data3: 0x5650, data4: [0x8F, 0xE4, 0x1A, 0xCA, 0x44, 0x5F, 0xA9, 0x07] }; +pub const I_AVN_COMMAND_BAR_TOGGLE_BUTTON_IID: Guid = Guid { data1: 0x3E3D29A6, data2: 0x520A, data3: 0x5B09, data4: [0x81, 0xE3, 0x63, 0x95, 0x78, 0x4D, 0x2C, 0x55] }; #[repr(C)] struct IAvnCommandBarToggleButtonVtbl { @@ -19450,20 +21460,35 @@ struct IAvnCommandBarToggleButtonVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnCommandBarToggleButton, *mut i32) -> i32, @@ -19912,6 +21937,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -19926,6 +21965,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -19965,6 +22011,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -19978,6 +22050,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -20004,6 +22089,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -20506,7 +22630,7 @@ impl ComPtr { } } -pub const I_AVN_CONTENT_CONTROL_IID: Guid = Guid { data1: 0xF3CE3FB2, data2: 0xCD2D, data3: 0x5839, data4: [0x81, 0xC7, 0x3D, 0xF7, 0x0C, 0x3A, 0xD2, 0xF5] }; +pub const I_AVN_CONTENT_CONTROL_IID: Guid = Guid { data1: 0x7312A513, data2: 0x1E46, data3: 0x5A98, data4: [0x95, 0x07, 0x85, 0x12, 0x20, 0xC7, 0xA4, 0x65] }; #[repr(C)] struct IAvnContentControlVtbl { @@ -20565,20 +22689,35 @@ struct IAvnContentControlVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnContentControl, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnContentControl, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnContentControl, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnContentControl, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnContentControl, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnContentControl, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnContentControl, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnContentControl, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnContentControl, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnContentControl, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnContentControl, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnContentControl, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnContentControl, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnContentControl, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnContentControl, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnContentControl, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnContentControl, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnContentControl, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnContentControl, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnContentControl, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnContentControl, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnContentControl, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnContentControl, *mut i32) -> i32, @@ -20992,6 +23131,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -21006,6 +23159,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -21045,6 +23205,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -21058,6 +23244,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -21084,6 +23283,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -21340,7 +23578,7 @@ impl ComPtr { } } -pub const I_AVN_CONTEXT_MENU_IID: Guid = Guid { data1: 0xA5BAC0B5, data2: 0x5163, data3: 0x5500, data4: [0x8C, 0x58, 0x62, 0x9B, 0xE7, 0xDE, 0x30, 0x37] }; +pub const I_AVN_CONTEXT_MENU_IID: Guid = Guid { data1: 0x58A98293, data2: 0x5AA3, data3: 0x59E4, data4: [0xAB, 0x2B, 0xCE, 0x02, 0x1C, 0x5A, 0x5C, 0xCA] }; #[repr(C)] struct IAvnContextMenuVtbl { @@ -21399,20 +23637,35 @@ struct IAvnContextMenuVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnContextMenu, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnContextMenu, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnContextMenu, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnContextMenu, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnContextMenu, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnContextMenu, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnContextMenu, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnContextMenu, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnContextMenu, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnContextMenu, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnContextMenu, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnContextMenu, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnContextMenu, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnContextMenu, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnContextMenu, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnContextMenu, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnContextMenu, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnContextMenu, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnContextMenu, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnContextMenu, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnContextMenu, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnContextMenu, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnContextMenu, *mut i32) -> i32, @@ -21876,6 +24129,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -21890,6 +24157,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -21929,6 +24203,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -21942,6 +24242,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -21968,6 +24281,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -22567,7 +24919,7 @@ impl ComPtr { } } -pub const I_AVN_CONTROL_IID: Guid = Guid { data1: 0x06D79016, data2: 0x63D8, data3: 0x5035, data4: [0xB2, 0x93, 0x19, 0x96, 0x9F, 0x0B, 0xB3, 0xC6] }; +pub const I_AVN_CONTROL_IID: Guid = Guid { data1: 0x8B272500, data2: 0x09E4, data3: 0x535F, data4: [0xAB, 0xF1, 0x14, 0x99, 0x2E, 0x90, 0xE7, 0x78] }; #[repr(C)] struct IAvnControlVtbl { @@ -22626,20 +24978,35 @@ struct IAvnControlVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnControl, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnControl, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnControl, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnControl, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnControl, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnControl, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnControl, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnControl, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnControl, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnControl, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnControl, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnControl, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnControl, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnControl, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnControl, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnControl, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnControl, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnControl, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnControl, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnControl, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnControl, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnControl, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnControl, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnControl, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnControl, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnControl, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnControl, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnControl, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnControl, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnControl, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnControl, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnControl, i64) -> i32, } #[repr(C)] @@ -23017,6 +25384,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -23031,6 +25412,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -23070,6 +25458,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -23083,6 +25497,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -23109,9 +25536,48 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } } -pub const I_AVN_DATE_PICKER_IID: Guid = Guid { data1: 0x5C7D5B90, data2: 0xEC20, data3: 0x5621, data4: [0xBE, 0x13, 0xEA, 0xDA, 0xB8, 0xA0, 0x70, 0x1B] }; +pub const I_AVN_DATE_PICKER_IID: Guid = Guid { data1: 0x2AAFC151, data2: 0x688F, data3: 0x5326, data4: [0xB6, 0x51, 0xD0, 0x22, 0xBD, 0x55, 0x48, 0x7D] }; #[repr(C)] struct IAvnDatePickerVtbl { @@ -23170,20 +25636,35 @@ struct IAvnDatePickerVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnDatePicker, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnDatePicker, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnDatePicker, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnDatePicker, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnDatePicker, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnDatePicker, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnDatePicker, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnDatePicker, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnDatePicker, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnDatePicker, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnDatePicker, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnDatePicker, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnDatePicker, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnDatePicker, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnDatePicker, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnDatePicker, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnDatePicker, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnDatePicker, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnDatePicker, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnDatePicker, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnDatePicker, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnDatePicker, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnDatePicker, *mut i32) -> i32, @@ -23612,6 +26093,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -23626,6 +26121,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -23665,6 +26167,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -23678,6 +26206,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -23704,6 +26245,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -24069,7 +26649,7 @@ impl ComPtr { } } -pub const I_AVN_DECORATOR_IID: Guid = Guid { data1: 0x57E09C6B, data2: 0xA22C, data3: 0x5F01, data4: [0xB6, 0x5C, 0xE5, 0x4C, 0x3D, 0xD5, 0x5E, 0x6C] }; +pub const I_AVN_DECORATOR_IID: Guid = Guid { data1: 0xF8530439, data2: 0xABA5, data3: 0x5B16, data4: [0x9C, 0x0B, 0x21, 0x32, 0xD4, 0xEF, 0xD2, 0x05] }; #[repr(C)] struct IAvnDecoratorVtbl { @@ -24128,20 +26708,35 @@ struct IAvnDecoratorVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnDecorator, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnDecorator, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnDecorator, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnDecorator, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnDecorator, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnDecorator, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnDecorator, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnDecorator, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnDecorator, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnDecorator, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnDecorator, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnDecorator, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnDecorator, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnDecorator, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnDecorator, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnDecorator, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnDecorator, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnDecorator, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnDecorator, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnDecorator, i64) -> i32, get_child: unsafe extern "system" fn(*mut IAvnDecorator, *mut *mut IAvnControl) -> i32, set_child: unsafe extern "system" fn(*mut IAvnDecorator, *mut IAvnControl) -> i32, get_padding: unsafe extern "system" fn(*mut IAvnDecorator, *mut AvnThickness) -> i32, @@ -24523,6 +27118,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -24537,6 +27146,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -24576,6 +27192,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -24589,6 +27231,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -24615,6 +27270,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_child(&self) -> Result>> { unsafe { let mut value: *mut IAvnControl = ptr::null_mut(); @@ -24645,7 +27339,7 @@ impl ComPtr { } } -pub const I_AVN_DOCK_PANEL_IID: Guid = Guid { data1: 0xF0C3E239, data2: 0x81CB, data3: 0x544D, data4: [0x9C, 0xEF, 0x73, 0xB1, 0xD0, 0x4C, 0x1F, 0xB3] }; +pub const I_AVN_DOCK_PANEL_IID: Guid = Guid { data1: 0x63D1EF80, data2: 0xEEE5, data3: 0x50CA, data4: [0xB1, 0xA7, 0xC6, 0x00, 0x85, 0x60, 0xBF, 0xD3] }; #[repr(C)] struct IAvnDockPanelVtbl { @@ -24704,20 +27398,35 @@ struct IAvnDockPanelVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnDockPanel, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnDockPanel, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnDockPanel, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnDockPanel, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnDockPanel, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnDockPanel, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnDockPanel, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnDockPanel, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnDockPanel, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnDockPanel, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnDockPanel, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnDockPanel, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnDockPanel, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnDockPanel, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnDockPanel, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnDockPanel, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnDockPanel, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnDockPanel, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnDockPanel, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnDockPanel, i64) -> i32, get_children: unsafe extern "system" fn(*mut IAvnDockPanel, *mut *mut IAvnControlList) -> i32, get_background: unsafe extern "system" fn(*mut IAvnDockPanel, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnDockPanel, *mut IAvnBrush) -> i32, @@ -25104,6 +27813,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -25118,6 +27841,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -25157,6 +27887,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -25170,6 +27926,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -25196,6 +27965,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_children(&self) -> Result> { unsafe { let mut value: *mut IAvnControlList = ptr::null_mut(); @@ -25262,7 +28070,7 @@ impl ComPtr { } } -pub const I_AVN_DROP_DOWN_BUTTON_IID: Guid = Guid { data1: 0x7CDEF76D, data2: 0x7FD4, data3: 0x5552, data4: [0xB5, 0x91, 0x2D, 0x98, 0x14, 0x0A, 0x7A, 0x63] }; +pub const I_AVN_DROP_DOWN_BUTTON_IID: Guid = Guid { data1: 0x99F4E9B6, data2: 0xDAAC, data3: 0x55B1, data4: [0xAF, 0xDE, 0x75, 0xD3, 0x8A, 0x5C, 0x24, 0x91] }; #[repr(C)] struct IAvnDropDownButtonVtbl { @@ -25321,20 +28129,35 @@ struct IAvnDropDownButtonVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnDropDownButton, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnDropDownButton, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnDropDownButton, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnDropDownButton, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnDropDownButton, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnDropDownButton, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnDropDownButton, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnDropDownButton, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnDropDownButton, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnDropDownButton, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnDropDownButton, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnDropDownButton, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnDropDownButton, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnDropDownButton, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnDropDownButton, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnDropDownButton, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnDropDownButton, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnDropDownButton, *mut i32) -> i32, @@ -25765,6 +28588,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -25779,6 +28616,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -25818,6 +28662,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -25831,6 +28701,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -25857,6 +28740,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -26233,7 +29155,7 @@ impl ComPtr { } } -pub const I_AVN_EXPANDER_IID: Guid = Guid { data1: 0x24CFAB36, data2: 0x1C9D, data3: 0x5E25, data4: [0xAE, 0x07, 0xE9, 0x1D, 0xA6, 0xB3, 0xA2, 0x1C] }; +pub const I_AVN_EXPANDER_IID: Guid = Guid { data1: 0x014D8342, data2: 0x03F6, data3: 0x590B, data4: [0xAF, 0xF5, 0xA8, 0x2C, 0x0E, 0xB3, 0x76, 0xBB] }; #[repr(C)] struct IAvnExpanderVtbl { @@ -26292,20 +29214,35 @@ struct IAvnExpanderVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnExpander, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnExpander, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnExpander, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnExpander, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnExpander, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnExpander, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnExpander, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnExpander, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnExpander, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnExpander, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnExpander, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnExpander, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnExpander, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnExpander, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnExpander, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnExpander, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnExpander, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnExpander, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnExpander, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnExpander, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnExpander, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnExpander, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnExpander, *mut i32) -> i32, @@ -26735,6 +29672,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -26749,6 +29700,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -26788,6 +29746,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -26801,6 +29785,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -26827,6 +29824,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -27191,7 +30227,7 @@ impl ComPtr { } } -pub const I_AVN_FLEX_PANEL_IID: Guid = Guid { data1: 0x299F0D1D, data2: 0x2C19, data3: 0x5531, data4: [0xA4, 0xC9, 0x32, 0x7C, 0x78, 0x4B, 0x29, 0x7D] }; +pub const I_AVN_FLEX_PANEL_IID: Guid = Guid { data1: 0x82049C23, data2: 0xF315, data3: 0x5A82, data4: [0x86, 0xD9, 0x84, 0x5D, 0x8B, 0x82, 0xBA, 0x59] }; #[repr(C)] struct IAvnFlexPanelVtbl { @@ -27250,20 +30286,35 @@ struct IAvnFlexPanelVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnFlexPanel, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnFlexPanel, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnFlexPanel, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnFlexPanel, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnFlexPanel, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnFlexPanel, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnFlexPanel, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnFlexPanel, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnFlexPanel, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnFlexPanel, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnFlexPanel, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnFlexPanel, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnFlexPanel, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnFlexPanel, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnFlexPanel, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnFlexPanel, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnFlexPanel, i64) -> i32, get_children: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut *mut IAvnControlList) -> i32, get_background: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnFlexPanel, *mut IAvnBrush) -> i32, @@ -27658,6 +30709,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -27672,6 +30737,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -27711,6 +30783,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -27724,6 +30822,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -27750,6 +30861,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_children(&self) -> Result> { unsafe { let mut value: *mut IAvnControlList = ptr::null_mut(); @@ -28216,7 +31366,7 @@ impl ComPtr { } } -pub const I_AVN_GRID_IID: Guid = Guid { data1: 0x55E75D4C, data2: 0xFC75, data3: 0x51A9, data4: [0xBA, 0x87, 0x6D, 0x28, 0x70, 0x4E, 0xAF, 0xC8] }; +pub const I_AVN_GRID_IID: Guid = Guid { data1: 0x028C589C, data2: 0x2C52, data3: 0x5505, data4: [0x9C, 0xD2, 0x36, 0xA2, 0x5B, 0x4F, 0x43, 0xA6] }; #[repr(C)] struct IAvnGridVtbl { @@ -28275,20 +31425,35 @@ struct IAvnGridVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnGrid, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnGrid, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnGrid, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnGrid, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnGrid, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnGrid, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnGrid, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnGrid, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnGrid, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnGrid, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnGrid, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnGrid, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnGrid, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnGrid, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnGrid, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnGrid, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnGrid, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnGrid, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnGrid, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnGrid, i64) -> i32, get_children: unsafe extern "system" fn(*mut IAvnGrid, *mut *mut IAvnControlList) -> i32, get_background: unsafe extern "system" fn(*mut IAvnGrid, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnGrid, *mut IAvnBrush) -> i32, @@ -28679,6 +31844,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -28693,6 +31872,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -28732,6 +31918,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -28745,6 +31957,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -28771,6 +31996,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_children(&self) -> Result> { unsafe { let mut value: *mut IAvnControlList = ptr::null_mut(); @@ -28867,7 +32131,7 @@ impl ComPtr { } } -pub const I_AVN_GRID_SPLITTER_IID: Guid = Guid { data1: 0xDBCA4F68, data2: 0xAFEE, data3: 0x5885, data4: [0x93, 0x8A, 0x19, 0x4E, 0x7D, 0xE5, 0xC5, 0x51] }; +pub const I_AVN_GRID_SPLITTER_IID: Guid = Guid { data1: 0x135352FD, data2: 0x917A, data3: 0x577E, data4: [0xA4, 0x28, 0xD1, 0xB6, 0x08, 0x27, 0x44, 0x11] }; #[repr(C)] struct IAvnGridSplitterVtbl { @@ -28926,20 +32190,35 @@ struct IAvnGridSplitterVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnGridSplitter, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnGridSplitter, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnGridSplitter, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnGridSplitter, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnGridSplitter, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnGridSplitter, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnGridSplitter, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnGridSplitter, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnGridSplitter, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnGridSplitter, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnGridSplitter, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnGridSplitter, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnGridSplitter, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnGridSplitter, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnGridSplitter, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnGridSplitter, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnGridSplitter, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnGridSplitter, *mut i32) -> i32, @@ -29361,6 +32640,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -29375,6 +32668,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -29414,6 +32714,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -29427,6 +32753,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -29453,6 +32792,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -29762,7 +33140,7 @@ impl ComPtr { } } -pub const I_AVN_GROUP_BOX_IID: Guid = Guid { data1: 0x48EE658E, data2: 0x57F1, data3: 0x5550, data4: [0xAE, 0xB5, 0x76, 0x64, 0x77, 0xC6, 0x16, 0xBD] }; +pub const I_AVN_GROUP_BOX_IID: Guid = Guid { data1: 0x83F8FB71, data2: 0x5FB5, data3: 0x5C67, data4: [0x9E, 0xDA, 0x9B, 0x19, 0x48, 0x17, 0x2B, 0x9E] }; #[repr(C)] struct IAvnGroupBoxVtbl { @@ -29821,20 +33199,35 @@ struct IAvnGroupBoxVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnGroupBox, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnGroupBox, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnGroupBox, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnGroupBox, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnGroupBox, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnGroupBox, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnGroupBox, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnGroupBox, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnGroupBox, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnGroupBox, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnGroupBox, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnGroupBox, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnGroupBox, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnGroupBox, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnGroupBox, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnGroupBox, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnGroupBox, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnGroupBox, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnGroupBox, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnGroupBox, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnGroupBox, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnGroupBox, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnGroupBox, *mut i32) -> i32, @@ -30252,6 +33645,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -30266,6 +33673,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -30305,6 +33719,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -30318,6 +33758,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -30344,6 +33797,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -30628,7 +34120,7 @@ impl ComPtr { } } -pub const I_AVN_HYPERLINK_BUTTON_IID: Guid = Guid { data1: 0xBA5D6CE2, data2: 0xB42B, data3: 0x5ED0, data4: [0xB2, 0x88, 0x97, 0x75, 0x60, 0x6E, 0x18, 0x02] }; +pub const I_AVN_HYPERLINK_BUTTON_IID: Guid = Guid { data1: 0x8130735B, data2: 0x8051, data3: 0x5246, data4: [0x99, 0x14, 0x24, 0x89, 0xE9, 0xC8, 0xBE, 0xA6] }; #[repr(C)] struct IAvnHyperlinkButtonVtbl { @@ -30687,20 +34179,35 @@ struct IAvnHyperlinkButtonVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnHyperlinkButton, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnHyperlinkButton, *mut i32) -> i32, @@ -31135,6 +34642,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -31149,6 +34670,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -31188,6 +34716,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -31201,6 +34755,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -31227,6 +34794,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -31632,7 +35238,7 @@ impl ComPtr { } } -pub const I_AVN_ICON_ELEMENT_IID: Guid = Guid { data1: 0x27129D51, data2: 0x9086, data3: 0x5E87, data4: [0x97, 0xF2, 0xA7, 0xB3, 0x0B, 0x2F, 0x7A, 0x32] }; +pub const I_AVN_ICON_ELEMENT_IID: Guid = Guid { data1: 0x32A49476, data2: 0xDB0C, data3: 0x5038, data4: [0xB8, 0x88, 0xA6, 0x6D, 0x12, 0x2E, 0xC5, 0x57] }; #[repr(C)] struct IAvnIconElementVtbl { @@ -31691,20 +35297,35 @@ struct IAvnIconElementVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnIconElement, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnIconElement, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnIconElement, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnIconElement, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnIconElement, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnIconElement, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnIconElement, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnIconElement, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnIconElement, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnIconElement, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnIconElement, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnIconElement, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnIconElement, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnIconElement, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnIconElement, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnIconElement, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnIconElement, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnIconElement, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnIconElement, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnIconElement, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnIconElement, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnIconElement, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnIconElement, *mut i32) -> i32, @@ -32110,6 +35731,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -32124,6 +35759,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -32163,6 +35805,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -32176,6 +35844,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -32202,6 +35883,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -32402,7 +36122,7 @@ impl ComPtr { } } -pub const I_AVN_IMAGE_IID: Guid = Guid { data1: 0xACC338F6, data2: 0x8C35, data3: 0x57F4, data4: [0xBB, 0x82, 0x4A, 0x3F, 0x39, 0x7B, 0x13, 0x0F] }; +pub const I_AVN_IMAGE_IID: Guid = Guid { data1: 0x3BE59E46, data2: 0x0ECC, data3: 0x595F, data4: [0x85, 0xC0, 0x3C, 0xD4, 0x6F, 0x76, 0xD9, 0xB7] }; #[repr(C)] struct IAvnImageVtbl { @@ -32461,20 +36181,35 @@ struct IAvnImageVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnImage, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnImage, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnImage, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnImage, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnImage, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnImage, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnImage, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnImage, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnImage, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnImage, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnImage, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnImage, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnImage, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnImage, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnImage, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnImage, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnImage, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnImage, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnImage, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnImage, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnImage, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnImage, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnImage, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnImage, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnImage, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnImage, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnImage, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnImage, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnImage, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnImage, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnImage, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnImage, i64) -> i32, get_source: unsafe extern "system" fn(*mut IAvnImage, *mut *mut u16) -> i32, set_source: unsafe extern "system" fn(*mut IAvnImage, *mut u16) -> i32, get_blend_mode: unsafe extern "system" fn(*mut IAvnImage, *mut i32) -> i32, @@ -32860,6 +36595,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -32874,6 +36623,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -32913,6 +36669,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -32926,6 +36708,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -32952,6 +36747,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_source(&self) -> Result<*mut u16> { unsafe { let mut value: *mut u16 = ptr::null_mut(); @@ -33011,7 +36845,7 @@ impl ComPtr { } } -pub const I_AVN_ITEMS_CONTROL_IID: Guid = Guid { data1: 0xD985D274, data2: 0x6EFC, data3: 0x5423, data4: [0xB7, 0x4F, 0x7A, 0x73, 0x13, 0x39, 0x92, 0xFC] }; +pub const I_AVN_ITEMS_CONTROL_IID: Guid = Guid { data1: 0xC6061984, data2: 0x593E, data3: 0x5875, data4: [0x89, 0x56, 0x4B, 0x5C, 0x4B, 0x6D, 0x88, 0x6C] }; #[repr(C)] struct IAvnItemsControlVtbl { @@ -33070,20 +36904,35 @@ struct IAvnItemsControlVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnItemsControl, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnItemsControl, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnItemsControl, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnItemsControl, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnItemsControl, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnItemsControl, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnItemsControl, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnItemsControl, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnItemsControl, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnItemsControl, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnItemsControl, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnItemsControl, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnItemsControl, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnItemsControl, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnItemsControl, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnItemsControl, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnItemsControl, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnItemsControl, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnItemsControl, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnItemsControl, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnItemsControl, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnItemsControl, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnItemsControl, *mut i32) -> i32, @@ -33501,6 +37350,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -33515,6 +37378,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -33554,6 +37424,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -33567,6 +37463,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -33593,6 +37502,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -33877,7 +37825,7 @@ impl ComPtr { } } -pub const I_AVN_LABEL_IID: Guid = Guid { data1: 0x621B0405, data2: 0x7E33, data3: 0x56EE, data4: [0x8F, 0xF0, 0xE1, 0xCA, 0x60, 0x42, 0x09, 0xBD] }; +pub const I_AVN_LABEL_IID: Guid = Guid { data1: 0xC85D82E9, data2: 0x5381, data3: 0x5B73, data4: [0xBB, 0x11, 0xC5, 0x47, 0xCE, 0xFA, 0x8A, 0x19] }; #[repr(C)] struct IAvnLabelVtbl { @@ -33936,20 +37884,35 @@ struct IAvnLabelVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnLabel, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnLabel, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnLabel, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnLabel, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnLabel, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnLabel, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnLabel, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnLabel, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnLabel, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnLabel, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnLabel, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnLabel, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnLabel, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnLabel, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnLabel, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnLabel, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnLabel, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnLabel, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnLabel, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnLabel, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnLabel, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnLabel, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnLabel, *mut i32) -> i32, @@ -34365,6 +38328,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -34379,6 +38356,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -34418,6 +38402,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -34431,6 +38441,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -34457,6 +38480,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -34727,7 +38789,7 @@ impl ComPtr { } } -pub const I_AVN_LAYOUT_TRANSFORM_CONTROL_IID: Guid = Guid { data1: 0x39D82382, data2: 0x98B4, data3: 0x510A, data4: [0xAE, 0x62, 0x19, 0xE9, 0xBB, 0xA1, 0x36, 0x98] }; +pub const I_AVN_LAYOUT_TRANSFORM_CONTROL_IID: Guid = Guid { data1: 0xD19B8CD6, data2: 0x21FB, data3: 0x5F7C, data4: [0x98, 0x5B, 0xA4, 0x86, 0x53, 0x24, 0x61, 0xA7] }; #[repr(C)] struct IAvnLayoutTransformControlVtbl { @@ -34786,20 +38848,35 @@ struct IAvnLayoutTransformControlVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, i64) -> i32, get_child: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut *mut IAvnControl) -> i32, set_child: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut IAvnControl) -> i32, get_padding: unsafe extern "system" fn(*mut IAvnLayoutTransformControl, *mut AvnThickness) -> i32, @@ -35183,6 +39260,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -35197,6 +39288,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -35236,6 +39334,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -35249,6 +39373,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -35275,6 +39412,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_child(&self) -> Result>> { unsafe { let mut value: *mut IAvnControl = ptr::null_mut(); @@ -35319,7 +39495,7 @@ impl ComPtr { } } -pub const I_AVN_LIST_BOX_IID: Guid = Guid { data1: 0xB5B6A7D1, data2: 0xB302, data3: 0x56BB, data4: [0x93, 0xA9, 0xD5, 0x32, 0x37, 0x70, 0x86, 0x32] }; +pub const I_AVN_LIST_BOX_IID: Guid = Guid { data1: 0xFD704B9F, data2: 0x4E33, data3: 0x516E, data4: [0xB4, 0x8D, 0xB1, 0xDC, 0x9A, 0xA4, 0x4D, 0xCA] }; #[repr(C)] struct IAvnListBoxVtbl { @@ -35378,20 +39554,35 @@ struct IAvnListBoxVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnListBox, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnListBox, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnListBox, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnListBox, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnListBox, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnListBox, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnListBox, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnListBox, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnListBox, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnListBox, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnListBox, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnListBox, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnListBox, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnListBox, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnListBox, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnListBox, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnListBox, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnListBox, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnListBox, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnListBox, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnListBox, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnListBox, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnListBox, *mut i32) -> i32, @@ -35827,6 +40018,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -35841,6 +40046,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -35880,6 +40092,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -35893,6 +40131,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -35919,6 +40170,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -36326,7 +40616,7 @@ impl ComPtr { } } -pub const I_AVN_LIST_BOX_ITEM_IID: Guid = Guid { data1: 0x19A8B0AF, data2: 0x1926, data3: 0x5DE4, data4: [0xB6, 0xEC, 0x5E, 0x2F, 0x02, 0x68, 0x31, 0xB6] }; +pub const I_AVN_LIST_BOX_ITEM_IID: Guid = Guid { data1: 0xD177A044, data2: 0x40A9, data3: 0x5BD2, data4: [0xB9, 0xD5, 0xBC, 0x3B, 0x24, 0xF6, 0xF8, 0x7E] }; #[repr(C)] struct IAvnListBoxItemVtbl { @@ -36385,20 +40675,35 @@ struct IAvnListBoxItemVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnListBoxItem, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnListBoxItem, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnListBoxItem, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnListBoxItem, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnListBoxItem, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnListBoxItem, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnListBoxItem, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnListBoxItem, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnListBoxItem, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnListBoxItem, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnListBoxItem, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnListBoxItem, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnListBoxItem, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnListBoxItem, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnListBoxItem, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnListBoxItem, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnListBoxItem, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnListBoxItem, *mut i32) -> i32, @@ -36814,6 +41119,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -36828,6 +41147,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -36867,6 +41193,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -36880,6 +41232,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -36906,6 +41271,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -37176,7 +41580,7 @@ impl ComPtr { } } -pub const I_AVN_MASKED_TEXT_BOX_IID: Guid = Guid { data1: 0xC7B40FDD, data2: 0x3EBA, data3: 0x55CF, data4: [0x84, 0xBF, 0x5F, 0xAD, 0x22, 0x22, 0x99, 0x08] }; +pub const I_AVN_MASKED_TEXT_BOX_IID: Guid = Guid { data1: 0x1C1A91B2, data2: 0x4417, data3: 0x5AB6, data4: [0xA2, 0x5A, 0xAF, 0x72, 0xF5, 0x7B, 0x56, 0x40] }; #[repr(C)] struct IAvnMaskedTextBoxVtbl { @@ -37235,20 +41639,35 @@ struct IAvnMaskedTextBoxVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnMaskedTextBox, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnMaskedTextBox, *mut i32) -> i32, @@ -37757,6 +42176,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -37771,6 +42204,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -37810,6 +42250,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -37823,6 +42289,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -37849,6 +42328,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -38768,7 +43286,7 @@ impl ComPtr { } } -pub const I_AVN_MENU_IID: Guid = Guid { data1: 0xE97435D8, data2: 0x8BC7, data3: 0x5A16, data4: [0xB1, 0xD1, 0x4B, 0x97, 0x60, 0x08, 0xF3, 0x41] }; +pub const I_AVN_MENU_IID: Guid = Guid { data1: 0x7494D34A, data2: 0x1A50, data3: 0x5EB7, data4: [0x85, 0x32, 0xD5, 0xA9, 0xCA, 0x39, 0x92, 0xB5] }; #[repr(C)] struct IAvnMenuVtbl { @@ -38827,20 +43345,35 @@ struct IAvnMenuVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnMenu, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnMenu, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnMenu, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnMenu, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnMenu, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnMenu, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnMenu, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnMenu, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnMenu, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnMenu, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnMenu, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnMenu, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnMenu, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnMenu, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnMenu, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnMenu, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnMenu, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnMenu, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnMenu, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnMenu, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnMenu, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnMenu, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnMenu, *mut i32) -> i32, @@ -39279,6 +43812,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -39293,6 +43840,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -39332,6 +43886,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -39345,6 +43925,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -39371,6 +43964,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -39798,7 +44430,7 @@ impl ComPtr { } } -pub const I_AVN_MENU_BASE_IID: Guid = Guid { data1: 0xBAB46325, data2: 0x4D7E, data3: 0x54C4, data4: [0xB8, 0xE0, 0x69, 0xA6, 0x47, 0xE2, 0xBF, 0xC6] }; +pub const I_AVN_MENU_BASE_IID: Guid = Guid { data1: 0xA5A9B117, data2: 0xB812, data3: 0x50DC, data4: [0xBE, 0xAA, 0xD8, 0x1C, 0xDA, 0xE4, 0x07, 0x0D] }; #[repr(C)] struct IAvnMenuBaseVtbl { @@ -39857,20 +44489,35 @@ struct IAvnMenuBaseVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnMenuBase, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnMenuBase, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnMenuBase, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnMenuBase, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnMenuBase, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnMenuBase, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnMenuBase, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnMenuBase, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnMenuBase, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnMenuBase, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnMenuBase, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnMenuBase, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnMenuBase, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnMenuBase, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnMenuBase, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnMenuBase, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnMenuBase, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnMenuBase, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnMenuBase, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnMenuBase, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnMenuBase, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnMenuBase, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnMenuBase, *mut i32) -> i32, @@ -40309,6 +44956,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -40323,6 +44984,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -40362,6 +45030,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -40375,6 +45069,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -40401,6 +45108,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -41181,7 +45927,7 @@ impl ComPtr { } } -pub const I_AVN_MENU_ITEM_IID: Guid = Guid { data1: 0x1A9E2536, data2: 0x7437, data3: 0x553C, data4: [0xAF, 0xB6, 0x68, 0x1C, 0xF1, 0x50, 0x21, 0xFF] }; +pub const I_AVN_MENU_ITEM_IID: Guid = Guid { data1: 0x1863F45C, data2: 0x1039, data3: 0x5C4E, data4: [0x96, 0x68, 0x43, 0x36, 0x06, 0xE9, 0x1A, 0xB9] }; #[repr(C)] struct IAvnMenuItemVtbl { @@ -41240,20 +45986,35 @@ struct IAvnMenuItemVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnMenuItem, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnMenuItem, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnMenuItem, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnMenuItem, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnMenuItem, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnMenuItem, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnMenuItem, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnMenuItem, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnMenuItem, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnMenuItem, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnMenuItem, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnMenuItem, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnMenuItem, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnMenuItem, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnMenuItem, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnMenuItem, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnMenuItem, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnMenuItem, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnMenuItem, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnMenuItem, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnMenuItem, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnMenuItem, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnMenuItem, *mut i32) -> i32, @@ -41719,6 +46480,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -41733,6 +46508,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -41772,6 +46554,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -41785,6 +46593,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -41811,6 +46632,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -42431,7 +47291,7 @@ impl ComPtr { } } -pub const I_AVN_NOTIFICATION_CARD_IID: Guid = Guid { data1: 0xDF540B6A, data2: 0x58F6, data3: 0x59F6, data4: [0xB3, 0xDB, 0xF8, 0xFD, 0x04, 0x66, 0x54, 0x02] }; +pub const I_AVN_NOTIFICATION_CARD_IID: Guid = Guid { data1: 0x9E79955D, data2: 0x2569, data3: 0x59C2, data4: [0x9A, 0x3A, 0x25, 0xFE, 0x0A, 0xE5, 0x60, 0x26] }; #[repr(C)] struct IAvnNotificationCardVtbl { @@ -42490,20 +47350,35 @@ struct IAvnNotificationCardVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnNotificationCard, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnNotificationCard, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnNotificationCard, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnNotificationCard, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnNotificationCard, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnNotificationCard, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnNotificationCard, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnNotificationCard, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnNotificationCard, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnNotificationCard, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnNotificationCard, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnNotificationCard, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnNotificationCard, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnNotificationCard, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnNotificationCard, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnNotificationCard, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnNotificationCard, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnNotificationCard, *mut i32) -> i32, @@ -42925,6 +47800,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -42939,6 +47828,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -42978,6 +47874,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -42991,6 +47913,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -43017,6 +47952,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -43328,7 +48302,7 @@ impl ComPtr { } } -pub const I_AVN_WINDOW_NOTIFICATION_MANAGER_IID: Guid = Guid { data1: 0xD4C37646, data2: 0xAAD1, data3: 0x5B56, data4: [0xA2, 0x60, 0xD0, 0xAB, 0x8C, 0xFE, 0x09, 0x36] }; +pub const I_AVN_WINDOW_NOTIFICATION_MANAGER_IID: Guid = Guid { data1: 0xC159F361, data2: 0xBE6C, data3: 0x5268, data4: [0x8A, 0x0B, 0xE1, 0x2F, 0x63, 0x3F, 0x39, 0x5C] }; #[repr(C)] struct IAvnWindowNotificationManagerVtbl { @@ -43387,20 +48361,35 @@ struct IAvnWindowNotificationManagerVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnWindowNotificationManager, *mut i32) -> i32, @@ -43815,6 +48804,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -43829,6 +48832,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -43868,6 +48878,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -43881,6 +48917,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -43907,6 +48956,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -44165,7 +49253,7 @@ impl ComPtr { } } -pub const I_AVN_NUMERIC_UP_DOWN_IID: Guid = Guid { data1: 0x5F487A30, data2: 0x39D1, data3: 0x524A, data4: [0x9A, 0x6E, 0x01, 0xE5, 0x84, 0x45, 0x2E, 0x03] }; +pub const I_AVN_NUMERIC_UP_DOWN_IID: Guid = Guid { data1: 0x5B2AA4AD, data2: 0xE367, data3: 0x58A1, data4: [0x99, 0xED, 0x81, 0x22, 0xD7, 0xC9, 0xB2, 0x09] }; #[repr(C)] struct IAvnNumericUpDownVtbl { @@ -44224,20 +49312,35 @@ struct IAvnNumericUpDownVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnNumericUpDown, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnNumericUpDown, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnNumericUpDown, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnNumericUpDown, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnNumericUpDown, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnNumericUpDown, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnNumericUpDown, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnNumericUpDown, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnNumericUpDown, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnNumericUpDown, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnNumericUpDown, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnNumericUpDown, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnNumericUpDown, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnNumericUpDown, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnNumericUpDown, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnNumericUpDown, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnNumericUpDown, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnNumericUpDown, *mut i32) -> i32, @@ -44683,6 +49786,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -44697,6 +49814,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -44736,6 +49860,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -44749,6 +49899,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -44775,6 +49938,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -45260,7 +50462,7 @@ impl ComPtr { } } -pub const I_AVN_PANEL_IID: Guid = Guid { data1: 0x79DAA937, data2: 0xB232, data3: 0x5B99, data4: [0x84, 0xFB, 0xE3, 0xD6, 0x41, 0x24, 0xED, 0xA5] }; +pub const I_AVN_PANEL_IID: Guid = Guid { data1: 0xFE37643D, data2: 0xBDE5, data3: 0x511B, data4: [0xAB, 0x66, 0xCB, 0x66, 0xB7, 0x3F, 0x68, 0x5F] }; #[repr(C)] struct IAvnPanelVtbl { @@ -45319,20 +50521,35 @@ struct IAvnPanelVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnPanel, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnPanel, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnPanel, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnPanel, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnPanel, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnPanel, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnPanel, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnPanel, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnPanel, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnPanel, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnPanel, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnPanel, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnPanel, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnPanel, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnPanel, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnPanel, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnPanel, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPanel, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnPanel, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnPanel, i64) -> i32, get_children: unsafe extern "system" fn(*mut IAvnPanel, *mut *mut IAvnControlList) -> i32, get_background: unsafe extern "system" fn(*mut IAvnPanel, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnPanel, *mut IAvnBrush) -> i32, @@ -45713,6 +50930,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -45727,6 +50958,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -45766,6 +51004,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -45779,6 +51043,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -45805,6 +51082,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_children(&self) -> Result> { unsafe { let mut value: *mut IAvnControlList = ptr::null_mut(); @@ -45829,7 +51145,7 @@ impl ComPtr { } } -pub const I_AVN_PATH_ICON_IID: Guid = Guid { data1: 0xF220C58A, data2: 0x4D65, data3: 0x5882, data4: [0x8D, 0x9D, 0xEB, 0xE5, 0xF0, 0xA1, 0xD9, 0xA4] }; +pub const I_AVN_PATH_ICON_IID: Guid = Guid { data1: 0x9C821A9C, data2: 0x6A11, data3: 0x5E74, data4: [0x8D, 0x69, 0xA6, 0x37, 0x66, 0x2C, 0xD2, 0x92] }; #[repr(C)] struct IAvnPathIconVtbl { @@ -45888,20 +51204,35 @@ struct IAvnPathIconVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnPathIcon, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnPathIcon, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnPathIcon, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnPathIcon, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnPathIcon, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnPathIcon, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnPathIcon, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnPathIcon, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnPathIcon, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnPathIcon, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnPathIcon, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnPathIcon, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnPathIcon, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnPathIcon, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnPathIcon, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnPathIcon, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnPathIcon, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPathIcon, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnPathIcon, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnPathIcon, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnPathIcon, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnPathIcon, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnPathIcon, *mut i32) -> i32, @@ -46309,6 +51640,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -46323,6 +51668,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -46362,6 +51714,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -46375,6 +51753,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -46401,6 +51792,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -46616,7 +52046,7 @@ impl ComPtr { } } -pub const I_AVN_PIPS_PAGER_IID: Guid = Guid { data1: 0x03DEC932, data2: 0x3B73, data3: 0x5A8C, data4: [0x9C, 0xE7, 0x9E, 0x82, 0xF4, 0xFA, 0xDE, 0x70] }; +pub const I_AVN_PIPS_PAGER_IID: Guid = Guid { data1: 0xB23699D7, data2: 0xACE9, data3: 0x5D8F, data4: [0x85, 0xED, 0x21, 0x6C, 0x49, 0xDE, 0xBE, 0x3E] }; #[repr(C)] struct IAvnPipsPagerVtbl { @@ -46675,20 +52105,35 @@ struct IAvnPipsPagerVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnPipsPager, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnPipsPager, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnPipsPager, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnPipsPager, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnPipsPager, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnPipsPager, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnPipsPager, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnPipsPager, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnPipsPager, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnPipsPager, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnPipsPager, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnPipsPager, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnPipsPager, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnPipsPager, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnPipsPager, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnPipsPager, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnPipsPager, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPipsPager, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnPipsPager, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnPipsPager, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnPipsPager, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnPipsPager, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnPipsPager, *mut i32) -> i32, @@ -47108,6 +52553,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -47122,6 +52581,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -47161,6 +52627,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -47174,6 +52666,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -47200,6 +52705,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -47603,7 +53147,7 @@ impl ComPtr { } } -pub const I_AVN_HEADERED_CONTENT_CONTROL_IID: Guid = Guid { data1: 0x326C8A38, data2: 0xFA42, data3: 0x51F4, data4: [0x90, 0x41, 0xE7, 0xFD, 0x0F, 0xFF, 0xB6, 0x96] }; +pub const I_AVN_HEADERED_CONTENT_CONTROL_IID: Guid = Guid { data1: 0x0408F0EA, data2: 0x5BA0, data3: 0x54C6, data4: [0xA8, 0xE6, 0x97, 0x93, 0x28, 0xFB, 0xE8, 0x8C] }; #[repr(C)] struct IAvnHeaderedContentControlVtbl { @@ -47662,20 +53206,35 @@ struct IAvnHeaderedContentControlVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnHeaderedContentControl, *mut i32) -> i32, @@ -48093,6 +53652,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -48107,6 +53680,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -48146,6 +53726,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -48159,6 +53765,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -48185,6 +53804,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -48469,7 +54127,7 @@ impl ComPtr { } } -pub const I_AVN_HEADERED_ITEMS_CONTROL_IID: Guid = Guid { data1: 0xE4AB3702, data2: 0x5F01, data3: 0x59CF, data4: [0x9F, 0x5E, 0x3C, 0x3D, 0xD2, 0x81, 0x53, 0x3F] }; +pub const I_AVN_HEADERED_ITEMS_CONTROL_IID: Guid = Guid { data1: 0x2E4EBFCB, data2: 0xEA24, data3: 0x5842, data4: [0xAB, 0xC1, 0x0D, 0xC1, 0x37, 0xED, 0x31, 0xDA] }; #[repr(C)] struct IAvnHeaderedItemsControlVtbl { @@ -48528,20 +54186,35 @@ struct IAvnHeaderedItemsControlVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnHeaderedItemsControl, *mut i32) -> i32, @@ -48963,6 +54636,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -48977,6 +54664,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -49016,6 +54710,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -49029,6 +54749,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -49055,6 +54788,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -49367,7 +55139,7 @@ impl ComPtr { } } -pub const I_AVN_HEADERED_SELECTING_ITEMS_CONTROL_IID: Guid = Guid { data1: 0xE0CB1C51, data2: 0x192B, data3: 0x5B9B, data4: [0x8A, 0x19, 0x72, 0xEE, 0x4C, 0x68, 0xC2, 0x7D] }; +pub const I_AVN_HEADERED_SELECTING_ITEMS_CONTROL_IID: Guid = Guid { data1: 0x723DA9D6, data2: 0x8356, data3: 0x5967, data4: [0x83, 0xE1, 0x0E, 0x0A, 0x4B, 0x1C, 0x1B, 0x2C] }; #[repr(C)] struct IAvnHeaderedSelectingItemsControlVtbl { @@ -49426,20 +55198,35 @@ struct IAvnHeaderedSelectingItemsControlVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnHeaderedSelectingItemsControl, *mut i32) -> i32, @@ -49875,6 +55662,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -49889,6 +55690,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -49928,6 +55736,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -49941,6 +55775,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -49967,6 +55814,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -50376,7 +56262,7 @@ impl ComPtr { } } -pub const I_AVN_POPUP_IID: Guid = Guid { data1: 0x4F10A2E5, data2: 0xD393, data3: 0x52F5, data4: [0x97, 0xCB, 0x0D, 0xDA, 0x94, 0x11, 0xF6, 0xE4] }; +pub const I_AVN_POPUP_IID: Guid = Guid { data1: 0xC8FAC379, data2: 0xF367, data3: 0x5D83, data4: [0x9A, 0xBF, 0x46, 0xEF, 0x6F, 0xCB, 0x77, 0x8B] }; #[repr(C)] struct IAvnPopupVtbl { @@ -50435,20 +56321,35 @@ struct IAvnPopupVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnPopup, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnPopup, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnPopup, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnPopup, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnPopup, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnPopup, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnPopup, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnPopup, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnPopup, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnPopup, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnPopup, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnPopup, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnPopup, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnPopup, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnPopup, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnPopup, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnPopup, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnPopup, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnPopup, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnPopup, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnPopup, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnPopup, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnPopup, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnPopup, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnPopup, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnPopup, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPopup, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPopup, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnPopup, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnPopup, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnPopup, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnPopup, i64) -> i32, get_window_manager_add_shadow_hint: unsafe extern "system" fn(*mut IAvnPopup, *mut i32) -> i32, set_window_manager_add_shadow_hint: unsafe extern "system" fn(*mut IAvnPopup, i32) -> i32, get_child: unsafe extern "system" fn(*mut IAvnPopup, *mut *mut IAvnControl) -> i32, @@ -50872,6 +56773,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -50886,6 +56801,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -50925,6 +56847,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -50938,6 +56886,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -50964,6 +56925,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_window_manager_add_shadow_hint(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -51598,7 +57598,7 @@ impl ComPtr { } } -pub const I_AVN_RANGE_BASE_IID: Guid = Guid { data1: 0xC2C5CCBC, data2: 0xF621, data3: 0x560A, data4: [0xB6, 0xF6, 0x87, 0xA2, 0x86, 0xDA, 0xB5, 0x0B] }; +pub const I_AVN_RANGE_BASE_IID: Guid = Guid { data1: 0x4B50BE51, data2: 0x3AF1, data3: 0x5ED3, data4: [0xB2, 0x9F, 0x61, 0xE8, 0x72, 0x8F, 0x05, 0xC9] }; #[repr(C)] struct IAvnRangeBaseVtbl { @@ -51657,20 +57657,35 @@ struct IAvnRangeBaseVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnRangeBase, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnRangeBase, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnRangeBase, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnRangeBase, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnRangeBase, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnRangeBase, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnRangeBase, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnRangeBase, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnRangeBase, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnRangeBase, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnRangeBase, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnRangeBase, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnRangeBase, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnRangeBase, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnRangeBase, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnRangeBase, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnRangeBase, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnRangeBase, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnRangeBase, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnRangeBase, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnRangeBase, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnRangeBase, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnRangeBase, *mut i32) -> i32, @@ -52088,6 +58103,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -52102,6 +58131,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -52141,6 +58177,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -52154,6 +58216,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -52180,6 +58255,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -52463,7 +58577,7 @@ impl ComPtr { } } -pub const I_AVN_SELECTING_ITEMS_CONTROL_IID: Guid = Guid { data1: 0xB2D5F624, data2: 0xDE4C, data3: 0x5278, data4: [0x97, 0x7F, 0x9E, 0xB7, 0x64, 0xDD, 0x6B, 0x2F] }; +pub const I_AVN_SELECTING_ITEMS_CONTROL_IID: Guid = Guid { data1: 0xBF3CA6E3, data2: 0xC054, data3: 0x5059, data4: [0xAF, 0xE7, 0x20, 0xE3, 0x8D, 0x9B, 0x9D, 0xE8] }; #[repr(C)] struct IAvnSelectingItemsControlVtbl { @@ -52522,20 +58636,35 @@ struct IAvnSelectingItemsControlVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnSelectingItemsControl, *mut i32) -> i32, @@ -52967,6 +59096,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -52981,6 +59124,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -53020,6 +59170,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -53033,6 +59209,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -53059,6 +59248,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -53440,7 +59668,7 @@ impl ComPtr { } } -pub const I_AVN_TEMPLATED_CONTROL_IID: Guid = Guid { data1: 0xD71DF481, data2: 0xE9FE, data3: 0x5463, data4: [0xBD, 0xA3, 0x7C, 0x05, 0x46, 0xC5, 0x71, 0x6A] }; +pub const I_AVN_TEMPLATED_CONTROL_IID: Guid = Guid { data1: 0x1863F34C, data2: 0xF21F, data3: 0x5977, data4: [0xA3, 0x05, 0x59, 0x39, 0xD8, 0x0C, 0xB8, 0xC5] }; #[repr(C)] struct IAvnTemplatedControlVtbl { @@ -53499,20 +59727,35 @@ struct IAvnTemplatedControlVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnTemplatedControl, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnTemplatedControl, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnTemplatedControl, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnTemplatedControl, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnTemplatedControl, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnTemplatedControl, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnTemplatedControl, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnTemplatedControl, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnTemplatedControl, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnTemplatedControl, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnTemplatedControl, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnTemplatedControl, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnTemplatedControl, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnTemplatedControl, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTemplatedControl, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnTemplatedControl, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnTemplatedControl, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnTemplatedControl, *mut i32) -> i32, @@ -53918,6 +60161,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -53932,6 +60189,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -53971,6 +60235,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -53984,6 +60274,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -54010,6 +60313,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -54210,7 +60552,7 @@ impl ComPtr { } } -pub const I_AVN_THUMB_IID: Guid = Guid { data1: 0xD4BA0A24, data2: 0xA5D3, data3: 0x56FE, data4: [0xB4, 0x86, 0x86, 0x8C, 0x8C, 0x5A, 0x52, 0xB6] }; +pub const I_AVN_THUMB_IID: Guid = Guid { data1: 0xE465D453, data2: 0x88D0, data3: 0x5CD1, data4: [0xAF, 0x2C, 0x38, 0x9B, 0x5D, 0x80, 0xBE, 0x4D] }; #[repr(C)] struct IAvnThumbVtbl { @@ -54269,20 +60611,35 @@ struct IAvnThumbVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnThumb, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnThumb, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnThumb, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnThumb, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnThumb, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnThumb, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnThumb, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnThumb, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnThumb, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnThumb, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnThumb, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnThumb, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnThumb, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnThumb, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnThumb, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnThumb, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnThumb, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnThumb, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnThumb, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnThumb, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnThumb, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnThumb, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnThumb, *mut i32) -> i32, @@ -54694,6 +61051,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -54708,6 +61079,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -54747,6 +61125,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -54760,6 +61164,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -54786,6 +61203,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -55025,7 +61481,7 @@ impl ComPtr { } } -pub const I_AVN_TOGGLE_BUTTON_IID: Guid = Guid { data1: 0x978AD791, data2: 0x8ABE, data3: 0x5494, data4: [0xB9, 0xAB, 0xB2, 0x99, 0x37, 0x06, 0x28, 0x70] }; +pub const I_AVN_TOGGLE_BUTTON_IID: Guid = Guid { data1: 0xAA447DC6, data2: 0x1470, data3: 0x599E, data4: [0xB0, 0xF5, 0x27, 0xBF, 0x31, 0x3D, 0xC7, 0xE7] }; #[repr(C)] struct IAvnToggleButtonVtbl { @@ -55084,20 +61540,35 @@ struct IAvnToggleButtonVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnToggleButton, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnToggleButton, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnToggleButton, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnToggleButton, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnToggleButton, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnToggleButton, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnToggleButton, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnToggleButton, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnToggleButton, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnToggleButton, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnToggleButton, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnToggleButton, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnToggleButton, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnToggleButton, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnToggleButton, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnToggleButton, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnToggleButton, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnToggleButton, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnToggleButton, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnToggleButton, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnToggleButton, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnToggleButton, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnToggleButton, *mut i32) -> i32, @@ -55534,6 +62005,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -55548,6 +62033,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -55587,6 +62079,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -55600,6 +62118,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -55626,6 +62157,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -56043,7 +62613,7 @@ impl ComPtr { } } -pub const I_AVN_UNIFORM_GRID_IID: Guid = Guid { data1: 0xB6DABE9A, data2: 0x7AED, data3: 0x5BCF, data4: [0xB8, 0x89, 0xA7, 0x15, 0xEC, 0x08, 0xD5, 0xE4] }; +pub const I_AVN_UNIFORM_GRID_IID: Guid = Guid { data1: 0x8B8511AD, data2: 0x3289, data3: 0x5415, data4: [0xA0, 0x3D, 0xE0, 0x26, 0x55, 0x49, 0xA8, 0x76] }; #[repr(C)] struct IAvnUniformGridVtbl { @@ -56102,20 +62672,35 @@ struct IAvnUniformGridVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnUniformGrid, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnUniformGrid, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnUniformGrid, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnUniformGrid, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnUniformGrid, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnUniformGrid, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnUniformGrid, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnUniformGrid, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnUniformGrid, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnUniformGrid, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnUniformGrid, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnUniformGrid, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnUniformGrid, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnUniformGrid, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnUniformGrid, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnUniformGrid, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnUniformGrid, i64) -> i32, get_children: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut *mut IAvnControlList) -> i32, get_background: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnUniformGrid, *mut IAvnBrush) -> i32, @@ -56506,6 +63091,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -56520,6 +63119,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -56559,6 +63165,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -56572,6 +63204,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -56598,6 +63243,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_children(&self) -> Result> { unsafe { let mut value: *mut IAvnControlList = ptr::null_mut(); @@ -56692,7 +63376,7 @@ impl ComPtr { } } -pub const I_AVN_PROGRESS_BAR_IID: Guid = Guid { data1: 0x54861122, data2: 0xE527, data3: 0x532B, data4: [0xA4, 0x44, 0x76, 0xCB, 0x50, 0x2B, 0x04, 0x1E] }; +pub const I_AVN_PROGRESS_BAR_IID: Guid = Guid { data1: 0x5B810486, data2: 0x98CC, data3: 0x51F9, data4: [0x8F, 0x12, 0x46, 0xA0, 0x95, 0x59, 0x5B, 0xB4] }; #[repr(C)] struct IAvnProgressBarVtbl { @@ -56751,20 +63435,35 @@ struct IAvnProgressBarVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnProgressBar, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnProgressBar, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnProgressBar, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnProgressBar, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnProgressBar, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnProgressBar, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnProgressBar, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnProgressBar, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnProgressBar, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnProgressBar, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnProgressBar, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnProgressBar, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnProgressBar, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnProgressBar, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnProgressBar, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnProgressBar, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnProgressBar, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnProgressBar, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnProgressBar, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnProgressBar, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnProgressBar, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnProgressBar, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnProgressBar, *mut i32) -> i32, @@ -57191,6 +63890,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -57205,6 +63918,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -57244,6 +63964,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -57257,6 +64003,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -57283,6 +64042,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -57631,7 +64429,7 @@ impl ComPtr { } } -pub const I_AVN_RADIO_BUTTON_IID: Guid = Guid { data1: 0x45D712D8, data2: 0xA144, data3: 0x589A, data4: [0x90, 0x53, 0x43, 0x33, 0xB6, 0x14, 0x28, 0xBF] }; +pub const I_AVN_RADIO_BUTTON_IID: Guid = Guid { data1: 0xFBEA357A, data2: 0x8E1A, data3: 0x5579, data4: [0xA0, 0xCF, 0x4F, 0xD4, 0x88, 0x95, 0xDA, 0xDB] }; #[repr(C)] struct IAvnRadioButtonVtbl { @@ -57690,20 +64488,35 @@ struct IAvnRadioButtonVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnRadioButton, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnRadioButton, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnRadioButton, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnRadioButton, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnRadioButton, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnRadioButton, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnRadioButton, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnRadioButton, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnRadioButton, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnRadioButton, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnRadioButton, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnRadioButton, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnRadioButton, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnRadioButton, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnRadioButton, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnRadioButton, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnRadioButton, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnRadioButton, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnRadioButton, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnRadioButton, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnRadioButton, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnRadioButton, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnRadioButton, *mut i32) -> i32, @@ -58142,6 +64955,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -58156,6 +64983,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -58195,6 +65029,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -58208,6 +65068,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -58234,6 +65107,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -58666,7 +65578,7 @@ impl ComPtr { } } -pub const I_AVN_REFRESH_CONTAINER_IID: Guid = Guid { data1: 0xC83268B7, data2: 0xA9D2, data3: 0x51FA, data4: [0xB7, 0xC7, 0xE9, 0x89, 0x1E, 0x41, 0x2A, 0x9B] }; +pub const I_AVN_REFRESH_CONTAINER_IID: Guid = Guid { data1: 0x8A61432D, data2: 0xC34F, data3: 0x51D2, data4: [0x8A, 0xCC, 0xE3, 0x6D, 0x3D, 0x63, 0x9D, 0xC7] }; #[repr(C)] struct IAvnRefreshContainerVtbl { @@ -58725,20 +65637,35 @@ struct IAvnRefreshContainerVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnRefreshContainer, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnRefreshContainer, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnRefreshContainer, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnRefreshContainer, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnRefreshContainer, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnRefreshContainer, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnRefreshContainer, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnRefreshContainer, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnRefreshContainer, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnRefreshContainer, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnRefreshContainer, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnRefreshContainer, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnRefreshContainer, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnRefreshContainer, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnRefreshContainer, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnRefreshContainer, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnRefreshContainer, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnRefreshContainer, *mut i32) -> i32, @@ -59159,6 +66086,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -59173,6 +66114,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -59212,6 +66160,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -59225,6 +66199,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -59251,6 +66238,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -59554,7 +66580,7 @@ impl ComPtr { } } -pub const I_AVN_RELATIVE_PANEL_IID: Guid = Guid { data1: 0x4A52A408, data2: 0x9843, data3: 0x5FFA, data4: [0xB1, 0xCC, 0x45, 0x75, 0xFA, 0x75, 0xB2, 0xD5] }; +pub const I_AVN_RELATIVE_PANEL_IID: Guid = Guid { data1: 0x65247A43, data2: 0x88C6, data3: 0x51B3, data4: [0x91, 0xA5, 0x4D, 0xD6, 0x46, 0x41, 0x01, 0x56] }; #[repr(C)] struct IAvnRelativePanelVtbl { @@ -59613,20 +66639,35 @@ struct IAvnRelativePanelVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnRelativePanel, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnRelativePanel, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnRelativePanel, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnRelativePanel, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnRelativePanel, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnRelativePanel, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnRelativePanel, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnRelativePanel, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnRelativePanel, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnRelativePanel, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnRelativePanel, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnRelativePanel, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnRelativePanel, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnRelativePanel, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnRelativePanel, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnRelativePanel, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnRelativePanel, i64) -> i32, get_children: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut *mut IAvnControlList) -> i32, get_background: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnRelativePanel, *mut IAvnBrush) -> i32, @@ -60007,6 +67048,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -60021,6 +67076,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -60060,6 +67122,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -60073,6 +67161,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -60099,6 +67200,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_children(&self) -> Result> { unsafe { let mut value: *mut IAvnControlList = ptr::null_mut(); @@ -60123,7 +67263,7 @@ impl ComPtr { } } -pub const I_AVN_REPEAT_BUTTON_IID: Guid = Guid { data1: 0xA0647C03, data2: 0x65F2, data3: 0x5FE4, data4: [0xA3, 0x8E, 0xB4, 0xA6, 0x10, 0xF7, 0x40, 0xA0] }; +pub const I_AVN_REPEAT_BUTTON_IID: Guid = Guid { data1: 0x4F04D781, data2: 0x4A77, data3: 0x5C93, data4: [0x81, 0x2D, 0x3D, 0x1D, 0xFC, 0x10, 0x62, 0x7C] }; #[repr(C)] struct IAvnRepeatButtonVtbl { @@ -60182,20 +67322,35 @@ struct IAvnRepeatButtonVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnRepeatButton, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnRepeatButton, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnRepeatButton, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnRepeatButton, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnRepeatButton, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnRepeatButton, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnRepeatButton, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnRepeatButton, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnRepeatButton, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnRepeatButton, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnRepeatButton, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnRepeatButton, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnRepeatButton, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnRepeatButton, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnRepeatButton, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnRepeatButton, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnRepeatButton, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnRepeatButton, *mut i32) -> i32, @@ -60630,6 +67785,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -60644,6 +67813,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -60683,6 +67859,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -60696,6 +67898,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -60722,6 +67937,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -61126,7 +68380,7 @@ impl ComPtr { } } -pub const I_AVN_SCROLL_VIEWER_IID: Guid = Guid { data1: 0x597E4640, data2: 0x680B, data3: 0x5499, data4: [0xA4, 0xF0, 0xD9, 0x0B, 0x8F, 0x05, 0x39, 0xC7] }; +pub const I_AVN_SCROLL_VIEWER_IID: Guid = Guid { data1: 0x1D6C37FA, data2: 0x326B, data3: 0x57A1, data4: [0xA0, 0x84, 0x77, 0x90, 0xE0, 0xCE, 0x29, 0x73] }; #[repr(C)] struct IAvnScrollViewerVtbl { @@ -61185,20 +68439,35 @@ struct IAvnScrollViewerVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnScrollViewer, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnScrollViewer, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnScrollViewer, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnScrollViewer, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnScrollViewer, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnScrollViewer, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnScrollViewer, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnScrollViewer, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnScrollViewer, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnScrollViewer, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnScrollViewer, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnScrollViewer, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnScrollViewer, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnScrollViewer, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnScrollViewer, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnScrollViewer, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnScrollViewer, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnScrollViewer, *mut i32) -> i32, @@ -61657,6 +68926,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -61671,6 +68954,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -61710,6 +69000,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -61723,6 +69039,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -61749,6 +69078,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -62314,7 +69682,7 @@ impl ComPtr { } } -pub const I_AVN_SELECTABLE_TEXT_BLOCK_IID: Guid = Guid { data1: 0x4C1CFF48, data2: 0x0D3A, data3: 0x5934, data4: [0xA1, 0xDA, 0x69, 0x39, 0xE7, 0x5C, 0x56, 0x78] }; +pub const I_AVN_SELECTABLE_TEXT_BLOCK_IID: Guid = Guid { data1: 0x11DADAD8, data2: 0x19AB, data3: 0x5C0C, data4: [0x96, 0x14, 0x00, 0xDD, 0x41, 0x25, 0x70, 0xF8] }; #[repr(C)] struct IAvnSelectableTextBlockVtbl { @@ -62373,20 +69741,35 @@ struct IAvnSelectableTextBlockVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, i64) -> i32, get_padding: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut AvnThickness) -> i32, set_padding: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, AvnThickness) -> i32, get_background: unsafe extern "system" fn(*mut IAvnSelectableTextBlock, *mut *mut IAvnBrush) -> i32, @@ -62815,6 +70198,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -62829,6 +70226,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -62868,6 +70272,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -62881,6 +70311,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -62907,6 +70350,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_padding(&self) -> Result { unsafe { let mut value: AvnThickness = Default::default(); @@ -63268,7 +70750,7 @@ impl ComPtr { } } -pub const I_AVN_SEPARATOR_IID: Guid = Guid { data1: 0xFD4ADF2C, data2: 0x46AF, data3: 0x58ED, data4: [0xB8, 0xD1, 0x2B, 0x81, 0x3D, 0x56, 0xA4, 0xC0] }; +pub const I_AVN_SEPARATOR_IID: Guid = Guid { data1: 0x81DB67FE, data2: 0xE07A, data3: 0x5DD4, data4: [0xB1, 0x6C, 0x1E, 0x09, 0x9F, 0xC0, 0x59, 0xFB] }; #[repr(C)] struct IAvnSeparatorVtbl { @@ -63327,20 +70809,35 @@ struct IAvnSeparatorVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnSeparator, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnSeparator, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnSeparator, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnSeparator, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnSeparator, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnSeparator, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnSeparator, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnSeparator, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnSeparator, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnSeparator, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnSeparator, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnSeparator, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnSeparator, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnSeparator, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnSeparator, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnSeparator, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnSeparator, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSeparator, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnSeparator, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnSeparator, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnSeparator, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnSeparator, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnSeparator, *mut i32) -> i32, @@ -63746,6 +71243,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -63760,6 +71271,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -63799,6 +71317,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -63812,6 +71356,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -63838,6 +71395,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -64038,7 +71634,7 @@ impl ComPtr { } } -pub const I_AVN_ARC_IID: Guid = Guid { data1: 0x80597080, data2: 0xEEDD, data3: 0x5CAA, data4: [0xB4, 0xF1, 0x88, 0xD7, 0x8C, 0xA2, 0x3B, 0x79] }; +pub const I_AVN_ARC_IID: Guid = Guid { data1: 0x2DACA1F8, data2: 0x5364, data3: 0x5CB5, data4: [0xB4, 0x71, 0x81, 0x68, 0x2B, 0x00, 0xE3, 0x89] }; #[repr(C)] struct IAvnArcVtbl { @@ -64097,20 +71693,35 @@ struct IAvnArcVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnArc, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnArc, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnArc, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnArc, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnArc, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnArc, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnArc, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnArc, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnArc, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnArc, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnArc, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnArc, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnArc, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnArc, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnArc, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnArc, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnArc, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnArc, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnArc, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnArc, i64) -> i32, get_fill: unsafe extern "system" fn(*mut IAvnArc, *mut *mut IAvnBrush) -> i32, set_fill: unsafe extern "system" fn(*mut IAvnArc, *mut IAvnBrush) -> i32, get_stretch: unsafe extern "system" fn(*mut IAvnArc, *mut i32) -> i32, @@ -64510,6 +72121,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -64524,6 +72149,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -64563,6 +72195,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -64576,6 +72234,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -64602,6 +72273,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_fill(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -64759,7 +72469,7 @@ impl ComPtr { } } -pub const I_AVN_ELLIPSE_IID: Guid = Guid { data1: 0x613206FF, data2: 0x5917, data3: 0x53D8, data4: [0xA9, 0x28, 0x1B, 0xDE, 0x30, 0x9F, 0xB7, 0xF1] }; +pub const I_AVN_ELLIPSE_IID: Guid = Guid { data1: 0x71442BCB, data2: 0x5E0D, data3: 0x53BF, data4: [0xB4, 0xC8, 0x4B, 0xE3, 0x9A, 0x9E, 0x19, 0x10] }; #[repr(C)] struct IAvnEllipseVtbl { @@ -64818,20 +72528,35 @@ struct IAvnEllipseVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnEllipse, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnEllipse, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnEllipse, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnEllipse, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnEllipse, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnEllipse, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnEllipse, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnEllipse, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnEllipse, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnEllipse, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnEllipse, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnEllipse, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnEllipse, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnEllipse, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnEllipse, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnEllipse, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnEllipse, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnEllipse, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnEllipse, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnEllipse, i64) -> i32, get_fill: unsafe extern "system" fn(*mut IAvnEllipse, *mut *mut IAvnBrush) -> i32, set_fill: unsafe extern "system" fn(*mut IAvnEllipse, *mut IAvnBrush) -> i32, get_stretch: unsafe extern "system" fn(*mut IAvnEllipse, *mut i32) -> i32, @@ -65227,6 +72952,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -65241,6 +72980,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -65280,6 +73026,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -65293,6 +73065,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -65319,6 +73104,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_fill(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -65448,7 +73272,7 @@ impl ComPtr { } } -pub const I_AVN_LINE_IID: Guid = Guid { data1: 0xF302A345, data2: 0x5295, data3: 0x5A86, data4: [0xB5, 0x20, 0x22, 0x42, 0x78, 0xB6, 0x8E, 0xAB] }; +pub const I_AVN_LINE_IID: Guid = Guid { data1: 0xE432CA0E, data2: 0x417D, data3: 0x584A, data4: [0xA0, 0xAB, 0x88, 0x4A, 0xCB, 0x73, 0xA6, 0xF6] }; #[repr(C)] struct IAvnLineVtbl { @@ -65507,20 +73331,35 @@ struct IAvnLineVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnLine, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnLine, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnLine, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnLine, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnLine, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnLine, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnLine, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnLine, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnLine, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnLine, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnLine, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnLine, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnLine, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnLine, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnLine, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnLine, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnLine, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnLine, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnLine, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnLine, i64) -> i32, get_fill: unsafe extern "system" fn(*mut IAvnLine, *mut *mut IAvnBrush) -> i32, set_fill: unsafe extern "system" fn(*mut IAvnLine, *mut IAvnBrush) -> i32, get_stretch: unsafe extern "system" fn(*mut IAvnLine, *mut i32) -> i32, @@ -65920,6 +73759,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -65934,6 +73787,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -65973,6 +73833,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -65986,6 +73872,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -66012,6 +73911,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_fill(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -66169,7 +74107,7 @@ impl ComPtr { } } -pub const I_AVN_PATH_IID: Guid = Guid { data1: 0x4EC11C5B, data2: 0x9EAE, data3: 0x57CB, data4: [0xAC, 0xC2, 0xEB, 0x2E, 0x60, 0x94, 0x90, 0xAC] }; +pub const I_AVN_PATH_IID: Guid = Guid { data1: 0xE663EA07, data2: 0xD965, data3: 0x5E67, data4: [0x92, 0x2A, 0xCA, 0x93, 0x2B, 0x48, 0x83, 0xEF] }; #[repr(C)] struct IAvnPathVtbl { @@ -66228,20 +74166,35 @@ struct IAvnPathVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnPath, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnPath, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnPath, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnPath, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnPath, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnPath, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnPath, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnPath, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnPath, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnPath, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnPath, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnPath, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnPath, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnPath, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnPath, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnPath, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnPath, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPath, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnPath, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnPath, i64) -> i32, get_fill: unsafe extern "system" fn(*mut IAvnPath, *mut *mut IAvnBrush) -> i32, set_fill: unsafe extern "system" fn(*mut IAvnPath, *mut IAvnBrush) -> i32, get_stretch: unsafe extern "system" fn(*mut IAvnPath, *mut i32) -> i32, @@ -66639,6 +74592,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -66653,6 +74620,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -66692,6 +74666,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -66705,6 +74705,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -66731,6 +74744,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_fill(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -66875,7 +74927,7 @@ impl ComPtr { } } -pub const I_AVN_POLYGON_IID: Guid = Guid { data1: 0x48E18C96, data2: 0x9363, data3: 0x5066, data4: [0x9A, 0x67, 0x12, 0x3E, 0x15, 0x3A, 0x09, 0x19] }; +pub const I_AVN_POLYGON_IID: Guid = Guid { data1: 0x0AAD3814, data2: 0xFD24, data3: 0x5051, data4: [0xAE, 0xD3, 0xFB, 0x09, 0x0E, 0x1C, 0x0A, 0x3F] }; #[repr(C)] struct IAvnPolygonVtbl { @@ -66934,20 +74986,35 @@ struct IAvnPolygonVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnPolygon, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnPolygon, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnPolygon, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnPolygon, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnPolygon, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnPolygon, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnPolygon, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnPolygon, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnPolygon, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnPolygon, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnPolygon, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnPolygon, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnPolygon, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnPolygon, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnPolygon, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnPolygon, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnPolygon, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPolygon, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnPolygon, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnPolygon, i64) -> i32, get_fill: unsafe extern "system" fn(*mut IAvnPolygon, *mut *mut IAvnBrush) -> i32, set_fill: unsafe extern "system" fn(*mut IAvnPolygon, *mut IAvnBrush) -> i32, get_stretch: unsafe extern "system" fn(*mut IAvnPolygon, *mut i32) -> i32, @@ -67347,6 +75414,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -67361,6 +75442,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -67400,6 +75488,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -67413,6 +75527,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -67439,6 +75566,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_fill(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -67597,7 +75763,7 @@ impl ComPtr { } } -pub const I_AVN_POLYLINE_IID: Guid = Guid { data1: 0x9BACEFB3, data2: 0xB663, data3: 0x55EB, data4: [0xAF, 0x28, 0x46, 0x00, 0x1B, 0xA3, 0xA3, 0x2B] }; +pub const I_AVN_POLYLINE_IID: Guid = Guid { data1: 0x5CBDF633, data2: 0x9B36, data3: 0x5DDE, data4: [0xBF, 0xBE, 0x48, 0xFD, 0x2F, 0xA5, 0x4C, 0x99] }; #[repr(C)] struct IAvnPolylineVtbl { @@ -67656,20 +75822,35 @@ struct IAvnPolylineVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnPolyline, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnPolyline, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnPolyline, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnPolyline, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnPolyline, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnPolyline, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnPolyline, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnPolyline, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnPolyline, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnPolyline, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnPolyline, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnPolyline, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnPolyline, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnPolyline, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnPolyline, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnPolyline, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnPolyline, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnPolyline, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnPolyline, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnPolyline, i64) -> i32, get_fill: unsafe extern "system" fn(*mut IAvnPolyline, *mut *mut IAvnBrush) -> i32, set_fill: unsafe extern "system" fn(*mut IAvnPolyline, *mut IAvnBrush) -> i32, get_stretch: unsafe extern "system" fn(*mut IAvnPolyline, *mut i32) -> i32, @@ -68069,6 +76250,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -68083,6 +76278,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -68122,6 +76324,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -68135,6 +76363,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -68161,6 +76402,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_fill(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -68319,7 +76599,7 @@ impl ComPtr { } } -pub const I_AVN_RECTANGLE_IID: Guid = Guid { data1: 0x4C789DD6, data2: 0x03C9, data3: 0x5FC7, data4: [0xA3, 0x8E, 0x05, 0x00, 0x60, 0xC2, 0x89, 0x08] }; +pub const I_AVN_RECTANGLE_IID: Guid = Guid { data1: 0x18F60995, data2: 0x254F, data3: 0x5AC8, data4: [0x81, 0x01, 0x5D, 0xF9, 0xA4, 0x4E, 0xE4, 0x88] }; #[repr(C)] struct IAvnRectangleVtbl { @@ -68378,20 +76658,35 @@ struct IAvnRectangleVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnRectangle, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnRectangle, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnRectangle, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnRectangle, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnRectangle, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnRectangle, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnRectangle, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnRectangle, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnRectangle, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnRectangle, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnRectangle, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnRectangle, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnRectangle, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnRectangle, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnRectangle, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnRectangle, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnRectangle, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnRectangle, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnRectangle, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnRectangle, i64) -> i32, get_fill: unsafe extern "system" fn(*mut IAvnRectangle, *mut *mut IAvnBrush) -> i32, set_fill: unsafe extern "system" fn(*mut IAvnRectangle, *mut IAvnBrush) -> i32, get_stretch: unsafe extern "system" fn(*mut IAvnRectangle, *mut i32) -> i32, @@ -68791,6 +77086,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -68805,6 +77114,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -68844,6 +77160,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -68857,6 +77199,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -68883,6 +77238,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_fill(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -69040,7 +77434,7 @@ impl ComPtr { } } -pub const I_AVN_SECTOR_IID: Guid = Guid { data1: 0xBEB2012E, data2: 0xDE97, data3: 0x5F61, data4: [0xB0, 0x66, 0x1E, 0x1D, 0x92, 0x4A, 0x19, 0x2A] }; +pub const I_AVN_SECTOR_IID: Guid = Guid { data1: 0xB5A66A03, data2: 0x1739, data3: 0x5B83, data4: [0xB5, 0xBB, 0x74, 0x8E, 0x76, 0xAF, 0x1B, 0x27] }; #[repr(C)] struct IAvnSectorVtbl { @@ -69099,20 +77493,35 @@ struct IAvnSectorVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnSector, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnSector, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnSector, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnSector, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnSector, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnSector, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnSector, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnSector, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnSector, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnSector, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnSector, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnSector, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnSector, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnSector, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnSector, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnSector, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnSector, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSector, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnSector, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnSector, i64) -> i32, get_fill: unsafe extern "system" fn(*mut IAvnSector, *mut *mut IAvnBrush) -> i32, set_fill: unsafe extern "system" fn(*mut IAvnSector, *mut IAvnBrush) -> i32, get_stretch: unsafe extern "system" fn(*mut IAvnSector, *mut i32) -> i32, @@ -69512,6 +77921,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -69526,6 +77949,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -69565,6 +77995,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -69578,6 +78034,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -69604,6 +78073,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_fill(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -69761,7 +78269,7 @@ impl ComPtr { } } -pub const I_AVN_SHAPE_IID: Guid = Guid { data1: 0x68C7A91F, data2: 0xDBEE, data3: 0x56E2, data4: [0x9A, 0x87, 0x24, 0xB2, 0xB6, 0x6D, 0x30, 0xAC] }; +pub const I_AVN_SHAPE_IID: Guid = Guid { data1: 0x9B09B01F, data2: 0xE387, data3: 0x5C6F, data4: [0xBB, 0x9B, 0x60, 0x5F, 0xC4, 0x3B, 0xA2, 0x33] }; #[repr(C)] struct IAvnShapeVtbl { @@ -69820,20 +78328,35 @@ struct IAvnShapeVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnShape, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnShape, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnShape, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnShape, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnShape, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnShape, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnShape, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnShape, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnShape, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnShape, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnShape, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnShape, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnShape, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnShape, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnShape, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnShape, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnShape, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnShape, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnShape, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnShape, i64) -> i32, get_fill: unsafe extern "system" fn(*mut IAvnShape, *mut *mut IAvnBrush) -> i32, set_fill: unsafe extern "system" fn(*mut IAvnShape, *mut IAvnBrush) -> i32, get_stretch: unsafe extern "system" fn(*mut IAvnShape, *mut i32) -> i32, @@ -70229,6 +78752,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -70243,6 +78780,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -70282,6 +78826,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -70295,6 +78865,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -70321,6 +78904,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_fill(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -70450,7 +79072,7 @@ impl ComPtr { } } -pub const I_AVN_SLIDER_IID: Guid = Guid { data1: 0x704B6BAF, data2: 0x7A44, data3: 0x5CFE, data4: [0xA1, 0x4B, 0x44, 0x0A, 0x84, 0x71, 0xD0, 0xB9] }; +pub const I_AVN_SLIDER_IID: Guid = Guid { data1: 0x87C098D1, data2: 0xE3D8, data3: 0x5297, data4: [0x8E, 0xFB, 0xB0, 0x39, 0xEF, 0x2C, 0x9C, 0xB5] }; #[repr(C)] struct IAvnSliderVtbl { @@ -70509,20 +79131,35 @@ struct IAvnSliderVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnSlider, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnSlider, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnSlider, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnSlider, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnSlider, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnSlider, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnSlider, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnSlider, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnSlider, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnSlider, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnSlider, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnSlider, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnSlider, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnSlider, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnSlider, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnSlider, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnSlider, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSlider, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnSlider, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnSlider, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnSlider, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnSlider, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnSlider, *mut i32) -> i32, @@ -70952,6 +79589,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -70966,6 +79617,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -71005,6 +79663,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -71018,6 +79702,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -71044,6 +79741,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -71412,7 +80148,7 @@ impl ComPtr { } } -pub const I_AVN_SPINNER_IID: Guid = Guid { data1: 0x6AAEEDDC, data2: 0x0307, data3: 0x57B2, data4: [0x9F, 0xA5, 0x30, 0xA2, 0x7D, 0xC1, 0x95, 0x8E] }; +pub const I_AVN_SPINNER_IID: Guid = Guid { data1: 0xB3D288E3, data2: 0x9138, data3: 0x530A, data4: [0x96, 0xBE, 0x4B, 0x27, 0x4D, 0xF1, 0x15, 0xF2] }; #[repr(C)] struct IAvnSpinnerVtbl { @@ -71471,20 +80207,35 @@ struct IAvnSpinnerVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnSpinner, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnSpinner, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnSpinner, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnSpinner, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnSpinner, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnSpinner, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnSpinner, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnSpinner, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnSpinner, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnSpinner, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnSpinner, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnSpinner, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnSpinner, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnSpinner, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnSpinner, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnSpinner, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnSpinner, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSpinner, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnSpinner, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnSpinner, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnSpinner, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnSpinner, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnSpinner, *mut i32) -> i32, @@ -71902,6 +80653,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -71916,6 +80681,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -71955,6 +80727,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -71968,6 +80766,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -71994,6 +80805,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -72277,7 +81127,7 @@ impl ComPtr { } } -pub const I_AVN_SPLIT_BUTTON_IID: Guid = Guid { data1: 0x1937A395, data2: 0xDF68, data3: 0x5F9F, data4: [0x94, 0xC1, 0x07, 0x24, 0x63, 0x80, 0x57, 0x3C] }; +pub const I_AVN_SPLIT_BUTTON_IID: Guid = Guid { data1: 0xE162F1F5, data2: 0x7BC8, data3: 0x59CB, data4: [0x82, 0xD6, 0x9A, 0x2A, 0x47, 0xF6, 0x88, 0x84] }; #[repr(C)] struct IAvnSplitButtonVtbl { @@ -72336,20 +81186,35 @@ struct IAvnSplitButtonVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnSplitButton, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnSplitButton, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnSplitButton, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnSplitButton, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnSplitButton, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnSplitButton, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnSplitButton, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnSplitButton, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnSplitButton, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnSplitButton, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnSplitButton, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnSplitButton, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnSplitButton, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnSplitButton, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnSplitButton, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnSplitButton, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnSplitButton, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSplitButton, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnSplitButton, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnSplitButton, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnSplitButton, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnSplitButton, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnSplitButton, *mut i32) -> i32, @@ -72773,6 +81638,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -72787,6 +81666,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -72826,6 +81712,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -72839,6 +81751,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -72865,6 +81790,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -73191,7 +82155,7 @@ impl ComPtr { } } -pub const I_AVN_SPLIT_VIEW_IID: Guid = Guid { data1: 0x51ED3B0D, data2: 0x0AAB, data3: 0x5AA3, data4: [0x9C, 0x4E, 0x50, 0x1C, 0x60, 0x27, 0xE7, 0x74] }; +pub const I_AVN_SPLIT_VIEW_IID: Guid = Guid { data1: 0x5AA9070F, data2: 0xD947, data3: 0x566B, data4: [0x93, 0x1C, 0xEF, 0x80, 0x55, 0x0E, 0xE6, 0x3E] }; #[repr(C)] struct IAvnSplitViewVtbl { @@ -73250,20 +82214,35 @@ struct IAvnSplitViewVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnSplitView, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnSplitView, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnSplitView, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnSplitView, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnSplitView, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnSplitView, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnSplitView, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnSplitView, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnSplitView, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnSplitView, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnSplitView, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnSplitView, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnSplitView, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnSplitView, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnSplitView, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnSplitView, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnSplitView, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnSplitView, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnSplitView, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnSplitView, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnSplitView, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnSplitView, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnSplitView, *mut i32) -> i32, @@ -73703,6 +82682,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -73717,6 +82710,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -73756,6 +82756,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -73769,6 +82795,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -73795,6 +82834,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -74229,7 +83307,7 @@ impl ComPtr { } } -pub const I_AVN_STACK_PANEL_IID: Guid = Guid { data1: 0x2104EA3B, data2: 0x6DCB, data3: 0x5691, data4: [0xAE, 0x36, 0xAB, 0x75, 0xB8, 0x19, 0xF2, 0x83] }; +pub const I_AVN_STACK_PANEL_IID: Guid = Guid { data1: 0x6CBE349A, data2: 0xE815, data3: 0x55A1, data4: [0xBB, 0xD8, 0xB4, 0x39, 0x51, 0x56, 0x7D, 0xC1] }; #[repr(C)] struct IAvnStackPanelVtbl { @@ -74288,20 +83366,35 @@ struct IAvnStackPanelVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnStackPanel, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnStackPanel, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnStackPanel, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnStackPanel, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnStackPanel, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnStackPanel, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnStackPanel, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnStackPanel, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnStackPanel, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnStackPanel, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnStackPanel, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnStackPanel, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnStackPanel, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnStackPanel, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnStackPanel, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnStackPanel, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnStackPanel, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnStackPanel, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnStackPanel, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnStackPanel, i64) -> i32, get_children: unsafe extern "system" fn(*mut IAvnStackPanel, *mut *mut IAvnControlList) -> i32, get_background: unsafe extern "system" fn(*mut IAvnStackPanel, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnStackPanel, *mut IAvnBrush) -> i32, @@ -74690,6 +83783,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -74704,6 +83811,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -74743,6 +83857,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -74756,6 +83896,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -74782,6 +83935,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_children(&self) -> Result> { unsafe { let mut value: *mut IAvnControlList = ptr::null_mut(); @@ -74862,7 +84054,7 @@ impl ComPtr { } } -pub const I_AVN_TAB_CONTROL_IID: Guid = Guid { data1: 0xC4664936, data2: 0x3D85, data3: 0x52A7, data4: [0xB4, 0x8C, 0x4C, 0xC3, 0x2C, 0xA9, 0xB3, 0xA1] }; +pub const I_AVN_TAB_CONTROL_IID: Guid = Guid { data1: 0x08959EF6, data2: 0x348B, data3: 0x51EC, data4: [0x8B, 0xE3, 0xD3, 0xAE, 0x47, 0xB8, 0x61, 0xBF] }; #[repr(C)] struct IAvnTabControlVtbl { @@ -74921,20 +84113,35 @@ struct IAvnTabControlVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnTabControl, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnTabControl, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnTabControl, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnTabControl, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnTabControl, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnTabControl, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnTabControl, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnTabControl, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnTabControl, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnTabControl, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnTabControl, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnTabControl, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnTabControl, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnTabControl, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnTabControl, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnTabControl, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnTabControl, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTabControl, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnTabControl, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnTabControl, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnTabControl, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnTabControl, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnTabControl, *mut i32) -> i32, @@ -75378,6 +84585,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -75392,6 +84613,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -75431,6 +84659,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -75444,6 +84698,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -75470,6 +84737,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -75937,7 +85243,7 @@ impl ComPtr { } } -pub const I_AVN_TAB_ITEM_IID: Guid = Guid { data1: 0xF2FF8148, data2: 0x506B, data3: 0x5823, data4: [0xB9, 0x9B, 0xF1, 0x0D, 0xD0, 0x6A, 0xC7, 0xDE] }; +pub const I_AVN_TAB_ITEM_IID: Guid = Guid { data1: 0x7FFA8FBC, data2: 0x579E, data3: 0x5152, data4: [0xA5, 0xD1, 0xAF, 0xE1, 0x28, 0xCC, 0xB4, 0x70] }; #[repr(C)] struct IAvnTabItemVtbl { @@ -75996,20 +85302,35 @@ struct IAvnTabItemVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnTabItem, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnTabItem, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnTabItem, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnTabItem, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnTabItem, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnTabItem, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnTabItem, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnTabItem, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnTabItem, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnTabItem, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnTabItem, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnTabItem, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnTabItem, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnTabItem, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnTabItem, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnTabItem, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnTabItem, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTabItem, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnTabItem, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnTabItem, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnTabItem, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnTabItem, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnTabItem, *mut i32) -> i32, @@ -76436,6 +85757,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -76450,6 +85785,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -76489,6 +85831,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -76502,6 +85870,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -76528,6 +85909,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -76876,7 +86296,7 @@ impl ComPtr { } } -pub const I_AVN_TABLE_VIEW_IID: Guid = Guid { data1: 0xB0C8BD3E, data2: 0xD92C, data3: 0x542C, data4: [0x8E, 0x78, 0x90, 0x20, 0xF9, 0xF5, 0xD0, 0xD8] }; +pub const I_AVN_TABLE_VIEW_IID: Guid = Guid { data1: 0x8653BEA5, data2: 0x66FE, data3: 0x5479, data4: [0x87, 0xD0, 0x45, 0xC9, 0xD8, 0xFD, 0xC7, 0xEC] }; #[repr(C)] struct IAvnTableViewVtbl { @@ -76935,20 +86355,35 @@ struct IAvnTableViewVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnTableView, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnTableView, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnTableView, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnTableView, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnTableView, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnTableView, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnTableView, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnTableView, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnTableView, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnTableView, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnTableView, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnTableView, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnTableView, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnTableView, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnTableView, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnTableView, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnTableView, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTableView, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnTableView, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnTableView, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnTableView, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnTableView, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnTableView, *mut i32) -> i32, @@ -77388,6 +86823,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -77402,6 +86851,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -77441,6 +86897,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -77454,6 +86936,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -77480,6 +86975,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -77915,7 +87449,7 @@ impl ComPtr { } } -pub const I_AVN_TABLE_VIEW_CELL_IID: Guid = Guid { data1: 0x5FFBD394, data2: 0x21E2, data3: 0x5FA0, data4: [0xA7, 0x38, 0xF8, 0x1C, 0xA2, 0x4C, 0xA1, 0x98] }; +pub const I_AVN_TABLE_VIEW_CELL_IID: Guid = Guid { data1: 0xFB82C6E3, data2: 0x9041, data3: 0x5212, data4: [0xB8, 0x97, 0xE3, 0xDE, 0xC7, 0xEA, 0x63, 0x60] }; #[repr(C)] struct IAvnTableViewCellVtbl { @@ -77974,20 +87508,35 @@ struct IAvnTableViewCellVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnTableViewCell, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnTableViewCell, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnTableViewCell, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnTableViewCell, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnTableViewCell, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnTableViewCell, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnTableViewCell, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnTableViewCell, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnTableViewCell, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnTableViewCell, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnTableViewCell, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnTableViewCell, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnTableViewCell, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnTableViewCell, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTableViewCell, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnTableViewCell, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnTableViewCell, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnTableViewCell, *mut i32) -> i32, @@ -78401,6 +87950,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -78415,6 +87978,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -78454,6 +88024,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -78467,6 +88063,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -78493,6 +88102,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -79101,7 +88749,7 @@ impl ComPtr { } } -pub const I_AVN_TABLE_VIEW_ROW_IID: Guid = Guid { data1: 0x785207CE, data2: 0x7A58, data3: 0x5074, data4: [0x9C, 0xCD, 0x5D, 0xFA, 0x07, 0x71, 0xDF, 0x61] }; +pub const I_AVN_TABLE_VIEW_ROW_IID: Guid = Guid { data1: 0x25F888AF, data2: 0x361C, data3: 0x5B20, data4: [0xAC, 0xB7, 0xCC, 0x9D, 0x17, 0x70, 0xD8, 0x98] }; #[repr(C)] struct IAvnTableViewRowVtbl { @@ -79160,20 +88808,35 @@ struct IAvnTableViewRowVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnTableViewRow, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnTableViewRow, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnTableViewRow, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnTableViewRow, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnTableViewRow, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnTableViewRow, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnTableViewRow, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnTableViewRow, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnTableViewRow, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnTableViewRow, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnTableViewRow, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnTableViewRow, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnTableViewRow, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnTableViewRow, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTableViewRow, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnTableViewRow, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnTableViewRow, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnTableViewRow, *mut i32) -> i32, @@ -79589,6 +89252,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -79603,6 +89280,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -79642,6 +89326,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -79655,6 +89365,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -79681,6 +89404,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -79951,7 +89713,7 @@ impl ComPtr { } } -pub const I_AVN_TEXT_BLOCK_IID: Guid = Guid { data1: 0x70059000, data2: 0x39BE, data3: 0x58FA, data4: [0x96, 0x21, 0x50, 0xCB, 0x7B, 0xBF, 0x46, 0xB1] }; +pub const I_AVN_TEXT_BLOCK_IID: Guid = Guid { data1: 0x47E06BD1, data2: 0x10DC, data3: 0x5267, data4: [0xA5, 0x5F, 0xA5, 0xC3, 0xBB, 0x53, 0x62, 0x85] }; #[repr(C)] struct IAvnTextBlockVtbl { @@ -80010,20 +89772,35 @@ struct IAvnTextBlockVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnTextBlock, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnTextBlock, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnTextBlock, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnTextBlock, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnTextBlock, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnTextBlock, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnTextBlock, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnTextBlock, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnTextBlock, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnTextBlock, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnTextBlock, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnTextBlock, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnTextBlock, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnTextBlock, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnTextBlock, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnTextBlock, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnTextBlock, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnTextBlock, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnTextBlock, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnTextBlock, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnTextBlock, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnTextBlock, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnTextBlock, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnTextBlock, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnTextBlock, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnTextBlock, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTextBlock, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTextBlock, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnTextBlock, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnTextBlock, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnTextBlock, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnTextBlock, i64) -> i32, get_padding: unsafe extern "system" fn(*mut IAvnTextBlock, *mut AvnThickness) -> i32, set_padding: unsafe extern "system" fn(*mut IAvnTextBlock, AvnThickness) -> i32, get_background: unsafe extern "system" fn(*mut IAvnTextBlock, *mut *mut IAvnBrush) -> i32, @@ -80437,6 +90214,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -80451,6 +90242,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -80490,6 +90288,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -80503,6 +90327,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -80529,6 +90366,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_padding(&self) -> Result { unsafe { let mut value: AvnThickness = Default::default(); @@ -80787,7 +90663,7 @@ impl ComPtr { } } -pub const I_AVN_TEXT_BOX_IID: Guid = Guid { data1: 0xB1615F3B, data2: 0xC31D, data3: 0x56CC, data4: [0xA9, 0x99, 0x06, 0x4F, 0xAC, 0x4E, 0xFD, 0xF8] }; +pub const I_AVN_TEXT_BOX_IID: Guid = Guid { data1: 0x2CECBBEF, data2: 0x9113, data3: 0x5262, data4: [0xB4, 0x4C, 0x4C, 0xFD, 0x61, 0x37, 0x32, 0x81] }; #[repr(C)] struct IAvnTextBoxVtbl { @@ -80846,20 +90722,35 @@ struct IAvnTextBoxVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnTextBox, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnTextBox, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnTextBox, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnTextBox, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnTextBox, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnTextBox, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnTextBox, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnTextBox, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnTextBox, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnTextBox, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnTextBox, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnTextBox, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnTextBox, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnTextBox, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnTextBox, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnTextBox, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnTextBox, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTextBox, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnTextBox, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnTextBox, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnTextBox, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnTextBox, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnTextBox, *mut i32) -> i32, @@ -81354,6 +91245,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -81368,6 +91273,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -81407,6 +91319,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -81420,6 +91358,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -81446,6 +91397,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -82264,7 +92254,7 @@ impl ComPtr { } } -pub const I_AVN_THEME_VARIANT_SCOPE_IID: Guid = Guid { data1: 0xF8DF5A10, data2: 0x5406, data3: 0x5E10, data4: [0xA6, 0x14, 0xF5, 0x0B, 0x8A, 0x8B, 0xE5, 0xA6] }; +pub const I_AVN_THEME_VARIANT_SCOPE_IID: Guid = Guid { data1: 0x0C7665EE, data2: 0x7E88, data3: 0x5B31, data4: [0xAA, 0x6C, 0x0B, 0x7B, 0xE8, 0x8E, 0xA1, 0x4B] }; #[repr(C)] struct IAvnThemeVariantScopeVtbl { @@ -82323,20 +92313,35 @@ struct IAvnThemeVariantScopeVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnThemeVariantScope, i64) -> i32, get_child: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut *mut IAvnControl) -> i32, set_child: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut IAvnControl) -> i32, get_padding: unsafe extern "system" fn(*mut IAvnThemeVariantScope, *mut AvnThickness) -> i32, @@ -82720,6 +92725,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -82734,6 +92753,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -82773,6 +92799,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -82786,6 +92838,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -82812,6 +92877,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_child(&self) -> Result>> { unsafe { let mut value: *mut IAvnControl = ptr::null_mut(); @@ -82857,7 +92961,7 @@ impl ComPtr { } } -pub const I_AVN_TIME_PICKER_IID: Guid = Guid { data1: 0x512BDA86, data2: 0x7718, data3: 0x5F1E, data4: [0xB2, 0xDE, 0x8B, 0xCC, 0x75, 0x34, 0xAA, 0x46] }; +pub const I_AVN_TIME_PICKER_IID: Guid = Guid { data1: 0xB5A38C06, data2: 0x2DB2, data3: 0x5199, data4: [0x83, 0xDC, 0x05, 0xC2, 0x8A, 0x15, 0xDA, 0x69] }; #[repr(C)] struct IAvnTimePickerVtbl { @@ -82916,20 +93020,35 @@ struct IAvnTimePickerVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnTimePicker, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnTimePicker, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnTimePicker, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnTimePicker, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnTimePicker, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnTimePicker, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnTimePicker, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnTimePicker, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnTimePicker, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnTimePicker, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnTimePicker, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnTimePicker, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnTimePicker, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnTimePicker, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnTimePicker, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnTimePicker, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnTimePicker, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTimePicker, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnTimePicker, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnTimePicker, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnTimePicker, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnTimePicker, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnTimePicker, *mut i32) -> i32, @@ -83350,6 +93469,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -83364,6 +93497,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -83403,6 +93543,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -83416,6 +93582,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -83442,6 +93621,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -83747,7 +93965,7 @@ impl ComPtr { } } -pub const I_AVN_TOGGLE_SPLIT_BUTTON_IID: Guid = Guid { data1: 0xDD4F3760, data2: 0xD88D, data3: 0x5551, data4: [0xBD, 0x80, 0xCA, 0x87, 0x21, 0xDE, 0xA1, 0xE9] }; +pub const I_AVN_TOGGLE_SPLIT_BUTTON_IID: Guid = Guid { data1: 0xA8024AE3, data2: 0x3329, data3: 0x57D6, data4: [0xAE, 0x6C, 0x1E, 0x3B, 0xBA, 0xD7, 0xA7, 0xE6] }; #[repr(C)] struct IAvnToggleSplitButtonVtbl { @@ -83806,20 +94024,35 @@ struct IAvnToggleSplitButtonVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnToggleSplitButton, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnToggleSplitButton, *mut i32) -> i32, @@ -84247,6 +94480,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -84261,6 +94508,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -84300,6 +94554,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -84313,6 +94593,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -84339,6 +94632,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -84692,7 +95024,7 @@ impl ComPtr { } } -pub const I_AVN_TOGGLE_SWITCH_IID: Guid = Guid { data1: 0xD36D16B3, data2: 0x4A9B, data3: 0x5BD6, data4: [0x92, 0x58, 0x71, 0x25, 0xED, 0x95, 0xB4, 0x33] }; +pub const I_AVN_TOGGLE_SWITCH_IID: Guid = Guid { data1: 0xEB2E63C7, data2: 0x1C28, data3: 0x5754, data4: [0xB2, 0x6B, 0x64, 0xBC, 0x0C, 0x26, 0x41, 0xBF] }; #[repr(C)] struct IAvnToggleSwitchVtbl { @@ -84751,20 +95083,35 @@ struct IAvnToggleSwitchVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnToggleSwitch, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnToggleSwitch, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnToggleSwitch, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnToggleSwitch, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnToggleSwitch, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnToggleSwitch, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnToggleSwitch, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnToggleSwitch, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnToggleSwitch, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnToggleSwitch, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnToggleSwitch, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnToggleSwitch, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnToggleSwitch, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnToggleSwitch, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnToggleSwitch, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnToggleSwitch, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnToggleSwitch, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnToggleSwitch, *mut i32) -> i32, @@ -85209,6 +95556,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -85223,6 +95584,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -85262,6 +95630,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -85275,6 +95669,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -85301,6 +95708,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -85774,7 +96220,7 @@ impl ComPtr { } } -pub const I_AVN_TOOL_TIP_IID: Guid = Guid { data1: 0x25BC085F, data2: 0x0BDB, data3: 0x59F4, data4: [0xB6, 0x89, 0xA1, 0xF0, 0xA8, 0x48, 0x9B, 0x19] }; +pub const I_AVN_TOOL_TIP_IID: Guid = Guid { data1: 0x04F8776B, data2: 0x9CD2, data3: 0x58D3, data4: [0x90, 0x04, 0xAA, 0x6B, 0x0C, 0x12, 0xE9, 0x02] }; #[repr(C)] struct IAvnToolTipVtbl { @@ -85833,20 +96279,35 @@ struct IAvnToolTipVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnToolTip, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnToolTip, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnToolTip, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnToolTip, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnToolTip, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnToolTip, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnToolTip, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnToolTip, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnToolTip, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnToolTip, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnToolTip, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnToolTip, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnToolTip, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnToolTip, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnToolTip, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnToolTip, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnToolTip, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnToolTip, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnToolTip, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnToolTip, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnToolTip, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnToolTip, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnToolTip, *mut i32) -> i32, @@ -86260,6 +96721,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -86274,6 +96749,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -86313,6 +96795,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -86326,6 +96834,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -86352,6 +96873,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -86608,7 +97168,7 @@ impl ComPtr { } } -pub const I_AVN_TRANSITIONING_CONTENT_CONTROL_IID: Guid = Guid { data1: 0x6A3336CC, data2: 0xB09A, data3: 0x5484, data4: [0xBB, 0x6B, 0x3E, 0x74, 0xC7, 0x62, 0xE5, 0x77] }; +pub const I_AVN_TRANSITIONING_CONTENT_CONTROL_IID: Guid = Guid { data1: 0x2B88F131, data2: 0x4CA4, data3: 0x529F, data4: [0xAA, 0x60, 0xED, 0x2B, 0xE7, 0x19, 0xBE, 0x10] }; #[repr(C)] struct IAvnTransitioningContentControlVtbl { @@ -86667,20 +97227,35 @@ struct IAvnTransitioningContentControlVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnTransitioningContentControl, *mut i32) -> i32, @@ -87098,6 +97673,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -87112,6 +97701,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -87151,6 +97747,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -87164,6 +97786,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -87190,6 +97825,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -87607,7 +98281,7 @@ impl ComPtr { } } -pub const I_AVN_TREE_VIEW_IID: Guid = Guid { data1: 0xAD4500EF, data2: 0xD3C0, data3: 0x5798, data4: [0xBF, 0x90, 0x5E, 0x75, 0x15, 0xE8, 0x5B, 0xEE] }; +pub const I_AVN_TREE_VIEW_IID: Guid = Guid { data1: 0x51F6F3E1, data2: 0x06E8, data3: 0x563F, data4: [0xA8, 0x34, 0xCA, 0x7D, 0x3C, 0x75, 0x1B, 0x4D] }; #[repr(C)] struct IAvnTreeViewVtbl { @@ -87666,20 +98340,35 @@ struct IAvnTreeViewVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnTreeView, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnTreeView, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnTreeView, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnTreeView, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnTreeView, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnTreeView, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnTreeView, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnTreeView, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnTreeView, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnTreeView, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnTreeView, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnTreeView, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnTreeView, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnTreeView, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnTreeView, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnTreeView, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnTreeView, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTreeView, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnTreeView, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnTreeView, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnTreeView, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnTreeView, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnTreeView, *mut i32) -> i32, @@ -88113,6 +98802,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -88127,6 +98830,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -88166,6 +98876,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -88179,6 +98915,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -88205,6 +98954,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -88596,7 +99384,7 @@ impl ComPtr { } } -pub const I_AVN_TREE_VIEW_ITEM_IID: Guid = Guid { data1: 0xB4B4B178, data2: 0xBF7A, data3: 0x52CD, data4: [0x8B, 0x27, 0xEF, 0xED, 0xBE, 0xA8, 0xC6, 0x0E] }; +pub const I_AVN_TREE_VIEW_ITEM_IID: Guid = Guid { data1: 0x489990A9, data2: 0x1ED5, data3: 0x5772, data4: [0xAE, 0xE6, 0x25, 0xC4, 0xE8, 0xB8, 0x61, 0x2A] }; #[repr(C)] struct IAvnTreeViewItemVtbl { @@ -88655,20 +99443,35 @@ struct IAvnTreeViewItemVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnTreeViewItem, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnTreeViewItem, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnTreeViewItem, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnTreeViewItem, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnTreeViewItem, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnTreeViewItem, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnTreeViewItem, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnTreeViewItem, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnTreeViewItem, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnTreeViewItem, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnTreeViewItem, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnTreeViewItem, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnTreeViewItem, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnTreeViewItem, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnTreeViewItem, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnTreeViewItem, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnTreeViewItem, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnTreeViewItem, *mut i32) -> i32, @@ -89099,6 +99902,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -89113,6 +99930,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -89152,6 +99976,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -89165,6 +100015,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -89191,6 +100054,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -89565,7 +100467,7 @@ impl ComPtr { } } -pub const I_AVN_USER_CONTROL_IID: Guid = Guid { data1: 0x61A53A49, data2: 0xAD6E, data3: 0x58C8, data4: [0x88, 0xDF, 0xDC, 0x3B, 0x76, 0x9C, 0xF0, 0x13] }; +pub const I_AVN_USER_CONTROL_IID: Guid = Guid { data1: 0x0529D537, data2: 0x1B91, data3: 0x5234, data4: [0x84, 0x80, 0x85, 0x5B, 0x56, 0x08, 0x63, 0x22] }; #[repr(C)] struct IAvnUserControlVtbl { @@ -89624,20 +100526,35 @@ struct IAvnUserControlVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnUserControl, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnUserControl, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnUserControl, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnUserControl, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnUserControl, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnUserControl, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnUserControl, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnUserControl, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnUserControl, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnUserControl, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnUserControl, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnUserControl, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnUserControl, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnUserControl, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnUserControl, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnUserControl, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnUserControl, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnUserControl, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnUserControl, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnUserControl, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnUserControl, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnUserControl, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnUserControl, *mut i32) -> i32, @@ -90051,6 +100968,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -90065,6 +100996,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -90104,6 +101042,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -90117,6 +101081,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -90143,6 +101120,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -90399,7 +101415,7 @@ impl ComPtr { } } -pub const I_AVN_VIEWBOX_IID: Guid = Guid { data1: 0x4F61E1E8, data2: 0xF773, data3: 0x5195, data4: [0xB8, 0xBF, 0x89, 0xEF, 0x6E, 0x8F, 0x6C, 0x44] }; +pub const I_AVN_VIEWBOX_IID: Guid = Guid { data1: 0xEFA9084A, data2: 0x769B, data3: 0x55F4, data4: [0x81, 0x01, 0x3B, 0x6D, 0x4C, 0xB5, 0x24, 0xD7] }; #[repr(C)] struct IAvnViewboxVtbl { @@ -90458,20 +101474,35 @@ struct IAvnViewboxVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnViewbox, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnViewbox, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnViewbox, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnViewbox, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnViewbox, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnViewbox, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnViewbox, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnViewbox, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnViewbox, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnViewbox, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnViewbox, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnViewbox, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnViewbox, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnViewbox, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnViewbox, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnViewbox, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnViewbox, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnViewbox, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnViewbox, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnViewbox, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnViewbox, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnViewbox, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnViewbox, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnViewbox, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnViewbox, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnViewbox, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnViewbox, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnViewbox, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnViewbox, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnViewbox, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnViewbox, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnViewbox, i64) -> i32, get_stretch: unsafe extern "system" fn(*mut IAvnViewbox, *mut i32) -> i32, set_stretch: unsafe extern "system" fn(*mut IAvnViewbox, i32) -> i32, get_stretch_direction: unsafe extern "system" fn(*mut IAvnViewbox, *mut i32) -> i32, @@ -90855,6 +101886,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -90869,6 +101914,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -90908,6 +101960,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -90921,6 +101999,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -90947,6 +102038,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_stretch(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -90991,7 +102121,7 @@ impl ComPtr { } } -pub const I_AVN_WINDOW_IID: Guid = Guid { data1: 0xBEAAC3C0, data2: 0x855F, data3: 0x5FC1, data4: [0x97, 0x50, 0x80, 0xC5, 0x38, 0xF7, 0xEE, 0x87] }; +pub const I_AVN_WINDOW_IID: Guid = Guid { data1: 0x9A01C107, data2: 0xBB12, data3: 0x5AFE, data4: [0x9D, 0xAA, 0xC5, 0xAA, 0xCE, 0xF2, 0xD8, 0x79] }; #[repr(C)] struct IAvnWindowVtbl { @@ -91050,20 +102180,35 @@ struct IAvnWindowVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnWindow, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnWindow, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnWindow, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnWindow, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnWindow, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnWindow, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnWindow, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnWindow, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnWindow, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnWindow, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnWindow, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnWindow, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnWindow, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnWindow, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnWindow, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnWindow, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnWindow, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnWindow, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnWindow, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnWindow, i64) -> i32, get_background: unsafe extern "system" fn(*mut IAvnWindow, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnWindow, *mut IAvnBrush) -> i32, get_background_sizing: unsafe extern "system" fn(*mut IAvnWindow, *mut i32) -> i32, @@ -91518,6 +102663,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -91532,6 +102691,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -91571,6 +102737,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -91584,6 +102776,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -91610,6 +102815,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_background(&self) -> Result>> { unsafe { let mut value: *mut IAvnBrush = ptr::null_mut(); @@ -92153,7 +103397,7 @@ impl ComPtr { } } -pub const I_AVN_WRAP_PANEL_IID: Guid = Guid { data1: 0x92500527, data2: 0x364F, data3: 0x542C, data4: [0x8D, 0xF0, 0x37, 0xF0, 0x80, 0x36, 0xD8, 0x3F] }; +pub const I_AVN_WRAP_PANEL_IID: Guid = Guid { data1: 0x71831219, data2: 0xF14C, data3: 0x5D2F, data4: [0xA2, 0xF1, 0x49, 0xFB, 0x97, 0x96, 0x05, 0xD4] }; #[repr(C)] struct IAvnWrapPanelVtbl { @@ -92212,20 +103456,35 @@ struct IAvnWrapPanelVtbl { set_horizontal_alignment: unsafe extern "system" fn(*mut IAvnWrapPanel, i32) -> i32, get_vertical_alignment: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut i32) -> i32, set_vertical_alignment: unsafe extern "system" fn(*mut IAvnWrapPanel, i32) -> i32, + get_focusable: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut i32) -> i32, + set_focusable: unsafe extern "system" fn(*mut IAvnWrapPanel, i32) -> i32, get_is_enabled: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut i32) -> i32, set_is_enabled: unsafe extern "system" fn(*mut IAvnWrapPanel, i32) -> i32, + focus_with_navigation_method_and_key_modifiers: unsafe extern "system" fn(*mut IAvnWrapPanel, i32, i32, *mut i32) -> i32, advise_loaded: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnControlLoadedHandler, *mut i64) -> i32, unadvise_loaded: unsafe extern "system" fn(*mut IAvnWrapPanel, i64) -> i32, advise_unloaded: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnControlUnloadedHandler, *mut i64) -> i32, unadvise_unloaded: unsafe extern "system" fn(*mut IAvnWrapPanel, i64) -> i32, advise_size_changed: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnControlSizeChangedHandler, *mut i64) -> i32, unadvise_size_changed: unsafe extern "system" fn(*mut IAvnWrapPanel, i64) -> i32, + advise_got_focus: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnControlGotFocusHandler, *mut i64) -> i32, + unadvise_got_focus: unsafe extern "system" fn(*mut IAvnWrapPanel, i64) -> i32, + advise_lost_focus: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnControlLostFocusHandler, *mut i64) -> i32, + unadvise_lost_focus: unsafe extern "system" fn(*mut IAvnWrapPanel, i64) -> i32, advise_key_down: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnControlKeyDownHandler, *mut i64) -> i32, unadvise_key_down: unsafe extern "system" fn(*mut IAvnWrapPanel, i64) -> i32, + advise_key_up: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnControlKeyUpHandler, *mut i64) -> i32, + unadvise_key_up: unsafe extern "system" fn(*mut IAvnWrapPanel, i64) -> i32, advise_pointer_entered: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnControlPointerEnteredHandler, *mut i64) -> i32, unadvise_pointer_entered: unsafe extern "system" fn(*mut IAvnWrapPanel, i64) -> i32, advise_pointer_exited: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnControlPointerExitedHandler, *mut i64) -> i32, unadvise_pointer_exited: unsafe extern "system" fn(*mut IAvnWrapPanel, i64) -> i32, + advise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnControlPointerWheelChangedHandler, *mut i64) -> i32, + unadvise_pointer_wheel_changed: unsafe extern "system" fn(*mut IAvnWrapPanel, i64) -> i32, + advise_tapped: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnControlTappedHandler, *mut i64) -> i32, + unadvise_tapped: unsafe extern "system" fn(*mut IAvnWrapPanel, i64) -> i32, + advise_double_tapped: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnControlDoubleTappedHandler, *mut i64) -> i32, + unadvise_double_tapped: unsafe extern "system" fn(*mut IAvnWrapPanel, i64) -> i32, get_children: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut *mut IAvnControlList) -> i32, get_background: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut *mut IAvnBrush) -> i32, set_background: unsafe extern "system" fn(*mut IAvnWrapPanel, *mut IAvnBrush) -> i32, @@ -92618,6 +103877,20 @@ impl ComPtr { hresult::check(hr) } } + pub fn get_focusable(&self) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().get_focusable)(self.as_raw(), &mut value); + hresult::check(hr)?; + Ok(value != 0) + } + } + pub fn set_focusable(&self, value: bool) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().set_focusable)(self.as_raw(), i32::from(value)); + hresult::check(hr) + } + } pub fn get_is_enabled(&self) -> Result { unsafe { let mut value: i32 = 0; @@ -92632,6 +103905,13 @@ impl ComPtr { hresult::check(hr) } } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { + unsafe { + let mut value: i32 = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().focus_with_navigation_method_and_key_modifiers)(self.as_raw(), method, key_modifiers, &mut value); + hresult::check(hr).map(|_| value) + } + } pub fn advise_loaded(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -92671,6 +103951,32 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_got_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_got_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_got_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_got_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_lost_focus(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_lost_focus)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_lost_focus(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_lost_focus)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_key_down(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -92684,6 +103990,19 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_key_up(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_key_up)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_key_up(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_key_up)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn advise_pointer_entered(&self, handler: &ComPtr) -> Result { unsafe { let mut subscription_id = 0; @@ -92710,6 +104029,45 @@ impl ComPtr { hresult::check(hr) } } + pub fn advise_pointer_wheel_changed(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_pointer_wheel_changed)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_pointer_wheel_changed(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_pointer_wheel_changed)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } + pub fn advise_double_tapped(&self, handler: &ComPtr) -> Result { + unsafe { + let mut subscription_id = 0; + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().advise_double_tapped)(self.as_raw(), handler.as_raw(), &mut subscription_id); + hresult::check(hr).map(|_| subscription_id) + } + } + pub fn unadvise_double_tapped(&self, subscription_id: i64) -> Result<()> { + unsafe { + let hr = ((*self.as_raw()).vtbl.as_ref().unwrap().unadvise_double_tapped)(self.as_raw(), subscription_id); + hresult::check(hr) + } + } pub fn get_children(&self) -> Result> { unsafe { let mut value: *mut IAvnControlList = ptr::null_mut(); diff --git a/rust/avalonia-sys/src/lib.rs b/rust/avalonia-sys/src/lib.rs index d4da92e..5da6788 100644 --- a/rust/avalonia-sys/src/lib.rs +++ b/rust/avalonia-sys/src/lib.rs @@ -21,6 +21,7 @@ mod clipboard; mod com; mod command; mod data_template; +mod dialogs; mod dispatcher; mod echo; mod event_callback; @@ -45,6 +46,7 @@ pub use clipboard::{IAvnApplication4, IAvnClipboardData, IAVN_APPLICATION4_METHO pub use com::{ComInterface, ComPtr, IUnknown}; pub use command::{command, Command}; pub use data_template::{data_template, DataTemplate}; +pub use dialogs::IAvnApplication5; pub use dispatcher::{action, IAvnAction, IAvnDispatcher}; pub use echo::IAvnEcho; pub use factory::IAvnActivationFactory; diff --git a/rust/avalonia-sys/tests/brush_abi.rs b/rust/avalonia-sys/tests/brush_abi.rs index 9cbe452..0df4998 100644 --- a/rust/avalonia-sys/tests/brush_abi.rs +++ b/rust/avalonia-sys/tests/brush_abi.rs @@ -73,18 +73,18 @@ fn chrome_members_publish_brush_pointers_and_geometry_by_value() { #[test] fn chrome_wave_interfaces_publish_abi_version_four() { for expected in [ - "#define I_AVN_BORDER_ABI_VERSION 12", - "#define I_AVN_PANEL_ABI_VERSION 11", - "#define I_AVN_TEMPLATED_CONTROL_ABI_VERSION 12", - "#define I_AVN_TEXT_BLOCK_ABI_VERSION 14", + "#define I_AVN_BORDER_ABI_VERSION 15", + "#define I_AVN_PANEL_ABI_VERSION 14", + "#define I_AVN_TEMPLATED_CONTROL_ABI_VERSION 15", + "#define I_AVN_TEXT_BLOCK_ABI_VERSION 17", // The factory grew create_solid_color_brush at version 2, a creator per wave A control // at version 3, and a creator per constructible wave B type at version 4. "#define I_AVN_CONTROL_FACTORY_ABI_VERSION 13", // Nothing was added to StyledElement, Control or Decorator, and none of their bases // moved, so their flattened vtables are byte-identical to version 3. "#define I_AVN_STYLED_ELEMENT_ABI_VERSION 6", - "#define I_AVN_CONTROL_ABI_VERSION 8", - "#define I_AVN_DECORATOR_ABI_VERSION 10", + "#define I_AVN_CONTROL_ABI_VERSION 11", + "#define I_AVN_DECORATOR_ABI_VERSION 13", "#define I_AVN_AVALONIA_OBJECT_ABI_VERSION 2", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); @@ -129,13 +129,15 @@ fn widened_interfaces_republish_under_fresh_iids() { format_iid(&I_AVN_STYLED_ELEMENT_IID), "383D0620-1A23-575B-B609-391608903CB1" ); + // Wave P grew Control (KeyUp/GotFocus/LostFocus), so Control and Decorator + // republished under fresh IIDs. assert_eq!( format_iid(&I_AVN_CONTROL_IID), - "06D79016-63D8-5035-B293-19969F0BB3C6" + "8B272500-09E4-535F-ABF1-14992E90E778" ); assert_eq!( format_iid(&I_AVN_DECORATOR_IID), - "57E09C6B-A22C-5F01-B65C-E54C3DD55E6C" + "F8530439-ABA5-5B16-9C0B-2132D4EFD205" ); // The brush is a brand new interface, so it starts at version 1 with its own IID. diff --git a/rust/avalonia-sys/tests/control_abi.rs b/rust/avalonia-sys/tests/control_abi.rs index e420356..550b85a 100644 --- a/rust/avalonia-sys/tests/control_abi.rs +++ b/rust/avalonia-sys/tests/control_abi.rs @@ -91,28 +91,28 @@ fn completeness_members_are_published_on_the_type_that_declares_them() { #[test] fn widened_interfaces_publish_abi_version_five() { for expected in [ - "#define I_AVN_CONTENT_CONTROL_ABI_VERSION 13", - "#define I_AVN_HEADERED_CONTENT_CONTROL_ABI_VERSION 13", - "#define I_AVN_EXPANDER_ABI_VERSION 13", - "#define I_AVN_BUTTON_ABI_VERSION 16", - "#define I_AVN_TOGGLE_BUTTON_ABI_VERSION 16", - "#define I_AVN_CHECK_BOX_ABI_VERSION 16", - "#define I_AVN_RADIO_BUTTON_ABI_VERSION 16", - "#define I_AVN_TOGGLE_SWITCH_ABI_VERSION 16", - "#define I_AVN_LIST_BOX_ABI_VERSION 16", - "#define I_AVN_LIST_BOX_ITEM_ABI_VERSION 15", - "#define I_AVN_COMBO_BOX_ABI_VERSION 17", - "#define I_AVN_COMBO_BOX_ITEM_ABI_VERSION 15", - "#define I_AVN_SCROLL_VIEWER_ABI_VERSION 15", - "#define I_AVN_WINDOW_ABI_VERSION 18", - "#define I_AVN_TEMPLATED_CONTROL_ABI_VERSION 12", - "#define I_AVN_TEXT_BLOCK_ABI_VERSION 14", - "#define I_AVN_TEXT_BOX_ABI_VERSION 18", - "#define I_AVN_ITEMS_CONTROL_ABI_VERSION 15", - "#define I_AVN_SELECTING_ITEMS_CONTROL_ABI_VERSION 15", - "#define I_AVN_BORDER_ABI_VERSION 12", - "#define I_AVN_PANEL_ABI_VERSION 11", - "#define I_AVN_CONTROL_ABI_VERSION 8", + "#define I_AVN_CONTENT_CONTROL_ABI_VERSION 16", + "#define I_AVN_HEADERED_CONTENT_CONTROL_ABI_VERSION 16", + "#define I_AVN_EXPANDER_ABI_VERSION 16", + "#define I_AVN_BUTTON_ABI_VERSION 19", + "#define I_AVN_TOGGLE_BUTTON_ABI_VERSION 19", + "#define I_AVN_CHECK_BOX_ABI_VERSION 19", + "#define I_AVN_RADIO_BUTTON_ABI_VERSION 19", + "#define I_AVN_TOGGLE_SWITCH_ABI_VERSION 19", + "#define I_AVN_LIST_BOX_ABI_VERSION 19", + "#define I_AVN_LIST_BOX_ITEM_ABI_VERSION 18", + "#define I_AVN_COMBO_BOX_ABI_VERSION 20", + "#define I_AVN_COMBO_BOX_ITEM_ABI_VERSION 18", + "#define I_AVN_SCROLL_VIEWER_ABI_VERSION 18", + "#define I_AVN_WINDOW_ABI_VERSION 21", + "#define I_AVN_TEMPLATED_CONTROL_ABI_VERSION 15", + "#define I_AVN_TEXT_BLOCK_ABI_VERSION 17", + "#define I_AVN_TEXT_BOX_ABI_VERSION 21", + "#define I_AVN_ITEMS_CONTROL_ABI_VERSION 18", + "#define I_AVN_SELECTING_ITEMS_CONTROL_ABI_VERSION 18", + "#define I_AVN_BORDER_ABI_VERSION 15", + "#define I_AVN_PANEL_ABI_VERSION 14", + "#define I_AVN_CONTROL_ABI_VERSION 11", "#define I_AVN_AVALONIA_OBJECT_ABI_VERSION 2", // The factory gained a creator per wave A control plus get_tool_tip_statics at version // 3, and a creator per constructible wave B type at version 4. @@ -240,32 +240,32 @@ fn widened_interfaces_republish_under_fresh_iids() { for (name, expected, current) in [ ( "IAvnContentControl", - "F3CE3FB2-CD2D-5839-81C7-3DF70C3AD2F5", + "7312A513-1E46-5A98-9507-851220C7A465", I_AVN_CONTENT_CONTROL_IID, ), ( "IAvnButton", - "62D66949-2173-5007-9613-1F4B3E7C144E", + "085861C8-F91D-5AFE-B57A-E601477FC2D2", I_AVN_BUTTON_IID, ), ( "IAvnToggleButton", - "978AD791-8ABE-5494-B9AB-B29937062870", + "AA447DC6-1470-599E-B0F5-27BF313DC7E7", I_AVN_TOGGLE_BUTTON_IID, ), ( "IAvnListBox", - "B5B6A7D1-B302-56BB-93A9-D53237708632", + "FD704B9F-4E33-516E-B48D-B1DC9AA44DCA", I_AVN_LIST_BOX_IID, ), ( "IAvnComboBox", - "86CA773B-56AB-521C-BA29-D2579C59F7F3", + "1DA7FC0F-6D3F-5669-8644-030686AD4FD3", I_AVN_COMBO_BOX_IID, ), ( "IAvnWindow", - "BEAAC3C0-855F-5FC1-9750-80C538F7EE87", + "9A01C107-BB12-5AFE-9DAA-C5AACEF2D879", I_AVN_WINDOW_IID, ), ] { @@ -279,23 +279,23 @@ fn widened_interfaces_republish_under_fresh_iids() { ); assert_eq!( format_iid(&I_AVN_CONTROL_IID), - "06D79016-63D8-5035-B293-19969F0BB3C6" + "8B272500-09E4-535F-ABF1-14992E90E778" ); assert_eq!( format_iid(&I_AVN_BORDER_IID), - "80C1079E-AFDF-5483-A560-2DDB475CF894" + "430F4A36-8B46-5F3C-8E4D-BD11AA522969" ); assert_eq!( format_iid(&I_AVN_PANEL_IID), - "79DAA937-B232-5B99-84FB-E3D64124EDA5" + "FE37643D-BDE5-511B-AB66-CB66B73F685F" ); assert_eq!( format_iid(&I_AVN_TEMPLATED_CONTROL_IID), - "D71DF481-E9FE-5463-BDA3-7C0546C5716A" + "1863F34C-F21F-5977-A305-5939D80CB8C5" ); assert_eq!( format_iid(&I_AVN_TEXT_BLOCK_IID), - "70059000-39BE-58FA-9621-50CB7BBF46B1" + "47E06BD1-10DC-5267-A55F-A5C3BB536285" ); } diff --git a/rust/avalonia-sys/tests/definitions_abi.rs b/rust/avalonia-sys/tests/definitions_abi.rs index 765fab3..ead1a44 100644 --- a/rust/avalonia-sys/tests/definitions_abi.rs +++ b/rust/avalonia-sys/tests/definitions_abi.rs @@ -21,9 +21,10 @@ fn definitions_are_published_as_utf16_string_slots_on_grid() { "*get_row_definitions)(IAvnGrid* self, uint16_t** value)", "*set_row_definitions)(IAvnGrid* self, const uint16_t* value)", // They are appended after the members Grid already published, so no existing slot moved. - "*set_column_spacing)(IAvnGrid* self, double value); /* slot 77 */", - "*get_column_definitions)(IAvnGrid* self, uint16_t** value); /* slot 78 */", - "#define I_AVN_GRID_VTABLE_SLOTS 82", + // (Waves P and Q grew Control above these slots.) + "*set_column_spacing)(IAvnGrid* self, double value); /* slot 92 */", + "*get_column_definitions)(IAvnGrid* self, uint16_t** value); /* slot 93 */", + "#define I_AVN_GRID_VTABLE_SLOTS 97", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); } @@ -46,14 +47,14 @@ fn definitions_are_published_as_utf16_string_slots_on_grid() { #[test] fn only_grid_moved_to_abi_version_five_for_the_definitions() { for expected in [ - "#define I_AVN_GRID_ABI_VERSION 12", + "#define I_AVN_GRID_ABI_VERSION 15", // Grid's base and its sibling panels gained nothing, so their flattened vtables are // byte-identical and they keep the version they already published. - "#define I_AVN_PANEL_ABI_VERSION 11", - "#define I_AVN_CANVAS_ABI_VERSION 11", - "#define I_AVN_DOCK_PANEL_ABI_VERSION 11", - "#define I_AVN_STACK_PANEL_ABI_VERSION 12", - "#define I_AVN_CONTROL_ABI_VERSION 8", + "#define I_AVN_PANEL_ABI_VERSION 14", + "#define I_AVN_CANVAS_ABI_VERSION 14", + "#define I_AVN_DOCK_PANEL_ABI_VERSION 14", + "#define I_AVN_STACK_PANEL_ABI_VERSION 15", + "#define I_AVN_CONTROL_ABI_VERSION 11", "#define I_AVN_AVALONIA_OBJECT_ABI_VERSION 2", // The factory mints no definition object, but wave A gave it a creator per new control // and get_tool_tip_statics and wave B gave it seven more, so it now publishes at @@ -68,7 +69,7 @@ fn only_grid_moved_to_abi_version_five_for_the_definitions() { fn grid_republishes_under_a_fresh_iid_and_never_reuses_a_retired_one() { assert_eq!( format_iid(&I_AVN_GRID_IID), - "55E75D4C-FC75-51A9-BA87-6D28704EAFC8" + "028C589C-2C52-5505-9CD2-36A25B4F43A6" ); // Every IID Grid has ever published is retired for good: reusing one for a longer vtable @@ -78,6 +79,12 @@ fn grid_republishes_under_a_fresh_iid_and_never_reuses_a_retired_one() { "63B055A6-7C40-5F6D-9A36-4430CB8FED95", "B383BDBC-D6E0-500D-AEE5-50363B62912D", "240199CD-F2BD-55CD-BE4D-8DA83F228D71", + // Wave P: the version 12 identity retired when Control grew input events. + "55E75D4C-FC75-51A9-BA87-6D28704EAFC8", + // Wave Q: the version 13 identity retired when Control grew pointer payloads. + "63034BE5-179A-5196-8338-F10785C6DDDD", + // Wave S: the version 14 identity retired when Control grew Focus/Focusable. + "887286EA-8097-52EB-9CEF-FA1DA7828D0F", ] { assert_ne!( format_iid(&I_AVN_GRID_IID), @@ -99,12 +106,12 @@ fn grid_republishes_under_a_fresh_iid_and_never_reuses_a_retired_one() { ), ( "IAvnControl", - "06D79016-63D8-5035-B293-19969F0BB3C6", + "8B272500-09E4-535F-ABF1-14992E90E778", I_AVN_CONTROL_IID, ), ( "IAvnPanel", - "79DAA937-B232-5B99-84FB-E3D64124EDA5", + "FE37643D-BDE5-511B-AB66-CB66B73F685F", I_AVN_PANEL_IID, ), ] { diff --git a/rust/avalonia-sys/tests/layout_abi.rs b/rust/avalonia-sys/tests/layout_abi.rs index 86a86df..40adc03 100644 --- a/rust/avalonia-sys/tests/layout_abi.rs +++ b/rust/avalonia-sys/tests/layout_abi.rs @@ -40,13 +40,13 @@ fn widened_interfaces_publish_their_layout_abi_version() { // Nothing was added to StyledElement, Control or Decorator after the layout wave, so // their flattened vtables — and therefore their version 3 IIDs — still stand. "#define I_AVN_STYLED_ELEMENT_ABI_VERSION 6", - "#define I_AVN_CONTROL_ABI_VERSION 8", - "#define I_AVN_DECORATOR_ABI_VERSION 10", + "#define I_AVN_CONTROL_ABI_VERSION 11", + "#define I_AVN_DECORATOR_ABI_VERSION 13", // Window and Button sit under ContentControl, which the completeness wave widened, // and the window overlay-chrome pass widened the leaf to 8 without disturbing // the content control or factory ABI. - "#define I_AVN_WINDOW_ABI_VERSION 18", - "#define I_AVN_BUTTON_ABI_VERSION 16", + "#define I_AVN_WINDOW_ABI_VERSION 21", + "#define I_AVN_BUTTON_ABI_VERSION 19", // AvaloniaObject projects no members, so its vtable never moved. "#define I_AVN_AVALONIA_OBJECT_ABI_VERSION 2", ] { @@ -96,11 +96,11 @@ fn widened_interfaces_republish_under_fresh_iids() { ); assert_eq!( format_iid(&I_AVN_CONTROL_IID), - "06D79016-63D8-5035-B293-19969F0BB3C6" + "8B272500-09E4-535F-ABF1-14992E90E778" ); assert_eq!( format_iid(&I_AVN_DECORATOR_IID), - "57E09C6B-A22C-5F01-B65C-E54C3DD55E6C" + "F8530439-ABA5-5B16-9C0B-2132D4EFD205" ); // AvaloniaObject gained nothing, so it keeps the IID it published at version 2. diff --git a/rust/avalonia-sys/tests/nativeaot_application.rs b/rust/avalonia-sys/tests/nativeaot_application.rs index 2f2804e..a32f9c1 100644 --- a/rust/avalonia-sys/tests/nativeaot_application.rs +++ b/rust/avalonia-sys/tests/nativeaot_application.rs @@ -1,4 +1,4 @@ -use avalonia_sys::{app_handler, button_click_handler, Error, Host, AVN_E_FIXTURE}; +use avalonia_sys::{app_handler, button_click_handler, Error, Host, AVN_E_FIXTURE}; use libloading::Library; use std::path::PathBuf; use std::sync::atomic::{AtomicBool, Ordering}; diff --git a/rust/avalonia-sys/tests/nativeaot_clipboard.rs b/rust/avalonia-sys/tests/nativeaot_clipboard.rs index 28defb3..6d4d92f 100644 --- a/rust/avalonia-sys/tests/nativeaot_clipboard.rs +++ b/rust/avalonia-sys/tests/nativeaot_clipboard.rs @@ -1,4 +1,4 @@ -//! Raw ABI conformance for the stage 31 clipboard command capability. +//! Raw ABI conformance for the stage 31 clipboard command capability. //! //! These run against the published NativeAOT host and prove that every vtable //! slot of `IAvnApplication4`/`IAvnClipboardData` lines up between the managed diff --git a/rust/avalonia-sys/tests/nativeaot_desktop_files.rs b/rust/avalonia-sys/tests/nativeaot_desktop_files.rs index 5fd82a6..32419c6 100644 --- a/rust/avalonia-sys/tests/nativeaot_desktop_files.rs +++ b/rust/avalonia-sys/tests/nativeaot_desktop_files.rs @@ -1,4 +1,4 @@ -//! Raw ABI conformance for the stage 29 desktop file integration capability. +//! Raw ABI conformance for the stage 29 desktop file integration capability. //! //! These run against the published NativeAOT host and prove that every vtable //! slot of the new, separately versioned interfaces lines up between the diff --git a/rust/avalonia-sys/tests/nativeaot_fixture.rs b/rust/avalonia-sys/tests/nativeaot_fixture.rs index 1117d85..34dabee 100644 --- a/rust/avalonia-sys/tests/nativeaot_fixture.rs +++ b/rust/avalonia-sys/tests/nativeaot_fixture.rs @@ -1,4 +1,4 @@ -use avalonia_sys::{ComPtr, Host, IUnknown, AVN_E_FIXTURE, E_NOINTERFACE}; +use avalonia_sys::{ComPtr, Host, IUnknown, AVN_E_FIXTURE, E_NOINTERFACE}; use libloading::Library; use std::ffi::c_void; use std::path::PathBuf; diff --git a/rust/avalonia-sys/tests/wave_a_abi.rs b/rust/avalonia-sys/tests/wave_a_abi.rs index db642bb..41c9a4f 100644 --- a/rust/avalonia-sys/tests/wave_a_abi.rs +++ b/rust/avalonia-sys/tests/wave_a_abi.rs @@ -26,7 +26,7 @@ fn image_source_is_published_as_a_utf16_string_slot() { "*set_stretch)(IAvnImage* self, int32_t value)", "*set_stretch_direction)(IAvnImage* self, int32_t value)", "*set_blend_mode)(IAvnImage* self, int32_t value)", - "#define I_AVN_IMAGE_ABI_VERSION 8", + "#define I_AVN_IMAGE_ABI_VERSION 11", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); } @@ -63,21 +63,21 @@ fn tool_tip_tip_is_a_string_attached_property_beside_the_scalar_ones() { #[test] fn wave_a_interfaces_publish_abi_version_one_and_nothing_else_moved() { for expected in [ - "#define I_AVN_IMAGE_ABI_VERSION 8", - "#define I_AVN_HEADERED_ITEMS_CONTROL_ABI_VERSION 12", - "#define I_AVN_TAB_CONTROL_ABI_VERSION 12", - "#define I_AVN_TAB_ITEM_ABI_VERSION 11", - "#define I_AVN_TREE_VIEW_ABI_VERSION 12", - "#define I_AVN_TREE_VIEW_ITEM_ABI_VERSION 12", - "#define I_AVN_TOOL_TIP_ABI_VERSION 9", + "#define I_AVN_IMAGE_ABI_VERSION 11", + "#define I_AVN_HEADERED_ITEMS_CONTROL_ABI_VERSION 15", + "#define I_AVN_TAB_CONTROL_ABI_VERSION 15", + "#define I_AVN_TAB_ITEM_ABI_VERSION 14", + "#define I_AVN_TREE_VIEW_ABI_VERSION 15", + "#define I_AVN_TREE_VIEW_ITEM_ABI_VERSION 15", + "#define I_AVN_TOOL_TIP_ABI_VERSION 12", // Every base the new interfaces sit on kept the version whose flattened vtable it // still matches, so no shipped consumer has to requery anything but the factory. "#define I_AVN_AVALONIA_OBJECT_ABI_VERSION 2", - "#define I_AVN_CONTROL_ABI_VERSION 8", - "#define I_AVN_ITEMS_CONTROL_ABI_VERSION 15", - "#define I_AVN_SELECTING_ITEMS_CONTROL_ABI_VERSION 15", - "#define I_AVN_CONTENT_CONTROL_ABI_VERSION 13", - "#define I_AVN_HEADERED_CONTENT_CONTROL_ABI_VERSION 13", + "#define I_AVN_CONTROL_ABI_VERSION 11", + "#define I_AVN_ITEMS_CONTROL_ABI_VERSION 18", + "#define I_AVN_SELECTING_ITEMS_CONTROL_ABI_VERSION 18", + "#define I_AVN_CONTENT_CONTROL_ABI_VERSION 16", + "#define I_AVN_HEADERED_CONTENT_CONTROL_ABI_VERSION 16", // Only the factory grew slots. Wave B moved it again, from 3 to 4, for its own // creators; every wave A interface still publishes at version 1. "#define I_AVN_CONTROL_FACTORY_ABI_VERSION 13", @@ -98,27 +98,27 @@ fn wave_a_iids_are_fresh_and_distinct_from_every_shipped_one() { ), ( "IAvnControl", - "06D79016-63D8-5035-B293-19969F0BB3C6", + "8B272500-09E4-535F-ABF1-14992E90E778", I_AVN_CONTROL_IID, ), ( "IAvnItemsControl", - "D985D274-6EFC-5423-B74F-7A73133992FC", + "C6061984-593E-5875-8956-4B5C4B6D886C", I_AVN_ITEMS_CONTROL_IID, ), ( "IAvnSelectingItemsControl", - "B2D5F624-DE4C-5278-977F-9EB764DD6B2F", + "BF3CA6E3-C054-5059-AFE7-20E38D9B9DE8", I_AVN_SELECTING_ITEMS_CONTROL_IID, ), ( "IAvnContentControl", - "F3CE3FB2-CD2D-5839-81C7-3DF70C3AD2F5", + "7312A513-1E46-5A98-9507-851220C7A465", I_AVN_CONTENT_CONTROL_IID, ), ( "IAvnHeaderedContentControl", - "326C8A38-FA42-51F4-9041-E7FD0FFFB696", + "0408F0EA-5BA0-54C6-A8E6-979328FBE88C", I_AVN_HEADERED_CONTENT_CONTROL_IID, ), ] { diff --git a/rust/avalonia-sys/tests/wave_b_abi.rs b/rust/avalonia-sys/tests/wave_b_abi.rs index b6bf2ed..641f569 100644 --- a/rust/avalonia-sys/tests/wave_b_abi.rs +++ b/rust/avalonia-sys/tests/wave_b_abi.rs @@ -175,21 +175,21 @@ fn wave_b_interfaces_publish_abi_version_one_and_nothing_else_moved() { "#define I_AVN_FLYOUT_BASE_ABI_VERSION 1", "#define I_AVN_POPUP_FLYOUT_BASE_ABI_VERSION 6", "#define I_AVN_FLYOUT_ABI_VERSION 4", - "#define I_AVN_MENU_BASE_ABI_VERSION 12", - "#define I_AVN_MENU_ABI_VERSION 12", - "#define I_AVN_MENU_ITEM_ABI_VERSION 15", - "#define I_AVN_HEADERED_SELECTING_ITEMS_CONTROL_ABI_VERSION 12", - "#define I_AVN_SPLIT_VIEW_ABI_VERSION 9", - "#define I_AVN_DATE_PICKER_ABI_VERSION 11", - "#define I_AVN_TIME_PICKER_ABI_VERSION 11", + "#define I_AVN_MENU_BASE_ABI_VERSION 15", + "#define I_AVN_MENU_ABI_VERSION 15", + "#define I_AVN_MENU_ITEM_ABI_VERSION 18", + "#define I_AVN_HEADERED_SELECTING_ITEMS_CONTROL_ABI_VERSION 15", + "#define I_AVN_SPLIT_VIEW_ABI_VERSION 12", + "#define I_AVN_DATE_PICKER_ABI_VERSION 14", + "#define I_AVN_TIME_PICKER_ABI_VERSION 14", "#define I_AVN_AVALONIA_OBJECT_ABI_VERSION 2", - "#define I_AVN_CONTROL_ABI_VERSION 8", - "#define I_AVN_ITEMS_CONTROL_ABI_VERSION 15", - "#define I_AVN_SELECTING_ITEMS_CONTROL_ABI_VERSION 15", - "#define I_AVN_TEMPLATED_CONTROL_ABI_VERSION 12", - "#define I_AVN_CONTENT_CONTROL_ABI_VERSION 13", - "#define I_AVN_HEADERED_ITEMS_CONTROL_ABI_VERSION 12", - "#define I_AVN_TREE_VIEW_ABI_VERSION 12", + "#define I_AVN_CONTROL_ABI_VERSION 11", + "#define I_AVN_ITEMS_CONTROL_ABI_VERSION 18", + "#define I_AVN_SELECTING_ITEMS_CONTROL_ABI_VERSION 18", + "#define I_AVN_TEMPLATED_CONTROL_ABI_VERSION 15", + "#define I_AVN_CONTENT_CONTROL_ABI_VERSION 16", + "#define I_AVN_HEADERED_ITEMS_CONTROL_ABI_VERSION 15", + "#define I_AVN_TREE_VIEW_ABI_VERSION 15", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); } @@ -208,22 +208,22 @@ fn wave_b_iids_are_fresh_and_distinct_from_every_shipped_one() { ), ( "IAvnControl", - "06D79016-63D8-5035-B293-19969F0BB3C6", + "8B272500-09E4-535F-ABF1-14992E90E778", I_AVN_CONTROL_IID, ), ( "IAvnItemsControl", - "D985D274-6EFC-5423-B74F-7A73133992FC", + "C6061984-593E-5875-8956-4B5C4B6D886C", I_AVN_ITEMS_CONTROL_IID, ), ( "IAvnSelectingItemsControl", - "B2D5F624-DE4C-5278-977F-9EB764DD6B2F", + "BF3CA6E3-C054-5059-AFE7-20E38D9B9DE8", I_AVN_SELECTING_ITEMS_CONTROL_IID, ), ( "IAvnContentControl", - "F3CE3FB2-CD2D-5839-81C7-3DF70C3AD2F5", + "7312A513-1E46-5A98-9507-851220C7A465", I_AVN_CONTENT_CONTROL_IID, ), ] { diff --git a/rust/avalonia-sys/tests/wave_c_abi.rs b/rust/avalonia-sys/tests/wave_c_abi.rs index aec1352..4517085 100644 --- a/rust/avalonia-sys/tests/wave_c_abi.rs +++ b/rust/avalonia-sys/tests/wave_c_abi.rs @@ -23,7 +23,7 @@ fn wrap_panel_carries_spacing_orientation_and_item_size() { "*set_items_alignment)(IAvnWrapPanel* self, int32_t value)", "*set_item_width)(IAvnWrapPanel* self, double value)", "*set_item_height)(IAvnWrapPanel* self, double value)", - "#define I_AVN_WRAP_PANEL_ABI_VERSION 8", + "#define I_AVN_WRAP_PANEL_ABI_VERSION 11", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); } @@ -87,18 +87,18 @@ fn viewbox_child_is_a_control_and_grid_splitter_sits_on_thumb() { #[test] fn wave_c_interfaces_publish_abi_version_one_and_nothing_else_moved() { for expected in [ - "#define I_AVN_WRAP_PANEL_ABI_VERSION 8", - "#define I_AVN_UNIFORM_GRID_ABI_VERSION 8", - "#define I_AVN_RELATIVE_PANEL_ABI_VERSION 8", - "#define I_AVN_VIEWBOX_ABI_VERSION 8", - "#define I_AVN_FLEX_PANEL_ABI_VERSION 8", - "#define I_AVN_THUMB_ABI_VERSION 10", - "#define I_AVN_GRID_SPLITTER_ABI_VERSION 10", + "#define I_AVN_WRAP_PANEL_ABI_VERSION 11", + "#define I_AVN_UNIFORM_GRID_ABI_VERSION 11", + "#define I_AVN_RELATIVE_PANEL_ABI_VERSION 11", + "#define I_AVN_VIEWBOX_ABI_VERSION 11", + "#define I_AVN_FLEX_PANEL_ABI_VERSION 11", + "#define I_AVN_THUMB_ABI_VERSION 13", + "#define I_AVN_GRID_SPLITTER_ABI_VERSION 13", "#define I_AVN_AVALONIA_OBJECT_ABI_VERSION 2", - "#define I_AVN_CONTROL_ABI_VERSION 8", - "#define I_AVN_PANEL_ABI_VERSION 11", - "#define I_AVN_TEMPLATED_CONTROL_ABI_VERSION 12", - "#define I_AVN_CONTENT_CONTROL_ABI_VERSION 13", + "#define I_AVN_CONTROL_ABI_VERSION 11", + "#define I_AVN_PANEL_ABI_VERSION 14", + "#define I_AVN_TEMPLATED_CONTROL_ABI_VERSION 15", + "#define I_AVN_CONTENT_CONTROL_ABI_VERSION 16", "#define I_AVN_FLYOUT_ABI_VERSION 4", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); diff --git a/rust/avalonia-sys/tests/wave_d_abi.rs b/rust/avalonia-sys/tests/wave_d_abi.rs index 1fe1a1e..1a71b68 100644 --- a/rust/avalonia-sys/tests/wave_d_abi.rs +++ b/rust/avalonia-sys/tests/wave_d_abi.rs @@ -13,9 +13,9 @@ fn repeat_button_and_hyperlink_are_buttons() { "*set_is_visited)(IAvnHyperlinkButton* self, int32_t value)", "*get_navigate_uri)(IAvnHyperlinkButton* self, uint16_t** value)", "*set_navigate_uri)(IAvnHyperlinkButton* self, const uint16_t* value)", - "#define I_AVN_REPEAT_BUTTON_ABI_VERSION 11", - "#define I_AVN_HYPERLINK_BUTTON_ABI_VERSION 11", - "#define I_AVN_DROP_DOWN_BUTTON_ABI_VERSION 11", + "#define I_AVN_REPEAT_BUTTON_ABI_VERSION 14", + "#define I_AVN_HYPERLINK_BUTTON_ABI_VERSION 14", + "#define I_AVN_DROP_DOWN_BUTTON_ABI_VERSION 14", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); } @@ -34,8 +34,8 @@ fn split_button_carries_click_and_command() { "*create_toggle_split_button)(IAvnControlFactory* self, IAvnToggleSplitButton** value)", "*create_context_menu)(IAvnControlFactory* self, IAvnContextMenu** value)", "*create_menu_flyout)(IAvnControlFactory* self, IAvnMenuFlyout** value)", - "#define I_AVN_SPLIT_BUTTON_ABI_VERSION 12", - "#define I_AVN_TOGGLE_SPLIT_BUTTON_ABI_VERSION 12", + "#define I_AVN_SPLIT_BUTTON_ABI_VERSION 15", + "#define I_AVN_TOGGLE_SPLIT_BUTTON_ABI_VERSION 15", "#define I_AVN_CONTROL_FACTORY_ABI_VERSION 13", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); @@ -49,8 +49,8 @@ fn menu_flyout_items_use_the_existing_item_list() { "*set_placement)(IAvnContextMenu* self, int32_t value)", "*set_horizontal_offset)(IAvnContextMenu* self, double value)", "#define I_AVN_MENU_FLYOUT_ABI_VERSION 5", - "#define I_AVN_CONTEXT_MENU_ABI_VERSION 15", - "#define I_AVN_BUTTON_ABI_VERSION 16", + "#define I_AVN_CONTEXT_MENU_ABI_VERSION 18", + "#define I_AVN_BUTTON_ABI_VERSION 19", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); } diff --git a/rust/avalonia-sys/tests/wave_e_abi.rs b/rust/avalonia-sys/tests/wave_e_abi.rs index c52f85f..cbba856 100644 --- a/rust/avalonia-sys/tests/wave_e_abi.rs +++ b/rust/avalonia-sys/tests/wave_e_abi.rs @@ -10,7 +10,7 @@ fn numeric_up_down_decimals_are_utf16_strings() { "*set_minimum)(IAvnNumericUpDown* self, const uint16_t* value)", "*set_increment)(IAvnNumericUpDown* self, const uint16_t* value)", "*create_numeric_up_down)(IAvnControlFactory* self, IAvnNumericUpDown** value)", - "#define I_AVN_NUMERIC_UP_DOWN_ABI_VERSION 10", + "#define I_AVN_NUMERIC_UP_DOWN_ABI_VERSION 13", "#define I_AVN_CONTROL_FACTORY_ABI_VERSION 13", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); @@ -27,9 +27,9 @@ fn remaining_input_controls_publish_at_version_one() { "*set_allow_spin)(IAvnButtonSpinner* self, int32_t value)", "*create_button_spinner)(IAvnControlFactory* self, IAvnButtonSpinner** value)", "*create_auto_complete_box)(IAvnControlFactory* self, IAvnAutoCompleteBox** value)", - "#define I_AVN_SPINNER_ABI_VERSION 9", - "#define I_AVN_MASKED_TEXT_BOX_ABI_VERSION 15", - "#define I_AVN_SELECTABLE_TEXT_BLOCK_ABI_VERSION 11", + "#define I_AVN_SPINNER_ABI_VERSION 12", + "#define I_AVN_MASKED_TEXT_BOX_ABI_VERSION 18", + "#define I_AVN_SELECTABLE_TEXT_BLOCK_ABI_VERSION 14", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); } diff --git a/rust/avalonia-sys/tests/wave_f_abi.rs b/rust/avalonia-sys/tests/wave_f_abi.rs index 3a808fb..f1b4ab7 100644 --- a/rust/avalonia-sys/tests/wave_f_abi.rs +++ b/rust/avalonia-sys/tests/wave_f_abi.rs @@ -11,8 +11,8 @@ fn calendar_days_are_yyyy_mm_dd_strings() { "*set_display_mode)(IAvnCalendar* self, int32_t value)", "*create_calendar)(IAvnControlFactory* self, IAvnCalendar** value)", "*create_calendar_date_picker)(IAvnControlFactory* self, IAvnCalendarDatePicker** value)", - "#define I_AVN_CALENDAR_ABI_VERSION 12", - "#define I_AVN_CALENDAR_DATE_PICKER_ABI_VERSION 11", + "#define I_AVN_CALENDAR_ABI_VERSION 15", + "#define I_AVN_CALENDAR_DATE_PICKER_ABI_VERSION 14", "#define I_AVN_CONTROL_FACTORY_ABI_VERSION 13", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); diff --git a/rust/avalonia-sys/tests/wave_g_abi.rs b/rust/avalonia-sys/tests/wave_g_abi.rs index 1c2fd75..3b2dcc7 100644 --- a/rust/avalonia-sys/tests/wave_g_abi.rs +++ b/rust/avalonia-sys/tests/wave_g_abi.rs @@ -13,11 +13,11 @@ fn content_chrome_publishes_at_version_one() { "*create_carousel)(IAvnControlFactory* self, IAvnCarousel** value)", "*set_target)(IAvnLabel* self, IAvnControl* value)", "*create_label)(IAvnControlFactory* self, IAvnLabel** value)", - "#define I_AVN_LABEL_ABI_VERSION 10", + "#define I_AVN_LABEL_ABI_VERSION 13", "*create_separator)(IAvnControlFactory* self, IAvnSeparator** value)", "*create_group_box)(IAvnControlFactory* self, IAvnGroupBox** value)", "*create_user_control)(IAvnControlFactory* self, IAvnUserControl** value)", - "#define I_AVN_CAROUSEL_ABI_VERSION 13", + "#define I_AVN_CAROUSEL_ABI_VERSION 16", "#define I_AVN_CONTROL_FACTORY_ABI_VERSION 13", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); diff --git a/rust/avalonia-sys/tests/wave_h_abi.rs b/rust/avalonia-sys/tests/wave_h_abi.rs index 6080d41..a5d1d24 100644 --- a/rust/avalonia-sys/tests/wave_h_abi.rs +++ b/rust/avalonia-sys/tests/wave_h_abi.rs @@ -16,7 +16,7 @@ fn shapes_carry_brushes_points_and_path_data() { "*create_ellipse)(IAvnControlFactory* self, IAvnEllipse** value)", "*create_line)(IAvnControlFactory* self, IAvnLine** value)", "*create_path)(IAvnControlFactory* self, IAvnPath** value)", - "#define I_AVN_SHAPE_ABI_VERSION 8", + "#define I_AVN_SHAPE_ABI_VERSION 11", "#define I_AVN_CONTROL_FACTORY_ABI_VERSION 13", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); diff --git a/rust/avalonia-sys/tests/wave_i_abi.rs b/rust/avalonia-sys/tests/wave_i_abi.rs index 9a6ea53..870f1bc 100644 --- a/rust/avalonia-sys/tests/wave_i_abi.rs +++ b/rust/avalonia-sys/tests/wave_i_abi.rs @@ -20,7 +20,7 @@ fn overlay_controls_publish_at_version_one() { "*set_pull_direction)(IAvnRefreshContainer* self, int32_t value)", "*create_popup)(IAvnControlFactory* self, IAvnPopup** value)", "*create_tray_icon)(IAvnControlFactory* self, IAvnTrayIcon** value)", - "#define I_AVN_POPUP_ABI_VERSION 8", + "#define I_AVN_POPUP_ABI_VERSION 11", "#define I_AVN_TRAY_ICON_ABI_VERSION 3", "#define I_AVN_CONTROL_FACTORY_ABI_VERSION 13", ] { diff --git a/rust/avalonia-sys/tests/wave_j_abi.rs b/rust/avalonia-sys/tests/wave_j_abi.rs index 64f7a65..2aadd0f 100644 --- a/rust/avalonia-sys/tests/wave_j_abi.rs +++ b/rust/avalonia-sys/tests/wave_j_abi.rs @@ -13,8 +13,8 @@ fn command_bar_family_publishes_at_version_one() { "*set_primary_commands)(IAvnCommandBar* self, IAvnControlList* value)", "*create_pips_pager)(IAvnControlFactory* self, IAvnPipsPager** value)", "*create_theme_variant_scope)(IAvnControlFactory* self, IAvnThemeVariantScope** value)", - "#define I_AVN_COMMAND_BAR_ABI_VERSION 12", - "#define I_AVN_PIPS_PAGER_ABI_VERSION 10", + "#define I_AVN_COMMAND_BAR_ABI_VERSION 15", + "#define I_AVN_PIPS_PAGER_ABI_VERSION 13", "#define I_AVN_CONTROL_FACTORY_ABI_VERSION 13", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); diff --git a/rust/avalonia-sys/tests/wave_k_abi.rs b/rust/avalonia-sys/tests/wave_k_abi.rs index db3e055..39d5acd 100644 --- a/rust/avalonia-sys/tests/wave_k_abi.rs +++ b/rust/avalonia-sys/tests/wave_k_abi.rs @@ -11,8 +11,8 @@ fn icons_and_table_view_publish_at_version_one() { "*create_path_icon)(IAvnControlFactory* self, IAvnPathIcon** value)", "*create_table_view)(IAvnControlFactory* self, IAvnTableView** value)", "*create_table_view_column)(IAvnControlFactory* self, IAvnTableViewColumn** value)", - "#define I_AVN_PATH_ICON_ABI_VERSION 9", - "#define I_AVN_TABLE_VIEW_ABI_VERSION 13", + "#define I_AVN_PATH_ICON_ABI_VERSION 12", + "#define I_AVN_TABLE_VIEW_ABI_VERSION 16", "#define I_AVN_CONTROL_FACTORY_ABI_VERSION 13", ] { assert!(HEADER.contains(expected), "header is missing `{expected}`"); diff --git a/rust/avalonia/examples/imperative_counter.rs b/rust/avalonia/examples/imperative_counter.rs new file mode 100644 index 0000000..a9f3c18 --- /dev/null +++ b/rust/avalonia/examples/imperative_counter.rs @@ -0,0 +1,275 @@ +//! Counter sample built entirely through the imperative generated bindings: +//! no AXAML, no compiled presentation, no view-model IR. +//! +//! Run with a packaged host next to the executable, or point +//! `AVN_HOST_NATIVE_LIB` at a published `Avalonia.Host` native library. + +use std::sync::atomic::{AtomicI32, Ordering}; +use std::sync::Arc; + +use avalonia::{ + App, AppScope, Border, Brush, Button, Color, HorizontalAlignment, ListBox, NavigationMethod, + NumericUpDown, Orientation, Result, Slider, StackPanel, TextBlock, TextBox, Thickness, Window, +}; + +fn main() -> Result<()> { + App::load_from_env()?.run(build_ui) +} + +fn build_ui(scope: &AppScope) -> Result<()> { + let count = Arc::new(AtomicI32::new(0)); + + let heading = TextBlock::new()? + .text("Rustolonia, imperatively")? + .font_size(20.0)? + .margin(Thickness::new(12.0, 12.0, 12.0, 0.0))?; + + let count_label = TextBlock::new()? + .text("0")? + .font_size(40.0)? + .horizontal_alignment(HorizontalAlignment::Center)? + .margin(Thickness::uniform(8.0))?; + + let log = ListBox::new()? + .margin(Thickness::symmetric(12.0, 8.0))? + .height(160.0)?; + + // Wave P payload: the selection-changed args interface carries the + // added/removed item lists across the ABI. + let selection_label = TextBlock::new()? + .text("Selection: none")? + .margin(Thickness::symmetric(12.0, 0.0))?; + let log = log.on_selection_changed(scope, { + let selection_label = selection_label.clone(); + move |args| { + let added = args.added_items_count().unwrap_or(0); + let removed = args.removed_items_count().unwrap_or(0); + let _ = selection_label + .set_text(format!("Selection: +{added} item(s), -{removed} item(s)")); + } + })?; + + // Wave P payload: RangeBase.ValueChanged carries the old/new pair as fields. + let slider_label = TextBlock::new()? + .text("Slider: 0")? + .margin(Thickness::symmetric(12.0, 0.0))?; + let slider = Slider::new()? + .margin(Thickness::symmetric(12.0, 4.0))? + .minimum(0.0)? + .maximum(100.0)? + .value(0.0)? + .on_value_changed(scope, { + let slider_label = slider_label.clone(); + move |args| { + let _ = slider_label.set_text(format!("Slider: {:.0}", args.new_value)); + } + })?; + + // Wave Q payload: the wheel event carries its Vector delta across the ABI. + let wheel_label = TextBlock::new()? + .text("Wheel: -")? + .margin(Thickness::symmetric(12.0, 0.0))?; + let wheel_zone = Border::new()? + .margin(Thickness::symmetric(12.0, 4.0))? + .padding(Thickness::uniform(6.0))? + .background(Brush::solid(Color::new(255, 230, 235, 240)))? + .child(Some( + &TextBlock::new()?.text("Hover here and scroll the wheel")?, + ))?; + let wheel_zone = wheel_zone.on_pointer_wheel_changed(scope, { + let wheel_label = wheel_label.clone(); + move |args| { + let _ = + wheel_label.set_text(format!("Wheel: ({:.0}, {:.0})", args.delta.x, args.delta.y)); + } + })?; + + // Wave R payload: NumericUpDown.ValueChanged carries the old/new decimal pair as + // invariant strings across the ABI. + let numeric_label = TextBlock::new()? + .text("Number: -")? + .margin(Thickness::symmetric(12.0, 0.0))?; + let numeric = NumericUpDown::new()? + .margin(Thickness::symmetric(12.0, 4.0))? + .minimum("0")? + .maximum("10")? + .increment("0.5")? + .value("1.5")? + .on_value_changed(scope, { + let numeric_label = numeric_label.clone(); + move |args| { + let _ = numeric_label.set_text(format!( + "Number: {} -> {}", + args.old_value.as_deref().unwrap_or("∅"), + args.new_value.as_deref().unwrap_or("∅") + )); + } + })?; + + // Wave T: modal dialog activation — a dialog window opens modally over the main + // window, returns its result through the shared async operation, and reports it. + let dialog_label = TextBlock::new()? + .text("Dialog: -")? + .margin(Thickness::symmetric(12.0, 0.0))?; + let ask = Button::new()? + .content(Some(&TextBlock::new()?.text("Ask")?))? + .margin(Thickness::uniform(4.0))? + .on_click(scope, { + let scope = scope.clone(); + let dialog_label = dialog_label.clone(); + move |_| { + let Some(owner) = scope.main_window() else { + return; + }; + let dialog = match Window::new().and_then(|d| { + let d = d.title("Question")?.width(260.0)?.height(120.0)?; + let text = TextBlock::new()? + .text("Accept or decline?")? + .horizontal_alignment(HorizontalAlignment::Center)? + .margin(Thickness::uniform(12.0))?; + let accept = Button::new()? + .content(Some(&TextBlock::new()?.text("Accept")?))? + .margin(Thickness::uniform(4.0))?; + let decline = Button::new()? + .content(Some(&TextBlock::new()?.text("Decline")?))? + .margin(Thickness::uniform(4.0))?; + let buttons = StackPanel::new()? + .orientation(Orientation::Horizontal)? + .horizontal_alignment(HorizontalAlignment::Center)?; + buttons.children()?.add(accept.clone())?; + buttons.children()?.add(decline.clone())?; + let root = StackPanel::new()?.orientation(Orientation::Vertical)?; + root.children()?.add(text)?; + root.children()?.add(buttons)?; + d.set_content(Some(&root))?; + accept.on_click(&scope, { + let d = d.clone(); + move |_| { + let _ = d.close_with_object("accepted"); + } + })?; + decline.on_click(&scope, { + let d = d.clone(); + move |_| { + let _ = d.close_with_object("declined"); + } + })?; + Ok(d) + }) { + Ok(d) => d, + Err(_) => return, + }; + if let Ok(operation) = scope.show_dialog(&owner, &dialog) { + let dialog_label = dialog_label.clone(); + let _ = scope.spawn(async move { + let result = operation.await.unwrap_or(None); + let _ = dialog_label + .set_text(format!("Dialog: {}", result.as_deref().unwrap_or("(none)"))); + }); + } + } + })?; + let dialog_row = StackPanel::new()? + .orientation(Orientation::Horizontal)? + .horizontal_alignment(HorizontalAlignment::Center)?; + dialog_row.children()?.add(ask)?; + + let increment = Button::new()? + .content(Some(&TextBlock::new()?.text("Increment")?))? + .margin(Thickness::uniform(4.0))? + .on_click(scope, { + let count = Arc::clone(&count); + let count_label = count_label.clone(); + let log = log.clone(); + move |_| { + let value = count.fetch_add(1, Ordering::Relaxed) + 1; + let _ = count_label.set_text(value.to_string()); + if let Ok(row) = TextBlock::new().and_then(|row| row.text(format!("Count {value}"))) + { + if let Ok(items) = log.items() { + let _ = items.add(row); + } + } + } + })?; + + let reset = Button::new()? + .content(Some(&TextBlock::new()?.text("Reset")?))? + .margin(Thickness::uniform(4.0))? + .on_click(scope, { + let count = Arc::clone(&count); + let count_label = count_label.clone(); + let log = log.clone(); + move |_| { + count.store(0, Ordering::Relaxed); + let _ = count_label.set_text("0"); + if let Ok(items) = log.items() { + let _ = items.clear(); + } + } + })?; + + let buttons = StackPanel::new()? + .orientation(Orientation::Horizontal)? + .horizontal_alignment(HorizontalAlignment::Center)?; + buttons.children()?.add(increment)?; + buttons.children()?.add(reset)?; + + let echo = TextBlock::new()?.margin(Thickness::symmetric(12.0, 4.0))?; + echo.set_text("Echo: ")?; + + let input = TextBox::new()? + .margin(Thickness::symmetric(12.0, 4.0))? + .placeholder_text("Type here")?; + let input_reader = input.clone(); + let input = input.on_text_changed(scope, { + let echo = echo.clone(); + move |_| { + let text = input_reader + .get_text() + .unwrap_or_default() + .unwrap_or_default(); + let _ = echo.set_text(format!("Echo: {text}")); + } + })?; + let focus_target = input.clone(); + + let root = StackPanel::new()? + .orientation(Orientation::Vertical)? + .spacing(4.0)?; + root.set_background(Brush::solid(Color::new(255, 245, 245, 250)))?; + // Wave S: input focus is consumable from Rust — the window focuses the text box once + // the tree attaches and reports whether the call took. + let focus_label = TextBlock::new()? + .text("Focus: -")? + .margin(Thickness::symmetric(12.0, 0.0))?; + let children = root.children()?; + children.add(heading)?; + children.add(count_label)?; + children.add(buttons)?; + children.add(input)?; + children.add(echo)?; + children.add(slider)?; + children.add(slider_label)?; + children.add(wheel_zone)?; + children.add(wheel_label)?; + children.add(numeric)?; + children.add(numeric_label)?; + children.add(dialog_row)?; + children.add(dialog_label)?; + children.add(focus_label.clone())?; + children.add(log)?; + children.add(selection_label)?; + + let window = Window::new()? + .title("Imperative counter")? + .width(420.0)? + .height(720.0)?; + window.set_content(Some(&root))?; + scope.mount(window)?; + let took = focus_target + .focus_with_navigation_method_and_key_modifiers(NavigationMethod::Pointer as i32, 0) + .unwrap_or(false); + focus_label.set_text(format!("Focus: {took}"))?; + Ok(()) +} diff --git a/rust/avalonia/src/.avalonia-bindgen.owned.json b/rust/avalonia/src/.avalonia-bindgen.owned.json index 3462b37..da09294 100644 --- a/rust/avalonia/src/.avalonia-bindgen.owned.json +++ b/rust/avalonia/src/.avalonia-bindgen.owned.json @@ -3,7 +3,7 @@ "files": [ { "path": "generated.rs", - "sha256": "3643b834ab6d191e860b0ea1cfe32f5707e12152f1eb354169d54040ea675585" + "sha256": "b120c2c8d67b750704a9a5724e9cfcb784875021ae17b8963e127fa54dee55c9" } ] } diff --git a/rust/avalonia/src/generated.rs b/rust/avalonia/src/generated.rs index 543d959..8e7bb20 100644 --- a/rust/avalonia/src/generated.rs +++ b/rust/avalonia/src/generated.rs @@ -1802,6 +1802,28 @@ pub mod key_modifiers { pub const META: i32 = 8; } +#[repr(i32)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum NavigationMethod { + Unspecified = 0, + Tab = 1, + Directional = 2, + Pointer = 3, +} + +impl TryFrom for NavigationMethod { + type Error = crate::Error; + fn try_from(value: i32) -> Result { + match value { + 0 => Ok(Self::Unspecified), + 1 => Ok(Self::Tab), + 2 => Ok(Self::Directional), + 3 => Ok(Self::Pointer), + _ => Err(crate::Error::InvalidEnumValue(value)), + } + } +} + #[repr(i32)] #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum PhysicalKey { @@ -2617,12 +2639,21 @@ pub use sys::IAvnCalendarDatePickerSelectedDateChangedArgs; pub use sys::ContextMenuOpeningEventArgs; pub use sys::ContextMenuClosingEventArgs; pub use sys::ControlSizeChangedEventArgs; +pub use sys::ControlGotFocusEventArgs; pub use sys::ControlKeyDownEventArgs; +pub use sys::ControlKeyUpEventArgs; +pub use sys::ControlPointerEnteredEventArgs; +pub use sys::ControlPointerExitedEventArgs; +pub use sys::ControlPointerWheelChangedEventArgs; +pub use sys::ControlTappedEventArgs; pub use sys::DatePickerSelectedDateChangedEventArgs; pub use sys::ExpanderCollapsingEventArgs; pub use sys::ExpanderExpandingEventArgs; pub use sys::NumericUpDownSpinnedEventArgs; +pub use sys::NumericUpDownValueChangedEventArgs; pub use sys::PopupFlyoutBaseClosingEventArgs; +pub use sys::RangeBaseValueChangedEventArgs; +pub use sys::IAvnSelectingItemsControlSelectionChangedArgs; pub use sys::ThumbDragStartedEventArgs; pub use sys::ThumbDragDeltaEventArgs; pub use sys::ThumbDragCompletedEventArgs; @@ -2631,6 +2662,7 @@ pub use sys::SplitViewPaneClosingEventArgs; pub use sys::SplitViewPaneOpeningEventArgs; pub use sys::TimePickerSelectedTimeChangedEventArgs; pub use sys::TransitioningContentControlTransitionCompletedEventArgs; +pub use sys::IAvnTreeViewSelectionChangedArgs; pub use sys::WindowClosingEventArgs; #[derive(Clone, Debug)] @@ -3045,6 +3077,14 @@ impl AutoCompleteBox { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -3053,6 +3093,7 @@ impl AutoCompleteBox { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -3090,6 +3131,30 @@ impl AutoCompleteBox { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -3101,32 +3166,74 @@ impl AutoCompleteBox { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -3844,6 +3951,14 @@ impl Border { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -3852,6 +3967,7 @@ impl Border { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -3889,6 +4005,30 @@ impl Border { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -3900,32 +4040,74 @@ impl Border { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_child(&self) -> Result> { Ok(self.raw.get_child()?.map(|raw| Control { raw })) } @@ -4273,6 +4455,14 @@ impl Button { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -4281,6 +4471,7 @@ impl Button { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -4318,6 +4509,30 @@ impl Button { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -4329,32 +4544,74 @@ impl Button { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -4885,6 +5142,14 @@ impl ButtonSpinner { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -4893,6 +5158,7 @@ impl ButtonSpinner { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -4930,6 +5196,30 @@ impl ButtonSpinner { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -4941,32 +5231,74 @@ impl ButtonSpinner { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -5460,6 +5792,14 @@ impl Calendar { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -5468,6 +5808,7 @@ impl Calendar { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -5505,6 +5846,30 @@ impl Calendar { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -5516,32 +5881,74 @@ impl Calendar { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -6108,6 +6515,14 @@ impl CalendarDatePicker { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -6116,6 +6531,7 @@ impl CalendarDatePicker { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -6153,6 +6569,30 @@ impl CalendarDatePicker { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -6164,32 +6604,74 @@ impl CalendarDatePicker { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -6821,6 +7303,14 @@ impl Canvas { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -6829,6 +7319,7 @@ impl Canvas { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -6866,6 +7357,30 @@ impl Canvas { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -6877,32 +7392,74 @@ impl Canvas { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn children(&self) -> Result { Ok(ControlList { raw: self.raw.get_children()? }) } @@ -7216,6 +7773,14 @@ impl Carousel { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -7224,6 +7789,7 @@ impl Carousel { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -7261,6 +7827,30 @@ impl Carousel { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -7272,32 +7862,74 @@ impl Carousel { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -7537,16 +8169,14 @@ impl Carousel { self.set_wrap_selection(value)?; Ok(self) } - pub fn subscribe_selection_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::selecting_items_control_selection_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_selection_changed(&self, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::selecting_items_control_selection_changed_handler(move |args| { callback(args); Ok(()) }); let subscription_id = self.raw.advise_selection_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_selection_changed(subscription_id))) } - pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_selection_changed(callback)?); Ok(self) } @@ -7828,6 +8458,14 @@ impl CheckBox { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -7836,6 +8474,7 @@ impl CheckBox { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -7873,6 +8512,30 @@ impl CheckBox { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -7884,32 +8547,74 @@ impl CheckBox { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -8469,6 +9174,14 @@ impl ComboBox { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -8477,6 +9190,7 @@ impl ComboBox { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -8514,6 +9228,30 @@ impl ComboBox { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -8525,32 +9263,74 @@ impl ComboBox { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -8790,16 +9570,14 @@ impl ComboBox { self.set_wrap_selection(value)?; Ok(self) } - pub fn subscribe_selection_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::selecting_items_control_selection_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_selection_changed(&self, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::selecting_items_control_selection_changed_handler(move |args| { callback(args); Ok(()) }); let subscription_id = self.raw.advise_selection_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_selection_changed(subscription_id))) } - pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_selection_changed(callback)?); Ok(self) } @@ -9159,6 +9937,14 @@ impl ComboBoxItem { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -9167,6 +9953,7 @@ impl ComboBoxItem { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -9204,6 +9991,30 @@ impl ComboBoxItem { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -9215,32 +10026,74 @@ impl ComboBoxItem { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -9696,6 +10549,14 @@ impl CommandBar { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -9704,6 +10565,7 @@ impl CommandBar { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -9741,6 +10603,30 @@ impl CommandBar { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -9752,32 +10638,74 @@ impl CommandBar { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -10343,6 +11271,14 @@ impl CommandBarButton { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -10351,6 +11287,7 @@ impl CommandBarButton { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -10388,6 +11325,30 @@ impl CommandBarButton { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -10399,32 +11360,74 @@ impl CommandBarButton { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -11012,6 +12015,14 @@ impl CommandBarSeparator { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -11020,6 +12031,7 @@ impl CommandBarSeparator { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -11057,6 +12069,30 @@ impl CommandBarSeparator { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -11068,32 +12104,74 @@ impl CommandBarSeparator { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -11514,6 +12592,14 @@ impl CommandBarToggleButton { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -11522,6 +12608,7 @@ impl CommandBarToggleButton { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -11559,6 +12646,30 @@ impl CommandBarToggleButton { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -11570,32 +12681,74 @@ impl CommandBarToggleButton { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -12212,6 +13365,14 @@ impl ContentControl { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -12220,6 +13381,7 @@ impl ContentControl { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -12257,6 +13419,30 @@ impl ContentControl { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -12268,32 +13454,74 @@ impl ContentControl { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -12741,6 +13969,14 @@ impl ContextMenu { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -12749,6 +13985,7 @@ impl ContextMenu { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -12786,6 +14023,30 @@ impl ContextMenu { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -12797,32 +14058,74 @@ impl ContextMenu { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -13062,16 +14365,14 @@ impl ContextMenu { self.set_wrap_selection(value)?; Ok(self) } - pub fn subscribe_selection_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::selecting_items_control_selection_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_selection_changed(&self, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::selecting_items_control_selection_changed_handler(move |args| { callback(args); Ok(()) }); let subscription_id = self.raw.advise_selection_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_selection_changed(subscription_id))) } - pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_selection_changed(callback)?); Ok(self) } @@ -13479,6 +14780,14 @@ impl Control { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -13487,6 +14796,7 @@ impl Control { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -13524,6 +14834,30 @@ impl Control { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -13535,32 +14869,74 @@ impl Control { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } } impl AsControl for Control { @@ -13820,6 +15196,14 @@ impl DatePicker { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -13828,6 +15212,7 @@ impl DatePicker { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -13865,6 +15250,30 @@ impl DatePicker { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -13876,32 +15285,74 @@ impl DatePicker { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -14419,6 +15870,14 @@ impl Decorator { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -14427,6 +15886,7 @@ impl Decorator { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -14464,6 +15924,30 @@ impl Decorator { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -14475,32 +15959,74 @@ impl Decorator { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_child(&self) -> Result> { Ok(self.raw.get_child()?.map(|raw| Control { raw })) } @@ -14781,6 +16307,14 @@ impl DockPanel { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -14789,6 +16323,7 @@ impl DockPanel { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -14826,6 +16361,30 @@ impl DockPanel { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -14837,32 +16396,74 @@ impl DockPanel { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn children(&self) -> Result { Ok(ControlList { raw: self.raw.get_children()? }) } @@ -15173,6 +16774,14 @@ impl DropDownButton { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -15181,6 +16790,7 @@ impl DropDownButton { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -15218,6 +16828,30 @@ impl DropDownButton { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -15229,32 +16863,74 @@ impl DropDownButton { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -15785,6 +17461,14 @@ impl Expander { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -15793,6 +17477,7 @@ impl Expander { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -15830,6 +17515,30 @@ impl Expander { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -15841,32 +17550,74 @@ impl Expander { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -16402,6 +18153,14 @@ impl FlexPanel { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -16410,6 +18169,7 @@ impl FlexPanel { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -16447,6 +18207,30 @@ impl FlexPanel { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -16458,32 +18242,74 @@ impl FlexPanel { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn children(&self) -> Result { Ok(ControlList { raw: self.raw.get_children()? }) } @@ -17030,6 +18856,14 @@ impl Grid { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -17038,6 +18872,7 @@ impl Grid { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -17075,6 +18910,30 @@ impl Grid { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -17086,32 +18945,74 @@ impl Grid { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn children(&self) -> Result { Ok(ControlList { raw: self.raw.get_children()? }) } @@ -17480,6 +19381,14 @@ impl GridSplitter { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -17488,6 +19397,7 @@ impl GridSplitter { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -17525,6 +19435,30 @@ impl GridSplitter { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -17536,32 +19470,74 @@ impl GridSplitter { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -18045,6 +20021,14 @@ impl GroupBox { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -18053,6 +20037,7 @@ impl GroupBox { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -18090,6 +20075,30 @@ impl GroupBox { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -18101,32 +20110,74 @@ impl GroupBox { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -18595,6 +20646,14 @@ impl HyperlinkButton { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -18603,6 +20662,7 @@ impl HyperlinkButton { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -18640,6 +20700,30 @@ impl HyperlinkButton { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -18651,32 +20735,74 @@ impl HyperlinkButton { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -19222,6 +21348,14 @@ impl IconElement { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -19230,6 +21364,7 @@ impl IconElement { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -19267,6 +21402,30 @@ impl IconElement { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -19278,32 +21437,74 @@ impl IconElement { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -19708,6 +21909,14 @@ impl Image { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -19716,6 +21925,7 @@ impl Image { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -19753,6 +21963,30 @@ impl Image { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -19764,32 +21998,74 @@ impl Image { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_source(&self) -> Result> { unsafe { Ok(sys::take_utf16(self.raw.get_source()?)) } } @@ -20093,6 +22369,14 @@ impl ItemsControl { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -20101,6 +22385,7 @@ impl ItemsControl { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -20138,6 +22423,30 @@ impl ItemsControl { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -20149,32 +22458,74 @@ impl ItemsControl { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -20619,6 +22970,14 @@ impl Label { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -20627,6 +22986,7 @@ impl Label { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -20664,6 +23024,30 @@ impl Label { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -20675,32 +23059,74 @@ impl Label { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -21159,6 +23585,14 @@ impl LayoutTransformControl { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -21167,6 +23601,7 @@ impl LayoutTransformControl { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -21204,6 +23639,30 @@ impl LayoutTransformControl { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -21215,32 +23674,74 @@ impl LayoutTransformControl { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_child(&self) -> Result> { Ok(self.raw.get_child()?.map(|raw| Control { raw })) } @@ -21529,6 +24030,14 @@ impl ListBox { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -21537,6 +24046,7 @@ impl ListBox { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -21574,6 +24084,30 @@ impl ListBox { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -21585,32 +24119,74 @@ impl ListBox { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -21850,16 +24426,14 @@ impl ListBox { self.set_wrap_selection(value)?; Ok(self) } - pub fn subscribe_selection_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::selecting_items_control_selection_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_selection_changed(&self, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::selecting_items_control_selection_changed_handler(move |args| { callback(args); Ok(()) }); let subscription_id = self.raw.advise_selection_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_selection_changed(subscription_id))) } - pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_selection_changed(callback)?); Ok(self) } @@ -22132,6 +24706,14 @@ impl ListBoxItem { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -22140,6 +24722,7 @@ impl ListBoxItem { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -22177,6 +24760,30 @@ impl ListBoxItem { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -22188,32 +24795,74 @@ impl ListBoxItem { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -22669,6 +25318,14 @@ impl MaskedTextBox { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -22677,6 +25334,7 @@ impl MaskedTextBox { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -22714,6 +25372,30 @@ impl MaskedTextBox { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -22725,32 +25407,74 @@ impl MaskedTextBox { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -23590,6 +26314,14 @@ impl Menu { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -23598,6 +26330,7 @@ impl Menu { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -23635,6 +26368,30 @@ impl Menu { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -23646,32 +26403,74 @@ impl Menu { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -23911,16 +26710,14 @@ impl Menu { self.set_wrap_selection(value)?; Ok(self) } - pub fn subscribe_selection_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::selecting_items_control_selection_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_selection_changed(&self, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::selecting_items_control_selection_changed_handler(move |args| { callback(args); Ok(()) }); let subscription_id = self.raw.advise_selection_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_selection_changed(subscription_id))) } - pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_selection_changed(callback)?); Ok(self) } @@ -24208,6 +27005,14 @@ impl MenuBase { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -24216,6 +27021,7 @@ impl MenuBase { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -24253,6 +27059,30 @@ impl MenuBase { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -24264,32 +27094,74 @@ impl MenuBase { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -24529,16 +27401,14 @@ impl MenuBase { self.set_wrap_selection(value)?; Ok(self) } - pub fn subscribe_selection_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::selecting_items_control_selection_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_selection_changed(&self, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::selecting_items_control_selection_changed_handler(move |args| { callback(args); Ok(()) }); let subscription_id = self.raw.advise_selection_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_selection_changed(subscription_id))) } - pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_selection_changed(callback)?); Ok(self) } @@ -25034,6 +27904,14 @@ impl MenuItem { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -25042,6 +27920,7 @@ impl MenuItem { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -25079,6 +27958,30 @@ impl MenuItem { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -25090,32 +27993,74 @@ impl MenuItem { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -25355,16 +28300,14 @@ impl MenuItem { self.set_wrap_selection(value)?; Ok(self) } - pub fn subscribe_selection_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::selecting_items_control_selection_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_selection_changed(&self, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::selecting_items_control_selection_changed_handler(move |args| { callback(args); Ok(()) }); let subscription_id = self.raw.advise_selection_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_selection_changed(subscription_id))) } - pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_selection_changed(callback)?); Ok(self) } @@ -25786,6 +28729,14 @@ impl NotificationCard { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -25794,6 +28745,7 @@ impl NotificationCard { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -25831,6 +28783,30 @@ impl NotificationCard { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -25842,32 +28818,74 @@ impl NotificationCard { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -26349,6 +29367,14 @@ impl WindowNotificationManager { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -26357,6 +29383,7 @@ impl WindowNotificationManager { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -26394,6 +29421,30 @@ impl WindowNotificationManager { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -26405,32 +29456,74 @@ impl WindowNotificationManager { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -26859,6 +29952,14 @@ impl NumericUpDown { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -26867,6 +29968,7 @@ impl NumericUpDown { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -26904,6 +30006,30 @@ impl NumericUpDown { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -26915,32 +30041,74 @@ impl NumericUpDown { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -27283,16 +30451,14 @@ impl NumericUpDown { scope.retain_subscription(self.subscribe_spinned(callback)?); Ok(self) } - pub fn subscribe_value_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::numeric_up_down_value_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_value_changed(&self, callback: impl FnMut(&mut NumericUpDownValueChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::numeric_up_down_value_changed_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_value_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_value_changed(subscription_id))) } - pub fn on_value_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_value_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut NumericUpDownValueChangedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_value_changed(callback)?); Ok(self) } @@ -27555,6 +30721,14 @@ impl Panel { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -27563,6 +30737,7 @@ impl Panel { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -27600,6 +30775,30 @@ impl Panel { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -27611,32 +30810,74 @@ impl Panel { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn children(&self) -> Result { Ok(ControlList { raw: self.raw.get_children()? }) } @@ -27914,6 +31155,14 @@ impl PathIcon { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -27922,6 +31171,7 @@ impl PathIcon { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -27959,6 +31209,30 @@ impl PathIcon { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -27970,32 +31244,74 @@ impl PathIcon { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -28411,6 +31727,14 @@ impl PipsPager { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -28419,6 +31743,7 @@ impl PipsPager { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -28456,6 +31781,30 @@ impl PipsPager { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -28467,32 +31816,74 @@ impl PipsPager { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -29012,6 +32403,14 @@ impl HeaderedContentControl { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -29020,6 +32419,7 @@ impl HeaderedContentControl { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -29057,6 +32457,30 @@ impl HeaderedContentControl { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -29068,32 +32492,74 @@ impl HeaderedContentControl { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -29562,6 +33028,14 @@ impl HeaderedItemsControl { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -29570,6 +33044,7 @@ impl HeaderedItemsControl { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -29607,6 +33082,30 @@ impl HeaderedItemsControl { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -29618,32 +33117,74 @@ impl HeaderedItemsControl { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -30109,6 +33650,14 @@ impl HeaderedSelectingItemsControl { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -30117,6 +33666,7 @@ impl HeaderedSelectingItemsControl { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -30154,6 +33704,30 @@ impl HeaderedSelectingItemsControl { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -30165,32 +33739,74 @@ impl HeaderedSelectingItemsControl { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -30430,16 +34046,14 @@ impl HeaderedSelectingItemsControl { self.set_wrap_selection(value)?; Ok(self) } - pub fn subscribe_selection_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::selecting_items_control_selection_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_selection_changed(&self, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::selecting_items_control_selection_changed_handler(move |args| { callback(args); Ok(()) }); let subscription_id = self.raw.advise_selection_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_selection_changed(subscription_id))) } - pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_selection_changed(callback)?); Ok(self) } @@ -30723,6 +34337,14 @@ impl Popup { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -30731,6 +34353,7 @@ impl Popup { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -30768,6 +34391,30 @@ impl Popup { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -30779,32 +34426,74 @@ impl Popup { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_window_manager_add_shadow_hint(&self) -> Result { Ok(self.raw.get_window_manager_add_shadow_hint()?) } pub fn set_window_manager_add_shadow_hint(&self, value: bool) -> Result<()> { Ok(self.raw.set_window_manager_add_shadow_hint(value)?) @@ -31431,6 +35120,14 @@ impl RangeBase { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -31439,6 +35136,7 @@ impl RangeBase { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -31476,6 +35174,30 @@ impl RangeBase { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -31487,32 +35209,74 @@ impl RangeBase { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -31698,16 +35462,14 @@ impl RangeBase { self.set_large_change(value)?; Ok(self) } - pub fn subscribe_value_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::range_base_value_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_value_changed(&self, callback: impl FnMut(&mut RangeBaseValueChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::range_base_value_changed_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_value_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_value_changed(subscription_id))) } - pub fn on_value_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_value_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut RangeBaseValueChangedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_value_changed(callback)?); Ok(self) } @@ -31970,6 +35732,14 @@ impl SelectingItemsControl { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -31978,6 +35748,7 @@ impl SelectingItemsControl { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -32015,6 +35786,30 @@ impl SelectingItemsControl { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -32026,32 +35821,74 @@ impl SelectingItemsControl { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -32291,16 +36128,14 @@ impl SelectingItemsControl { self.set_wrap_selection(value)?; Ok(self) } - pub fn subscribe_selection_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::selecting_items_control_selection_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_selection_changed(&self, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::selecting_items_control_selection_changed_handler(move |args| { callback(args); Ok(()) }); let subscription_id = self.raw.advise_selection_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_selection_changed(subscription_id))) } - pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_selection_changed(callback)?); Ok(self) } @@ -32563,6 +36398,14 @@ impl TemplatedControl { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -32571,6 +36414,7 @@ impl TemplatedControl { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -32608,6 +36452,30 @@ impl TemplatedControl { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -32619,32 +36487,74 @@ impl TemplatedControl { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -33049,6 +36959,14 @@ impl Thumb { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -33057,6 +36975,7 @@ impl Thumb { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -33094,6 +37013,30 @@ impl Thumb { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -33105,32 +37048,74 @@ impl Thumb { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -33568,6 +37553,14 @@ impl ToggleButton { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -33576,6 +37569,7 @@ impl ToggleButton { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -33613,6 +37607,30 @@ impl ToggleButton { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -33624,32 +37642,74 @@ impl ToggleButton { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -34209,6 +38269,14 @@ impl UniformGrid { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -34217,6 +38285,7 @@ impl UniformGrid { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -34254,6 +38323,30 @@ impl UniformGrid { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -34265,32 +38358,74 @@ impl UniformGrid { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn children(&self) -> Result { Ok(ControlList { raw: self.raw.get_children()? }) } @@ -34608,6 +38743,14 @@ impl ProgressBar { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -34616,6 +38759,7 @@ impl ProgressBar { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -34653,6 +38797,30 @@ impl ProgressBar { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -34664,32 +38832,74 @@ impl ProgressBar { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -34875,16 +39085,14 @@ impl ProgressBar { self.set_large_change(value)?; Ok(self) } - pub fn subscribe_value_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::range_base_value_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_value_changed(&self, callback: impl FnMut(&mut RangeBaseValueChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::range_base_value_changed_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_value_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_value_changed(subscription_id))) } - pub fn on_value_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_value_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut RangeBaseValueChangedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_value_changed(callback)?); Ok(self) } @@ -35186,6 +39394,14 @@ impl RadioButton { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -35194,6 +39410,7 @@ impl RadioButton { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -35231,6 +39448,30 @@ impl RadioButton { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -35242,32 +39483,74 @@ impl RadioButton { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -35838,6 +40121,14 @@ impl RefreshContainer { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -35846,6 +40137,7 @@ impl RefreshContainer { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -35883,6 +40175,30 @@ impl RefreshContainer { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -35894,32 +40210,74 @@ impl RefreshContainer { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -36400,6 +40758,14 @@ impl RelativePanel { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -36408,6 +40774,7 @@ impl RelativePanel { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -36445,6 +40812,30 @@ impl RelativePanel { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -36456,32 +40847,74 @@ impl RelativePanel { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn children(&self) -> Result { Ok(ControlList { raw: self.raw.get_children()? }) } @@ -36813,6 +41246,14 @@ impl RepeatButton { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -36821,6 +41262,7 @@ impl RepeatButton { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -36858,6 +41300,30 @@ impl RepeatButton { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -36869,32 +41335,74 @@ impl RepeatButton { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -37441,6 +41949,14 @@ impl ScrollViewer { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -37449,6 +41965,7 @@ impl ScrollViewer { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -37486,6 +42003,30 @@ impl ScrollViewer { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -37497,32 +42038,74 @@ impl ScrollViewer { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -38136,6 +42719,14 @@ impl SelectableTextBlock { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -38144,6 +42735,7 @@ impl SelectableTextBlock { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -38181,6 +42773,30 @@ impl SelectableTextBlock { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -38192,32 +42808,74 @@ impl SelectableTextBlock { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_padding(&self) -> Result { Ok(self.raw.get_padding()?.into()) } @@ -38714,6 +43372,14 @@ impl Separator { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -38722,6 +43388,7 @@ impl Separator { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -38759,6 +43426,30 @@ impl Separator { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -38770,32 +43461,74 @@ impl Separator { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -39200,6 +43933,14 @@ impl Arc { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -39208,6 +43949,7 @@ impl Arc { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -39245,6 +43987,30 @@ impl Arc { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -39256,32 +44022,74 @@ impl Arc { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_fill(&self) -> Result> { self.raw.get_fill()?.as_ref().map(Brush::from_raw).transpose() } @@ -39647,6 +44455,14 @@ impl Ellipse { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -39655,6 +44471,7 @@ impl Ellipse { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -39692,6 +44509,30 @@ impl Ellipse { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -39703,32 +44544,74 @@ impl Ellipse { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_fill(&self) -> Result> { self.raw.get_fill()?.as_ref().map(Brush::from_raw).transpose() } @@ -40078,6 +44961,14 @@ impl Line { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -40086,6 +44977,7 @@ impl Line { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -40123,6 +45015,30 @@ impl Line { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -40134,32 +45050,74 @@ impl Line { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_fill(&self) -> Result> { self.raw.get_fill()?.as_ref().map(Brush::from_raw).transpose() } @@ -40529,6 +45487,14 @@ impl Path { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -40537,6 +45503,7 @@ impl Path { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -40574,6 +45541,30 @@ impl Path { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -40585,32 +45576,74 @@ impl Path { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_fill(&self) -> Result> { self.raw.get_fill()?.as_ref().map(Brush::from_raw).transpose() } @@ -40971,6 +46004,14 @@ impl Polygon { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -40979,6 +46020,7 @@ impl Polygon { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -41016,6 +46058,30 @@ impl Polygon { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -41027,32 +46093,74 @@ impl Polygon { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_fill(&self) -> Result> { self.raw.get_fill()?.as_ref().map(Brush::from_raw).transpose() } @@ -41424,6 +46532,14 @@ impl Polyline { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -41432,6 +46548,7 @@ impl Polyline { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -41469,6 +46586,30 @@ impl Polyline { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -41480,32 +46621,74 @@ impl Polyline { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_fill(&self) -> Result> { self.raw.get_fill()?.as_ref().map(Brush::from_raw).transpose() } @@ -41877,6 +47060,14 @@ impl Rectangle { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -41885,6 +47076,7 @@ impl Rectangle { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -41922,6 +47114,30 @@ impl Rectangle { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -41933,32 +47149,74 @@ impl Rectangle { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_fill(&self) -> Result> { self.raw.get_fill()?.as_ref().map(Brush::from_raw).transpose() } @@ -42324,6 +47582,14 @@ impl Sector { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -42332,6 +47598,7 @@ impl Sector { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -42369,6 +47636,30 @@ impl Sector { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -42380,32 +47671,74 @@ impl Sector { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_fill(&self) -> Result> { self.raw.get_fill()?.as_ref().map(Brush::from_raw).transpose() } @@ -42767,6 +48100,14 @@ impl Shape { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -42775,6 +48116,7 @@ impl Shape { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -42812,6 +48154,30 @@ impl Shape { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -42823,32 +48189,74 @@ impl Shape { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_fill(&self) -> Result> { self.raw.get_fill()?.as_ref().map(Brush::from_raw).transpose() } @@ -43198,6 +48606,14 @@ impl Slider { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -43206,6 +48622,7 @@ impl Slider { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -43243,6 +48660,30 @@ impl Slider { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -43254,32 +48695,74 @@ impl Slider { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -43465,16 +48948,14 @@ impl Slider { self.set_large_change(value)?; Ok(self) } - pub fn subscribe_value_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::range_base_value_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_value_changed(&self, callback: impl FnMut(&mut RangeBaseValueChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::range_base_value_changed_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_value_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_value_changed(subscription_id))) } - pub fn on_value_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_value_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut RangeBaseValueChangedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_value_changed(callback)?); Ok(self) } @@ -43790,6 +49271,14 @@ impl Spinner { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -43798,6 +49287,7 @@ impl Spinner { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -43835,6 +49325,30 @@ impl Spinner { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -43846,32 +49360,74 @@ impl Spinner { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -44338,6 +49894,14 @@ impl SplitButton { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -44346,6 +49910,7 @@ impl SplitButton { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -44383,6 +49948,30 @@ impl SplitButton { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -44394,32 +49983,74 @@ impl SplitButton { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -44922,6 +50553,14 @@ impl SplitView { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -44930,6 +50569,7 @@ impl SplitView { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -44967,6 +50607,30 @@ impl SplitView { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -44978,32 +50642,74 @@ impl SplitView { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -45585,6 +51291,14 @@ impl StackPanel { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -45593,6 +51307,7 @@ impl StackPanel { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -45630,6 +51345,30 @@ impl StackPanel { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -45641,32 +51380,74 @@ impl StackPanel { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn children(&self) -> Result { Ok(ControlList { raw: self.raw.get_children()? }) } @@ -45979,6 +51760,14 @@ impl TabControl { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -45987,6 +51776,7 @@ impl TabControl { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -46024,6 +51814,30 @@ impl TabControl { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -46035,32 +51849,74 @@ impl TabControl { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -46300,16 +52156,14 @@ impl TabControl { self.set_wrap_selection(value)?; Ok(self) } - pub fn subscribe_selection_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::selecting_items_control_selection_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_selection_changed(&self, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::selecting_items_control_selection_changed_handler(move |args| { callback(args); Ok(()) }); let subscription_id = self.raw.advise_selection_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_selection_changed(subscription_id))) } - pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_selection_changed(callback)?); Ok(self) } @@ -46631,6 +52485,14 @@ impl TabItem { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -46639,6 +52501,7 @@ impl TabItem { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -46676,6 +52539,30 @@ impl TabItem { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -46687,32 +52574,74 @@ impl TabItem { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -47223,6 +53152,14 @@ impl TableView { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -47231,6 +53168,7 @@ impl TableView { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -47268,6 +53206,30 @@ impl TableView { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -47279,32 +53241,74 @@ impl TableView { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -47544,16 +53548,14 @@ impl TableView { self.set_wrap_selection(value)?; Ok(self) } - pub fn subscribe_selection_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::selecting_items_control_selection_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_selection_changed(&self, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::selecting_items_control_selection_changed_handler(move |args| { callback(args); Ok(()) }); let subscription_id = self.raw.advise_selection_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_selection_changed(subscription_id))) } - pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_selection_changed(callback)?); Ok(self) } @@ -47844,6 +53846,14 @@ impl TableViewCell { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -47852,6 +53862,7 @@ impl TableViewCell { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -47889,6 +53900,30 @@ impl TableViewCell { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -47900,32 +53935,74 @@ impl TableViewCell { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -48576,6 +54653,14 @@ impl TableViewRow { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -48584,6 +54669,7 @@ impl TableViewRow { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -48621,6 +54707,30 @@ impl TableViewRow { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -48632,32 +54742,74 @@ impl TableViewRow { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -49113,6 +55265,14 @@ impl TextBlock { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -49121,6 +55281,7 @@ impl TextBlock { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -49158,6 +55319,30 @@ impl TextBlock { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -49169,32 +55354,74 @@ impl TextBlock { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_padding(&self) -> Result { Ok(self.raw.get_padding()?.into()) } @@ -49633,6 +55860,14 @@ impl TextBox { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -49641,6 +55876,7 @@ impl TextBox { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -49678,6 +55914,30 @@ impl TextBox { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -49689,32 +55949,74 @@ impl TextBox { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -50501,6 +56803,14 @@ impl ThemeVariantScope { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -50509,6 +56819,7 @@ impl ThemeVariantScope { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -50546,6 +56857,30 @@ impl ThemeVariantScope { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -50557,32 +56892,74 @@ impl ThemeVariantScope { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_child(&self) -> Result> { Ok(self.raw.get_child()?.map(|raw| Control { raw })) } @@ -50874,6 +57251,14 @@ impl TimePicker { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -50882,6 +57267,7 @@ impl TimePicker { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -50919,6 +57305,30 @@ impl TimePicker { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -50930,32 +57340,74 @@ impl TimePicker { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -51429,6 +57881,14 @@ impl ToggleSplitButton { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -51437,6 +57897,7 @@ impl ToggleSplitButton { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -51474,6 +57935,30 @@ impl ToggleSplitButton { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -51485,32 +57970,74 @@ impl ToggleSplitButton { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -52034,6 +58561,14 @@ impl ToggleSwitch { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -52042,6 +58577,7 @@ impl ToggleSwitch { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -52079,6 +58615,30 @@ impl ToggleSwitch { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -52090,32 +58650,74 @@ impl ToggleSwitch { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -52717,6 +59319,14 @@ impl ToolTip { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -52725,6 +59335,7 @@ impl ToolTip { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -52762,6 +59373,30 @@ impl ToolTip { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -52773,32 +59408,74 @@ impl ToolTip { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -53328,6 +60005,14 @@ impl TransitioningContentControl { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -53336,6 +60021,7 @@ impl TransitioningContentControl { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -53373,6 +60059,30 @@ impl TransitioningContentControl { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -53384,32 +60094,74 @@ impl TransitioningContentControl { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -53953,6 +60705,14 @@ impl TreeView { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -53961,6 +60721,7 @@ impl TreeView { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -53998,6 +60759,30 @@ impl TreeView { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -54009,32 +60794,74 @@ impl TreeView { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -54266,16 +61093,14 @@ impl TreeView { let container = container.as_control()?; Ok(Variant::from_abi(self.raw.tree_item_from_container_with_control(&container)?)) } - pub fn subscribe_selection_changed(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::tree_view_selection_changed_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_selection_changed(&self, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::tree_view_selection_changed_handler(move |args| { callback(args); Ok(()) }); let subscription_id = self.raw.advise_selection_changed(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_selection_changed(subscription_id))) } - pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_selection_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut sys::ComPtr) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_selection_changed(callback)?); Ok(self) } @@ -54538,6 +61363,14 @@ impl TreeViewItem { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -54546,6 +61379,7 @@ impl TreeViewItem { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -54583,6 +61417,30 @@ impl TreeViewItem { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -54594,32 +61452,74 @@ impl TreeViewItem { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -55128,6 +62028,14 @@ impl UserControl { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -55136,6 +62044,7 @@ impl UserControl { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -55173,6 +62082,30 @@ impl UserControl { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -55184,32 +62117,74 @@ impl UserControl { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -55657,6 +62632,14 @@ impl Viewbox { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -55665,6 +62648,7 @@ impl Viewbox { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -55702,6 +62686,30 @@ impl Viewbox { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -55713,32 +62721,74 @@ impl Viewbox { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_stretch(&self) -> Result { let value = self.raw.get_stretch()?; Stretch::try_from(value) @@ -56031,6 +63081,14 @@ impl Window { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -56039,6 +63097,7 @@ impl Window { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -56076,6 +63135,30 @@ impl Window { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -56087,32 +63170,74 @@ impl Window { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn get_background(&self) -> Result> { self.raw.get_background()?.as_ref().map(Brush::from_raw).transpose() } @@ -56724,6 +63849,14 @@ impl WrapPanel { self.set_vertical_alignment(value)?; Ok(self) } + pub fn get_focusable(&self) -> Result { Ok(self.raw.get_focusable()?) } + pub fn set_focusable(&self, value: bool) -> Result<()> { + Ok(self.raw.set_focusable(value)?) + } + pub fn focusable(self, value: bool) -> Result { + self.set_focusable(value)?; + Ok(self) + } pub fn get_is_enabled(&self) -> Result { Ok(self.raw.get_is_enabled()?) } pub fn set_enabled(&self, value: bool) -> Result<()> { Ok(self.raw.set_is_enabled(value)?) @@ -56732,6 +63865,7 @@ impl WrapPanel { self.set_enabled(value)?; Ok(self) } + pub fn focus_with_navigation_method_and_key_modifiers(&self, method: i32, key_modifiers: i32) -> Result { Ok(self.raw.focus_with_navigation_method_and_key_modifiers(method, key_modifiers)? != 0) } pub fn subscribe_loaded(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { let handler = sys::control_loaded_handler(move || { callback(()); @@ -56769,6 +63903,30 @@ impl WrapPanel { scope.retain_subscription(self.subscribe_size_changed(callback)?); Ok(self) } + pub fn subscribe_got_focus(&self, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_got_focus_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_got_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_got_focus(subscription_id))) + } + pub fn on_got_focus(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlGotFocusEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_got_focus(callback)?); + Ok(self) + } + pub fn subscribe_lost_focus(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_lost_focus_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_lost_focus(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_lost_focus(subscription_id))) + } + pub fn on_lost_focus(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_lost_focus(callback)?); + Ok(self) + } pub fn subscribe_key_down(&self, callback: impl FnMut(&mut ControlKeyDownEventArgs) + Send + 'static) -> Result { let mut callback = callback; let handler = sys::control_key_down_handler(move |event| { callback(event); Ok(()) }); @@ -56780,32 +63938,74 @@ impl WrapPanel { scope.retain_subscription(self.subscribe_key_down(callback)?); Ok(self) } - pub fn subscribe_pointer_entered(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_entered_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_key_up(&self, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_key_up_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_key_up(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_key_up(subscription_id))) + } + pub fn on_key_up(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlKeyUpEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_key_up(callback)?); + Ok(self) + } + pub fn subscribe_pointer_entered(&self, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_entered_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_entered(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_entered(subscription_id))) } - pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_entered(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerEnteredEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_entered(callback)?); Ok(self) } - pub fn subscribe_pointer_exited(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { - let handler = sys::control_pointer_exited_handler(move || { - callback(()); - Ok(()) - }); + pub fn subscribe_pointer_exited(&self, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_exited_handler(move |event| { callback(event); Ok(()) }); let subscription_id = self.raw.advise_pointer_exited(&handler)?; let source = self.raw.clone(); Ok(EventSubscription::new(move || source.unadvise_pointer_exited(subscription_id))) } - pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + pub fn on_pointer_exited(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerExitedEventArgs) + Send + 'static) -> Result { scope.retain_subscription(self.subscribe_pointer_exited(callback)?); Ok(self) } + pub fn subscribe_pointer_wheel_changed(&self, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_pointer_wheel_changed_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_pointer_wheel_changed(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_pointer_wheel_changed(subscription_id))) + } + pub fn on_pointer_wheel_changed(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlPointerWheelChangedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_pointer_wheel_changed(callback)?); + Ok(self) + } + pub fn subscribe_tapped(&self, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + let mut callback = callback; + let handler = sys::control_tapped_handler(move |event| { callback(event); Ok(()) }); + let subscription_id = self.raw.advise_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_tapped(subscription_id))) + } + pub fn on_tapped(self, scope: &crate::AppScope, callback: impl FnMut(&mut ControlTappedEventArgs) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_tapped(callback)?); + Ok(self) + } + pub fn subscribe_double_tapped(&self, mut callback: impl FnMut(()) + Send + 'static) -> Result { + let handler = sys::control_double_tapped_handler(move || { + callback(()); + Ok(()) + }); + let subscription_id = self.raw.advise_double_tapped(&handler)?; + let source = self.raw.clone(); + Ok(EventSubscription::new(move || source.unadvise_double_tapped(subscription_id))) + } + pub fn on_double_tapped(self, scope: &crate::AppScope, callback: impl FnMut(()) + Send + 'static) -> Result { + scope.retain_subscription(self.subscribe_double_tapped(callback)?); + Ok(self) + } pub fn children(&self) -> Result { Ok(ControlList { raw: self.raw.get_children()? }) } diff --git a/rust/avalonia/src/runtime.rs b/rust/avalonia/src/runtime.rs index b185c0b..6b66460 100644 --- a/rust/avalonia/src/runtime.rs +++ b/rust/avalonia/src/runtime.rs @@ -198,6 +198,27 @@ impl AppScope { ) } + /// Shows `dialog` modally over `window`, completing with the dialog result the host + /// converted (`None` when the dialog returned no result). Dropping the returned + /// operation closes the dialog. + pub fn show_dialog( + &self, + window: &Window, + dialog: &Window, + ) -> Result>> { + let owner = window.raw.clone(); + let dialog = dialog.raw.clone(); + let application = self.context.application.clone(); + let dialogs = application.dialogs()?; + AsyncOperation::start( + application, + move |completion| { + dialogs.start_show_dialog(Some(&owner), Some(&dialog), Some(completion)) + }, + decode_string, + ) + } + pub fn spawn(&self, future: impl Future + Send + 'static) -> Result<()> { self.state .tasks diff --git a/rust/projection.ir.json b/rust/projection.ir.json index 3bfb4fd..b4dc214 100644 --- a/rust/projection.ir.json +++ b/rust/projection.ir.json @@ -47,8 +47,8 @@ "name": "IAvnAutoCompleteBox", "fullName": "Avalonia.Host.Com.IAvnAutoCompleteBox", "kind": "Class", - "iid": "92CEFC39-4E40-5193-893F-F3E2C77ED24C", - "abiVersion": 16, + "iid": "6D1670C7-0D52-5BB1-8289-6C2617B74A6C", + "abiVersion": 19, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.AutoCompleteBox", "isConstructible": true, @@ -421,8 +421,8 @@ "name": "IAvnBorder", "fullName": "Avalonia.Host.Com.IAvnBorder", "kind": "Class", - "iid": "80C1079E-AFDF-5483-A560-2DDB475CF894", - "abiVersion": 12, + "iid": "430F4A36-8B46-5F3C-8E4D-BD11AA522969", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnDecorator", "managedFullName": "Avalonia.Controls.Border", "isConstructible": true, @@ -503,8 +503,8 @@ "name": "IAvnButton", "fullName": "Avalonia.Host.Com.IAvnButton", "kind": "Class", - "iid": "62D66949-2173-5007-9613-1F4B3E7C144E", - "abiVersion": 16, + "iid": "085861C8-F91D-5AFE-B57A-E601477FC2D2", + "abiVersion": 19, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.Button", "isConstructible": true, @@ -601,8 +601,8 @@ "name": "IAvnButtonSpinner", "fullName": "Avalonia.Host.Com.IAvnButtonSpinner", "kind": "Class", - "iid": "046C4736-CECE-5455-98A8-F2DD3C84C846", - "abiVersion": 9, + "iid": "907404D5-1DE4-574D-990E-2D8A79373D6D", + "abiVersion": 12, "baseFullName": "Avalonia.Host.Com.IAvnSpinner", "managedFullName": "Avalonia.Controls.ButtonSpinner", "isConstructible": true, @@ -642,8 +642,8 @@ "name": "IAvnCalendar", "fullName": "Avalonia.Host.Com.IAvnCalendar", "kind": "Class", - "iid": "F1D659B7-93E5-5093-9D16-C480F7520E14", - "abiVersion": 12, + "iid": "2ECA7A03-1AA5-5FC5-B1CC-7ECDDCF200D1", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.Calendar", "isConstructible": true, @@ -871,8 +871,8 @@ "name": "IAvnCalendarDatePicker", "fullName": "Avalonia.Host.Com.IAvnCalendarDatePicker", "kind": "Class", - "iid": "DC5958DB-F3AD-5B9F-9C86-7B66DD3D2429", - "abiVersion": 11, + "iid": "3CB1E562-6FEB-5E8B-A79A-9C1B3DB4AE62", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.CalendarDatePicker", "isConstructible": true, @@ -1134,8 +1134,8 @@ "name": "IAvnCanvas", "fullName": "Avalonia.Host.Com.IAvnCanvas", "kind": "Class", - "iid": "D9F89602-BD30-55F3-84C5-69EF65A6D0DA", - "abiVersion": 11, + "iid": "DB97347A-FE7E-5006-93B7-E4B555A261A9", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnPanel", "managedFullName": "Avalonia.Controls.Canvas", "isConstructible": true, @@ -1147,8 +1147,8 @@ "name": "IAvnCarousel", "fullName": "Avalonia.Host.Com.IAvnCarousel", "kind": "Class", - "iid": "14D0DA2B-D8DF-5816-8B51-455DCF738DF0", - "abiVersion": 13, + "iid": "062C586F-DB97-53CF-8DC3-A2F159E0BD23", + "abiVersion": 16, "baseFullName": "Avalonia.Host.Com.IAvnSelectingItemsControl", "managedFullName": "Avalonia.Controls.Carousel", "isConstructible": true, @@ -1203,8 +1203,8 @@ "name": "IAvnCheckBox", "fullName": "Avalonia.Host.Com.IAvnCheckBox", "kind": "Class", - "iid": "2D002AFC-AAFB-5C2D-B747-D08DF78AC852", - "abiVersion": 16, + "iid": "7A084E79-BA86-55BF-A9E8-E7786F3D4242", + "abiVersion": 19, "baseFullName": "Avalonia.Host.Com.IAvnToggleButton", "managedFullName": "Avalonia.Controls.CheckBox", "isConstructible": true, @@ -1216,8 +1216,8 @@ "name": "IAvnComboBox", "fullName": "Avalonia.Host.Com.IAvnComboBox", "kind": "Class", - "iid": "86CA773B-56AB-521C-BA29-D2579C59F7F3", - "abiVersion": 17, + "iid": "1DA7FC0F-6D3F-5669-8644-030686AD4FD3", + "abiVersion": 20, "baseFullName": "Avalonia.Host.Com.IAvnSelectingItemsControl", "managedFullName": "Avalonia.Controls.ComboBox", "isConstructible": true, @@ -1332,8 +1332,8 @@ "name": "IAvnComboBoxItem", "fullName": "Avalonia.Host.Com.IAvnComboBoxItem", "kind": "Class", - "iid": "2B9D2E17-500A-56F0-A0DB-14B92FF28CCB", - "abiVersion": 15, + "iid": "2D2F584F-6CD6-59C9-B536-463E6CC21B72", + "abiVersion": 18, "baseFullName": "Avalonia.Host.Com.IAvnListBoxItem", "managedFullName": "Avalonia.Controls.ComboBoxItem", "isConstructible": true, @@ -1345,8 +1345,8 @@ "name": "IAvnCommandBar", "fullName": "Avalonia.Host.Com.IAvnCommandBar", "kind": "Class", - "iid": "1A9B7C3D-4D24-5330-9F8F-D9D0BC712695", - "abiVersion": 12, + "iid": "19280D2B-7145-59DC-AD55-557541EC0147", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.CommandBar", "isConstructible": true, @@ -1552,8 +1552,8 @@ "name": "IAvnCommandBarButton", "fullName": "Avalonia.Host.Com.IAvnCommandBarButton", "kind": "Class", - "iid": "427EE3EA-2EA0-5FF8-B413-7D989D892604", - "abiVersion": 11, + "iid": "45F67F66-ADC9-5D8D-9D41-8749F537025E", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnButton", "managedFullName": "Avalonia.Controls.CommandBarButton", "isConstructible": true, @@ -1620,8 +1620,8 @@ "name": "IAvnCommandBarSeparator", "fullName": "Avalonia.Host.Com.IAvnCommandBarSeparator", "kind": "Class", - "iid": "3D86A39E-0EC3-58FA-BE17-2F3CE4E95021", - "abiVersion": 9, + "iid": "7A5D6F68-43D8-5F3C-B7A3-09C4440A3EF7", + "abiVersion": 12, "baseFullName": "Avalonia.Host.Com.IAvnSeparator", "managedFullName": "Avalonia.Controls.CommandBarSeparator", "isConstructible": true, @@ -1652,8 +1652,8 @@ "name": "IAvnCommandBarToggleButton", "fullName": "Avalonia.Host.Com.IAvnCommandBarToggleButton", "kind": "Class", - "iid": "7E7CC18B-4E66-5650-8FE4-1ACA445FA907", - "abiVersion": 11, + "iid": "3E3D29A6-520A-5B09-81E3-6395784D2C55", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnToggleButton", "managedFullName": "Avalonia.Controls.CommandBarToggleButton", "isConstructible": true, @@ -1720,8 +1720,8 @@ "name": "IAvnContentControl", "fullName": "Avalonia.Host.Com.IAvnContentControl", "kind": "Class", - "iid": "F3CE3FB2-CD2D-5839-81C7-3DF70C3AD2F5", - "abiVersion": 13, + "iid": "7312A513-1E46-5A98-9507-851220C7A465", + "abiVersion": 16, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.ContentControl", "isConstructible": true, @@ -1772,8 +1772,8 @@ "name": "IAvnContextMenu", "fullName": "Avalonia.Host.Com.IAvnContextMenu", "kind": "Class", - "iid": "A5BAC0B5-5163-5500-8C58-629BE7DE3037", - "abiVersion": 15, + "iid": "58A98293-5AA3-59E4-AB2B-CE021C5A5CCA", + "abiVersion": 18, "baseFullName": "Avalonia.Host.Com.IAvnMenuBase", "managedFullName": "Avalonia.Controls.ContextMenu", "isConstructible": true, @@ -1930,12 +1930,42 @@ "name": "IAvnControl", "fullName": "Avalonia.Host.Com.IAvnControl", "kind": "Class", - "iid": "06D79016-63D8-5035-B293-19969F0BB3C6", - "abiVersion": 8, + "iid": "8B272500-09E4-535F-ABF1-14992E90E778", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnStyledElement", "managedFullName": "Avalonia.Controls.Control", "isConstructible": true, - "methods": [], + "methods": [ + { + "name": "FocusWithNavigationMethodAndKeyModifiers", + "managedName": "Focus", + "returnKind": "I32", + "preserveSig": true, + "parameters": [ + { + "name": "method", + "kind": "I32", + "direction": "In", + "managedTypeName": "Avalonia.Input.NavigationMethod", + "isNullable": false + }, + { + "name": "keyModifiers", + "kind": "I32", + "direction": "In", + "managedTypeName": "Avalonia.Input.KeyModifiers", + "isNullable": false + }, + { + "name": "value", + "kind": "Bool", + "direction": "Out", + "managedTypeName": "System.Boolean", + "isNullable": false + } + ] + } + ], "properties": [ { "name": "IsVisible", @@ -2074,6 +2104,15 @@ "managedTypeName": "Avalonia.Layout.VerticalAlignment", "isNullable": false }, + { + "name": "Focusable", + "kind": "Bool", + "canRead": true, + "canWrite": true, + "interfaceAbiVersion": 1, + "managedTypeName": "System.Boolean", + "isNullable": false + }, { "name": "IsEnabled", "kind": "Bool", @@ -2127,6 +2166,39 @@ } ] }, + { + "name": "GotFocus", + "handlerInterfaceName": "Avalonia.Host.Com.IAvnControlGotFocusHandler", + "handlerInterfaceIid": "6621A073-4D3B-54C6-A32E-5701CDB745AD", + "handlerInterfaceAbiVersion": 1, + "payloadKind": "Fields", + "managedHandlerTypeName": "System.EventHandler\u003CAvalonia.Input.FocusChangedEventArgs\u003E", + "parameters": [ + { + "name": "NavigationMethod", + "kind": "I32", + "direction": "In", + "managedTypeName": "Avalonia.Input.NavigationMethod", + "isNullable": false + }, + { + "name": "KeyModifiers", + "kind": "I32", + "direction": "In", + "managedTypeName": "Avalonia.Input.KeyModifiers", + "isNullable": false + } + ] + }, + { + "name": "LostFocus", + "handlerInterfaceName": "Avalonia.Host.Com.IAvnControlLostFocusHandler", + "handlerInterfaceIid": "BB0FBAD2-DB37-56AE-A3C2-73BC2030BD06", + "handlerInterfaceAbiVersion": 1, + "payloadKind": "None", + "managedHandlerTypeName": "System.EventHandler\u003CAvalonia.Input.FocusChangedEventArgs\u003E", + "parameters": [] + }, { "name": "KeyDown", "handlerInterfaceName": "Avalonia.Host.Com.IAvnControlKeyDownHandler", @@ -2172,22 +2244,133 @@ } ] }, + { + "name": "KeyUp", + "handlerInterfaceName": "Avalonia.Host.Com.IAvnControlKeyUpHandler", + "handlerInterfaceIid": "B4FC3B9A-CF71-5EBB-9852-A46AEC80C6FE", + "handlerInterfaceAbiVersion": 1, + "payloadKind": "Fields", + "managedHandlerTypeName": "System.EventHandler\u003CAvalonia.Input.KeyEventArgs\u003E", + "parameters": [ + { + "name": "Key", + "kind": "I32", + "direction": "In", + "managedTypeName": "Avalonia.Input.Key", + "isNullable": false + }, + { + "name": "PhysicalKey", + "kind": "I32", + "direction": "In", + "managedTypeName": "Avalonia.Input.PhysicalKey", + "isNullable": false + }, + { + "name": "KeyModifiers", + "kind": "I32", + "direction": "In", + "managedTypeName": "Avalonia.Input.KeyModifiers", + "isNullable": false + }, + { + "name": "KeySymbol", + "kind": "StringUtf16", + "direction": "In", + "managedTypeName": "System.String", + "isNullable": true + }, + { + "name": "Handled", + "kind": "Bool", + "direction": "InOut", + "managedTypeName": "System.Boolean", + "isNullable": false + } + ] + }, { "name": "PointerEntered", "handlerInterfaceName": "Avalonia.Host.Com.IAvnControlPointerEnteredHandler", "handlerInterfaceIid": "CC8694AC-C51C-5791-A898-1B0DE4D84DC8", "handlerInterfaceAbiVersion": 1, - "payloadKind": "None", + "payloadKind": "Fields", "managedHandlerTypeName": "System.EventHandler\u003CAvalonia.Input.PointerEventArgs\u003E", - "parameters": [] + "parameters": [ + { + "name": "KeyModifiers", + "kind": "I32", + "direction": "In", + "managedTypeName": "Avalonia.Input.KeyModifiers", + "isNullable": false + } + ] }, { "name": "PointerExited", "handlerInterfaceName": "Avalonia.Host.Com.IAvnControlPointerExitedHandler", "handlerInterfaceIid": "218295EF-A88D-5B93-8A33-97ABD41E6645", "handlerInterfaceAbiVersion": 1, - "payloadKind": "None", + "payloadKind": "Fields", "managedHandlerTypeName": "System.EventHandler\u003CAvalonia.Input.PointerEventArgs\u003E", + "parameters": [ + { + "name": "KeyModifiers", + "kind": "I32", + "direction": "In", + "managedTypeName": "Avalonia.Input.KeyModifiers", + "isNullable": false + } + ] + }, + { + "name": "PointerWheelChanged", + "handlerInterfaceName": "Avalonia.Host.Com.IAvnControlPointerWheelChangedHandler", + "handlerInterfaceIid": "4318E60A-86C6-5142-8600-0D61AA20CE93", + "handlerInterfaceAbiVersion": 1, + "payloadKind": "Fields", + "managedHandlerTypeName": "System.EventHandler\u003CAvalonia.Input.PointerWheelEventArgs\u003E", + "parameters": [ + { + "name": "Delta", + "kind": "Vector", + "direction": "In", + "managedTypeName": "Avalonia.Vector", + "isNullable": false + }, + { + "name": "KeyModifiers", + "kind": "I32", + "direction": "In", + "managedTypeName": "Avalonia.Input.KeyModifiers", + "isNullable": false + } + ] + }, + { + "name": "Tapped", + "handlerInterfaceName": "Avalonia.Host.Com.IAvnControlTappedHandler", + "handlerInterfaceIid": "7784D53F-FAEE-5089-8844-C9F5CC3E8632", + "handlerInterfaceAbiVersion": 1, + "payloadKind": "Fields", + "managedHandlerTypeName": "System.EventHandler\u003CAvalonia.Input.TappedEventArgs\u003E", + "parameters": [ + { + "name": "KeyModifiers", + "kind": "I32", + "direction": "In", + "managedTypeName": "Avalonia.Input.KeyModifiers", + "isNullable": false + } + ] + }, + { + "name": "DoubleTapped", + "handlerInterfaceName": "Avalonia.Host.Com.IAvnControlDoubleTappedHandler", + "handlerInterfaceIid": "11D5E069-AEFD-566B-92CC-CDB483877C33", + "handlerInterfaceAbiVersion": 1, + "payloadKind": "None", + "managedHandlerTypeName": "System.EventHandler\u003CAvalonia.Input.TappedEventArgs\u003E", "parameters": [] } ] @@ -2196,8 +2379,8 @@ "name": "IAvnDatePicker", "fullName": "Avalonia.Host.Com.IAvnDatePicker", "kind": "Class", - "iid": "5C7D5B90-EC20-5621-BE13-EADAB8A0701B", - "abiVersion": 11, + "iid": "2AAFC151-688F-5326-B651-D022BD55487D", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.DatePicker", "isConstructible": true, @@ -2336,8 +2519,8 @@ "name": "IAvnDecorator", "fullName": "Avalonia.Host.Com.IAvnDecorator", "kind": "Class", - "iid": "57E09C6B-A22C-5F01-B65C-E54C3DD55E6C", - "abiVersion": 10, + "iid": "F8530439-ABA5-5B16-9C0B-2132D4EFD205", + "abiVersion": 13, "baseFullName": "Avalonia.Host.Com.IAvnControl", "managedFullName": "Avalonia.Controls.Decorator", "isConstructible": true, @@ -2369,8 +2552,8 @@ "name": "IAvnDockPanel", "fullName": "Avalonia.Host.Com.IAvnDockPanel", "kind": "Class", - "iid": "F0C3E239-81CB-544D-9CEF-73B1D04C1FB3", - "abiVersion": 11, + "iid": "63D1EF80-EEE5-50CA-B1A7-C6008560BFD3", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnPanel", "managedFullName": "Avalonia.Controls.DockPanel", "isConstructible": true, @@ -2410,8 +2593,8 @@ "name": "IAvnDropDownButton", "fullName": "Avalonia.Host.Com.IAvnDropDownButton", "kind": "Class", - "iid": "7CDEF76D-7FD4-5552-B591-2D98140A7A63", - "abiVersion": 11, + "iid": "99F4E9B6-DAAC-55B1-AFDE-75D38A5C2491", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnButton", "managedFullName": "Avalonia.Controls.DropDownButton", "isConstructible": true, @@ -2423,8 +2606,8 @@ "name": "IAvnExpander", "fullName": "Avalonia.Host.Com.IAvnExpander", "kind": "Class", - "iid": "24CFAB36-1C9D-5E25-AE07-E91DA6B3A21C", - "abiVersion": 13, + "iid": "014D8342-03F6-590B-AFF5-A82C0EB376BB", + "abiVersion": 16, "baseFullName": "Avalonia.Host.Com.IAvnHeaderedContentControl", "managedFullName": "Avalonia.Controls.Expander", "isConstructible": true, @@ -2508,8 +2691,8 @@ "name": "IAvnFlexPanel", "fullName": "Avalonia.Host.Com.IAvnFlexPanel", "kind": "Class", - "iid": "299F0D1D-2C19-5531-A4C9-327C784B297D", - "abiVersion": 8, + "iid": "82049C23-F315-5A82-86D9-845D8B82BA59", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnPanel", "managedFullName": "Avalonia.Controls.FlexPanel", "isConstructible": true, @@ -2619,8 +2802,8 @@ "name": "IAvnGrid", "fullName": "Avalonia.Host.Com.IAvnGrid", "kind": "Class", - "iid": "55E75D4C-FC75-51A9-BA87-6D28704EAFC8", - "abiVersion": 12, + "iid": "028C589C-2C52-5505-9CD2-36A25B4F43A6", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnPanel", "managedFullName": "Avalonia.Controls.Grid", "isConstructible": true, @@ -2678,8 +2861,8 @@ "name": "IAvnGridSplitter", "fullName": "Avalonia.Host.Com.IAvnGridSplitter", "kind": "Class", - "iid": "DBCA4F68-AFEE-5885-938A-194E7DE5C551", - "abiVersion": 10, + "iid": "135352FD-917A-577E-A428-D1B608274411", + "abiVersion": 13, "baseFullName": "Avalonia.Host.Com.IAvnThumb", "managedFullName": "Avalonia.Controls.GridSplitter", "isConstructible": true, @@ -2737,8 +2920,8 @@ "name": "IAvnGroupBox", "fullName": "Avalonia.Host.Com.IAvnGroupBox", "kind": "Class", - "iid": "48EE658E-57F1-5550-AEB5-766477C616BD", - "abiVersion": 9, + "iid": "83F8FB71-5FB5-5C67-9EDA-9B1948172B9E", + "abiVersion": 12, "baseFullName": "Avalonia.Host.Com.IAvnHeaderedContentControl", "managedFullName": "Avalonia.Controls.GroupBox", "isConstructible": true, @@ -2750,8 +2933,8 @@ "name": "IAvnHyperlinkButton", "fullName": "Avalonia.Host.Com.IAvnHyperlinkButton", "kind": "Class", - "iid": "BA5D6CE2-B42B-5ED0-B288-9775606E1802", - "abiVersion": 11, + "iid": "8130735B-8051-5246-9914-2489E9C8BEA6", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnButton", "managedFullName": "Avalonia.Controls.HyperlinkButton", "isConstructible": true, @@ -2783,8 +2966,8 @@ "name": "IAvnIconElement", "fullName": "Avalonia.Host.Com.IAvnIconElement", "kind": "Class", - "iid": "27129D51-9086-5E87-97F2-A7B30B2F7A32", - "abiVersion": 9, + "iid": "32A49476-DB0C-5038-B888-A66D122EC557", + "abiVersion": 12, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.IconElement", "isConstructible": false, @@ -2796,8 +2979,8 @@ "name": "IAvnImage", "fullName": "Avalonia.Host.Com.IAvnImage", "kind": "Class", - "iid": "ACC338F6-8C35-57F4-BB82-4A3F397B130F", - "abiVersion": 8, + "iid": "3BE59E46-0ECC-595F-85C0-3CD46F76D9B7", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnControl", "managedFullName": "Avalonia.Controls.Image", "isConstructible": true, @@ -2847,8 +3030,8 @@ "name": "IAvnItemsControl", "fullName": "Avalonia.Host.Com.IAvnItemsControl", "kind": "Class", - "iid": "D985D274-6EFC-5423-B74F-7A73133992FC", - "abiVersion": 15, + "iid": "C6061984-593E-5875-8956-4B5C4B6D886C", + "abiVersion": 18, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.ItemsControl", "isConstructible": true, @@ -3029,8 +3212,8 @@ "name": "IAvnLabel", "fullName": "Avalonia.Host.Com.IAvnLabel", "kind": "Class", - "iid": "621B0405-7E33-56EE-8FF0-E1CA604209BD", - "abiVersion": 10, + "iid": "C85D82E9-5381-5B73-BB11-C547CEFA8A19", + "abiVersion": 13, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.Label", "isConstructible": true, @@ -3053,8 +3236,8 @@ "name": "IAvnLayoutTransformControl", "fullName": "Avalonia.Host.Com.IAvnLayoutTransformControl", "kind": "Class", - "iid": "39D82382-98B4-510A-AE62-19E9BBA13698", - "abiVersion": 8, + "iid": "D19B8CD6-21FB-5F7C-985B-A486532461A7", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnDecorator", "managedFullName": "Avalonia.Controls.LayoutTransformControl", "isConstructible": true, @@ -3076,8 +3259,8 @@ "name": "IAvnListBox", "fullName": "Avalonia.Host.Com.IAvnListBox", "kind": "Class", - "iid": "B5B6A7D1-B302-56BB-93A9-D53237708632", - "abiVersion": 16, + "iid": "FD704B9F-4E33-516E-B48D-B1DC9AA44DCA", + "abiVersion": 19, "baseFullName": "Avalonia.Host.Com.IAvnSelectingItemsControl", "managedFullName": "Avalonia.Controls.ListBox", "isConstructible": true, @@ -3114,8 +3297,8 @@ "name": "IAvnListBoxItem", "fullName": "Avalonia.Host.Com.IAvnListBoxItem", "kind": "Class", - "iid": "19A8B0AF-1926-5DE4-B6EC-5E2F026831B6", - "abiVersion": 15, + "iid": "D177A044-40A9-5BD2-B9D5-BC3B24F6F87E", + "abiVersion": 18, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.ListBoxItem", "isConstructible": true, @@ -3137,8 +3320,8 @@ "name": "IAvnMaskedTextBox", "fullName": "Avalonia.Host.Com.IAvnMaskedTextBox", "kind": "Class", - "iid": "C7B40FDD-3EBA-55CF-84BF-5FAD22229908", - "abiVersion": 15, + "iid": "1C1A91B2-4417-5AB6-A25A-AF72F57B5640", + "abiVersion": 18, "baseFullName": "Avalonia.Host.Com.IAvnTextBox", "managedFullName": "Avalonia.Controls.MaskedTextBox", "isConstructible": true, @@ -3223,8 +3406,8 @@ "name": "IAvnMenu", "fullName": "Avalonia.Host.Com.IAvnMenu", "kind": "Class", - "iid": "E97435D8-8BC7-5A16-B1D1-4B976008F341", - "abiVersion": 12, + "iid": "7494D34A-1A50-5EB7-8532-D5A9CA3992B5", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnMenuBase", "managedFullName": "Avalonia.Controls.Menu", "isConstructible": true, @@ -3236,8 +3419,8 @@ "name": "IAvnMenuBase", "fullName": "Avalonia.Host.Com.IAvnMenuBase", "kind": "Class", - "iid": "BAB46325-4D7E-54C4-B8E0-69A647E2BFC6", - "abiVersion": 12, + "iid": "A5A9B117-B812-50DC-BEAA-D81CDAE4070D", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnSelectingItemsControl", "managedFullName": "Avalonia.Controls.MenuBase", "isConstructible": false, @@ -3343,8 +3526,8 @@ "name": "IAvnMenuItem", "fullName": "Avalonia.Host.Com.IAvnMenuItem", "kind": "Class", - "iid": "1A9E2536-7437-553C-AFB6-681CF15021FF", - "abiVersion": 15, + "iid": "1863F45C-1039-5C4E-9668-433606E91AB9", + "abiVersion": 18, "baseFullName": "Avalonia.Host.Com.IAvnHeaderedSelectingItemsControl", "managedFullName": "Avalonia.Controls.MenuItem", "isConstructible": true, @@ -3510,8 +3693,8 @@ "name": "IAvnNotificationCard", "fullName": "Avalonia.Host.Com.IAvnNotificationCard", "kind": "Class", - "iid": "DF540B6A-58F6-59F6-B3DB-F8FD04665402", - "abiVersion": 10, + "iid": "9E79955D-2569-59C2-9A3A-25FE0AE56026", + "abiVersion": 13, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.Notifications.NotificationCard", "isConstructible": true, @@ -3569,8 +3752,8 @@ "name": "IAvnWindowNotificationManager", "fullName": "Avalonia.Host.Com.IAvnWindowNotificationManager", "kind": "Class", - "iid": "D4C37646-AAD1-5B56-A260-D0AB8CFE0936", - "abiVersion": 10, + "iid": "C159F361-BE6C-5268-8A0B-E12F633F395C", + "abiVersion": 13, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.Notifications.WindowNotificationManager", "isConstructible": true, @@ -3671,8 +3854,8 @@ "name": "IAvnNumericUpDown", "fullName": "Avalonia.Host.Com.IAvnNumericUpDown", "kind": "Class", - "iid": "5F487A30-39D1-524A-9A6E-01E584452E03", - "abiVersion": 10, + "iid": "5B2AA4AD-E367-58A1-99ED-8122D7C9B209", + "abiVersion": 13, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.NumericUpDown", "isConstructible": true, @@ -3877,11 +4060,28 @@ { "name": "ValueChanged", "handlerInterfaceName": "Avalonia.Host.Com.IAvnNumericUpDownValueChangedHandler", - "handlerInterfaceIid": "68A72F63-B469-5312-925F-F7FCCF35A0DF", - "handlerInterfaceAbiVersion": 1, - "payloadKind": "None", + "handlerInterfaceIid": "A605166E-63BA-5359-A3F5-997F780B611B", + "handlerInterfaceAbiVersion": 2, + "payloadKind": "Fields", "managedHandlerTypeName": "System.EventHandler\u003CAvalonia.Controls.NumericUpDownValueChangedEventArgs\u003E", - "parameters": [] + "parameters": [ + { + "name": "OldValue", + "kind": "StringUtf16", + "direction": "In", + "managedTypeName": "System.Nullable\u00601[[System.Decimal, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]", + "isNullable": true, + "stringConverterTypeName": "Avalonia.Host.Com.AvnDecimal" + }, + { + "name": "NewValue", + "kind": "StringUtf16", + "direction": "In", + "managedTypeName": "System.Nullable\u00601[[System.Decimal, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]", + "isNullable": true, + "stringConverterTypeName": "Avalonia.Host.Com.AvnDecimal" + } + ] } ] }, @@ -3889,8 +4089,8 @@ "name": "IAvnPanel", "fullName": "Avalonia.Host.Com.IAvnPanel", "kind": "Class", - "iid": "79DAA937-B232-5B99-84FB-E3D64124EDA5", - "abiVersion": 11, + "iid": "FE37643D-BDE5-511B-AB66-CB66B73F685F", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnControl", "managedFullName": "Avalonia.Controls.Panel", "isConstructible": true, @@ -3927,8 +4127,8 @@ "name": "IAvnPathIcon", "fullName": "Avalonia.Host.Com.IAvnPathIcon", "kind": "Class", - "iid": "F220C58A-4D65-5882-8D9D-EBE5F0A1D9A4", - "abiVersion": 9, + "iid": "9C821A9C-6A11-5E74-8D69-A637662CD292", + "abiVersion": 12, "baseFullName": "Avalonia.Host.Com.IAvnIconElement", "managedFullName": "Avalonia.Controls.PathIcon", "isConstructible": true, @@ -3951,8 +4151,8 @@ "name": "IAvnPipsPager", "fullName": "Avalonia.Host.Com.IAvnPipsPager", "kind": "Class", - "iid": "03DEC932-3B73-5A8C-9CE7-9E82F4FADE70", - "abiVersion": 10, + "iid": "B23699D7-ACE9-5D8F-85ED-216C49DEBE3E", + "abiVersion": 13, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.PipsPager", "isConstructible": true, @@ -4105,8 +4305,8 @@ "name": "IAvnHeaderedContentControl", "fullName": "Avalonia.Host.Com.IAvnHeaderedContentControl", "kind": "Class", - "iid": "326C8A38-FA42-51F4-9041-E7FD0FFFB696", - "abiVersion": 13, + "iid": "0408F0EA-5BA0-54C6-A8E6-979328FBE88C", + "abiVersion": 16, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.Primitives.HeaderedContentControl", "isConstructible": true, @@ -4139,8 +4339,8 @@ "name": "IAvnHeaderedItemsControl", "fullName": "Avalonia.Host.Com.IAvnHeaderedItemsControl", "kind": "Class", - "iid": "E4AB3702-5F01-59CF-9F5E-3C3DD281533F", - "abiVersion": 12, + "iid": "2E4EBFCB-EA24-5842-ABC1-0DC137ED31DA", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnItemsControl", "managedFullName": "Avalonia.Controls.Primitives.HeaderedItemsControl", "isConstructible": true, @@ -4173,8 +4373,8 @@ "name": "IAvnHeaderedSelectingItemsControl", "fullName": "Avalonia.Host.Com.IAvnHeaderedSelectingItemsControl", "kind": "Class", - "iid": "E0CB1C51-192B-5B9B-8A19-72EE4C68C27D", - "abiVersion": 12, + "iid": "723DA9D6-8356-5967-83E1-0E0A4B1C1B2C", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnSelectingItemsControl", "managedFullName": "Avalonia.Controls.Primitives.HeaderedSelectingItemsControl", "isConstructible": true, @@ -4207,8 +4407,8 @@ "name": "IAvnPopup", "fullName": "Avalonia.Host.Com.IAvnPopup", "kind": "Class", - "iid": "4F10A2E5-D393-52F5-97CB-0DDA9411F6E4", - "abiVersion": 8, + "iid": "C8FAC379-F367-5D83-9ABF-46EF6FCB778B", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnControl", "managedFullName": "Avalonia.Controls.Primitives.Popup", "isConstructible": true, @@ -4615,8 +4815,8 @@ "name": "IAvnRangeBase", "fullName": "Avalonia.Host.Com.IAvnRangeBase", "kind": "Class", - "iid": "C2C5CCBC-F621-560A-B6F6-87A286DAB50B", - "abiVersion": 12, + "iid": "4B50BE51-3AF1-5ED3-B29F-61E8728F05C9", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.Primitives.RangeBase", "isConstructible": false, @@ -4672,11 +4872,26 @@ { "name": "ValueChanged", "handlerInterfaceName": "Avalonia.Host.Com.IAvnRangeBaseValueChangedHandler", - "handlerInterfaceIid": "DAEDA8F7-D1F6-54B6-900D-4AAB0B0C72BA", - "handlerInterfaceAbiVersion": 1, - "payloadKind": "None", + "handlerInterfaceIid": "D71E5403-7A7E-5C5A-8A48-4C89346F0179", + "handlerInterfaceAbiVersion": 2, + "payloadKind": "Fields", "managedHandlerTypeName": "System.EventHandler\u003CAvalonia.Controls.Primitives.RangeBaseValueChangedEventArgs\u003E", - "parameters": [] + "parameters": [ + { + "name": "OldValue", + "kind": "F64", + "direction": "In", + "managedTypeName": "System.Double", + "isNullable": false + }, + { + "name": "NewValue", + "kind": "F64", + "direction": "In", + "managedTypeName": "System.Double", + "isNullable": false + } + ] } ] }, @@ -4684,8 +4899,8 @@ "name": "IAvnSelectingItemsControl", "fullName": "Avalonia.Host.Com.IAvnSelectingItemsControl", "kind": "Class", - "iid": "B2D5F624-DE4C-5278-977F-9EB764DD6B2F", - "abiVersion": 15, + "iid": "BF3CA6E3-C054-5059-AFE7-20E38D9B9DE8", + "abiVersion": 18, "baseFullName": "Avalonia.Host.Com.IAvnItemsControl", "managedFullName": "Avalonia.Controls.Primitives.SelectingItemsControl", "isConstructible": true, @@ -4750,11 +4965,28 @@ { "name": "SelectionChanged", "handlerInterfaceName": "Avalonia.Host.Com.IAvnSelectingItemsControlSelectionChangedHandler", - "handlerInterfaceIid": "80E817ED-8F0E-5208-9EFD-ECBDEBC56A46", - "handlerInterfaceAbiVersion": 1, - "payloadKind": "None", + "handlerInterfaceIid": "D9AAACF6-E516-52AC-ABBE-3E0210379161", + "handlerInterfaceAbiVersion": 2, + "payloadKind": "Args", "managedHandlerTypeName": "System.EventHandler\u003CAvalonia.Controls.SelectionChangedEventArgs\u003E", - "parameters": [] + "argsInterfaceName": "Avalonia.Host.Com.IAvnSelectingItemsControlSelectionChangedArgs", + "argsInterfaceIid": "A5A998E3-805F-5BB9-BE35-4ACCDA82BD37", + "parameters": [ + { + "name": "AddedItems", + "kind": "Variant", + "direction": "In", + "managedTypeName": "System.Collections.IList", + "isNullable": false + }, + { + "name": "RemovedItems", + "kind": "Variant", + "direction": "In", + "managedTypeName": "System.Collections.IList", + "isNullable": false + } + ] } ] }, @@ -4762,8 +4994,8 @@ "name": "IAvnTemplatedControl", "fullName": "Avalonia.Host.Com.IAvnTemplatedControl", "kind": "Class", - "iid": "D71DF481-E9FE-5463-BDA3-7C0546C5716A", - "abiVersion": 12, + "iid": "1863F34C-F21F-5977-A305-5939D80CB8C5", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnControl", "managedFullName": "Avalonia.Controls.Primitives.TemplatedControl", "isConstructible": true, @@ -4909,8 +5141,8 @@ "name": "IAvnThumb", "fullName": "Avalonia.Host.Com.IAvnThumb", "kind": "Class", - "iid": "D4BA0A24-A5D3-56FE-B486-868C8C5A52B6", - "abiVersion": 10, + "iid": "E465D453-88D0-5CD1-AF2C-389B5D80BE4D", + "abiVersion": 13, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.Primitives.Thumb", "isConstructible": true, @@ -4974,8 +5206,8 @@ "name": "IAvnToggleButton", "fullName": "Avalonia.Host.Com.IAvnToggleButton", "kind": "Class", - "iid": "978AD791-8ABE-5494-B9AB-B29937062870", - "abiVersion": 16, + "iid": "AA447DC6-1470-599E-B0F5-27BF313DC7E7", + "abiVersion": 19, "baseFullName": "Avalonia.Host.Com.IAvnButton", "managedFullName": "Avalonia.Controls.Primitives.ToggleButton", "isConstructible": true, @@ -5016,8 +5248,8 @@ "name": "IAvnUniformGrid", "fullName": "Avalonia.Host.Com.IAvnUniformGrid", "kind": "Class", - "iid": "B6DABE9A-7AED-5BCF-B889-A715EC08D5E4", - "abiVersion": 8, + "iid": "8B8511AD-3289-5415-A03D-E0265549A876", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnPanel", "managedFullName": "Avalonia.Controls.Primitives.UniformGrid", "isConstructible": true, @@ -5075,8 +5307,8 @@ "name": "IAvnProgressBar", "fullName": "Avalonia.Host.Com.IAvnProgressBar", "kind": "Class", - "iid": "54861122-E527-532B-A444-76CB502B041E", - "abiVersion": 13, + "iid": "5B810486-98CC-51F9-8F12-46A095595BB4", + "abiVersion": 16, "baseFullName": "Avalonia.Host.Com.IAvnRangeBase", "managedFullName": "Avalonia.Controls.ProgressBar", "isConstructible": true, @@ -5134,8 +5366,8 @@ "name": "IAvnRadioButton", "fullName": "Avalonia.Host.Com.IAvnRadioButton", "kind": "Class", - "iid": "45D712D8-A144-589A-9053-4333B61428BF", - "abiVersion": 16, + "iid": "FBEA357A-8E1A-5579-A0CF-4FD48895DADB", + "abiVersion": 19, "baseFullName": "Avalonia.Host.Com.IAvnToggleButton", "managedFullName": "Avalonia.Controls.RadioButton", "isConstructible": true, @@ -5157,8 +5389,8 @@ "name": "IAvnRefreshContainer", "fullName": "Avalonia.Host.Com.IAvnRefreshContainer", "kind": "Class", - "iid": "C83268B7-A9D2-51FA-B7C7-E9891E412A9B", - "abiVersion": 10, + "iid": "8A61432D-C34F-51D2-8ACC-E36D3D639DC7", + "abiVersion": 13, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.RefreshContainer", "isConstructible": true, @@ -5207,8 +5439,8 @@ "name": "IAvnRelativePanel", "fullName": "Avalonia.Host.Com.IAvnRelativePanel", "kind": "Class", - "iid": "4A52A408-9843-5FFA-B1CC-4575FA75B2D5", - "abiVersion": 8, + "iid": "65247A43-88C6-51B3-91A5-4DD646410156", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnPanel", "managedFullName": "Avalonia.Controls.RelativePanel", "isConstructible": true, @@ -5220,8 +5452,8 @@ "name": "IAvnRepeatButton", "fullName": "Avalonia.Host.Com.IAvnRepeatButton", "kind": "Class", - "iid": "A0647C03-65F2-5FE4-A38E-B4A610F740A0", - "abiVersion": 11, + "iid": "4F04D781-4A77-5C93-812D-3D1DFC10627C", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnButton", "managedFullName": "Avalonia.Controls.RepeatButton", "isConstructible": true, @@ -5252,8 +5484,8 @@ "name": "IAvnScrollViewer", "fullName": "Avalonia.Host.Com.IAvnScrollViewer", "kind": "Class", - "iid": "597E4640-680B-5499-A4F0-D90B8F0539C7", - "abiVersion": 15, + "iid": "1D6C37FA-326B-57A1-A084-7790E0CE2973", + "abiVersion": 18, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.ScrollViewer", "isConstructible": true, @@ -5551,8 +5783,8 @@ "name": "IAvnSelectableTextBlock", "fullName": "Avalonia.Host.Com.IAvnSelectableTextBlock", "kind": "Class", - "iid": "4C1CFF48-0D3A-5934-A1DA-6939E75C5678", - "abiVersion": 11, + "iid": "11DADAD8-19AB-5C0C-9614-00DD412570F8", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnTextBlock", "managedFullName": "Avalonia.Controls.SelectableTextBlock", "isConstructible": true, @@ -5655,8 +5887,8 @@ "name": "IAvnSeparator", "fullName": "Avalonia.Host.Com.IAvnSeparator", "kind": "Class", - "iid": "FD4ADF2C-46AF-58ED-B8D1-2B813D56A4C0", - "abiVersion": 9, + "iid": "81DB67FE-E07A-5DD4-B16C-1E099FC059FB", + "abiVersion": 12, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.Separator", "isConstructible": true, @@ -5668,8 +5900,8 @@ "name": "IAvnArc", "fullName": "Avalonia.Host.Com.IAvnArc", "kind": "Class", - "iid": "80597080-EEDD-5CAA-B4F1-88D78CA23B79", - "abiVersion": 8, + "iid": "2DACA1F8-5364-5CB5-B471-81682B00E389", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnShape", "managedFullName": "Avalonia.Controls.Shapes.Arc", "isConstructible": true, @@ -5700,8 +5932,8 @@ "name": "IAvnEllipse", "fullName": "Avalonia.Host.Com.IAvnEllipse", "kind": "Class", - "iid": "613206FF-5917-53D8-A928-1BDE309FB7F1", - "abiVersion": 8, + "iid": "71442BCB-5E0D-53BF-B4C8-4BE39A9E1910", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnShape", "managedFullName": "Avalonia.Controls.Shapes.Ellipse", "isConstructible": true, @@ -5713,8 +5945,8 @@ "name": "IAvnLine", "fullName": "Avalonia.Host.Com.IAvnLine", "kind": "Class", - "iid": "F302A345-5295-5A86-B520-224278B68EAB", - "abiVersion": 8, + "iid": "E432CA0E-417D-584A-A0AB-884ACB73A6F6", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnShape", "managedFullName": "Avalonia.Controls.Shapes.Line", "isConstructible": true, @@ -5745,8 +5977,8 @@ "name": "IAvnPath", "fullName": "Avalonia.Host.Com.IAvnPath", "kind": "Class", - "iid": "4EC11C5B-9EAE-57CB-ACC2-EB2E609490AC", - "abiVersion": 8, + "iid": "E663EA07-D965-5E67-922A-CA932B4883EF", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnShape", "managedFullName": "Avalonia.Controls.Shapes.Path", "isConstructible": true, @@ -5769,8 +6001,8 @@ "name": "IAvnPolygon", "fullName": "Avalonia.Host.Com.IAvnPolygon", "kind": "Class", - "iid": "48E18C96-9363-5066-9A67-123E153A0919", - "abiVersion": 8, + "iid": "0AAD3814-FD24-5051-AED3-FB090E1C0A3F", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnShape", "managedFullName": "Avalonia.Controls.Shapes.Polygon", "isConstructible": true, @@ -5802,8 +6034,8 @@ "name": "IAvnPolyline", "fullName": "Avalonia.Host.Com.IAvnPolyline", "kind": "Class", - "iid": "9BACEFB3-B663-55EB-AF28-46001BA3A32B", - "abiVersion": 8, + "iid": "5CBDF633-9B36-5DDE-BFBE-48FD2FA54C99", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnShape", "managedFullName": "Avalonia.Controls.Shapes.Polyline", "isConstructible": true, @@ -5835,8 +6067,8 @@ "name": "IAvnRectangle", "fullName": "Avalonia.Host.Com.IAvnRectangle", "kind": "Class", - "iid": "4C789DD6-03C9-5FC7-A38E-050060C28908", - "abiVersion": 8, + "iid": "18F60995-254F-5AC8-8101-5DF9A44EE488", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnShape", "managedFullName": "Avalonia.Controls.Shapes.Rectangle", "isConstructible": true, @@ -5867,8 +6099,8 @@ "name": "IAvnSector", "fullName": "Avalonia.Host.Com.IAvnSector", "kind": "Class", - "iid": "BEB2012E-DE97-5F61-B066-1E1D924A192A", - "abiVersion": 8, + "iid": "B5A66A03-1739-5B83-B5BB-748E76AF1B27", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnShape", "managedFullName": "Avalonia.Controls.Shapes.Sector", "isConstructible": true, @@ -5899,8 +6131,8 @@ "name": "IAvnShape", "fullName": "Avalonia.Host.Com.IAvnShape", "kind": "Class", - "iid": "68C7A91F-DBEE-56E2-9A87-24B2B66D30AC", - "abiVersion": 8, + "iid": "9B09B01F-E387-5C6F-BB9B-605FC43BA233", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnControl", "managedFullName": "Avalonia.Controls.Shapes.Shape", "isConstructible": false, @@ -5999,8 +6231,8 @@ "name": "IAvnSlider", "fullName": "Avalonia.Host.Com.IAvnSlider", "kind": "Class", - "iid": "704B6BAF-7A44-5CFE-A14B-440A8471D0B9", - "abiVersion": 12, + "iid": "87C098D1-E3D8-5297-8EFB-B039EF2C9CB5", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnRangeBase", "managedFullName": "Avalonia.Controls.Slider", "isConstructible": true, @@ -6068,8 +6300,8 @@ "name": "IAvnSpinner", "fullName": "Avalonia.Host.Com.IAvnSpinner", "kind": "Class", - "iid": "6AAEEDDC-0307-57B2-9FA5-30A27DC1958E", - "abiVersion": 9, + "iid": "B3D288E3-9138-530A-96BE-4B274DF115F2", + "abiVersion": 12, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.Spinner", "isConstructible": false, @@ -6116,8 +6348,8 @@ "name": "IAvnSplitButton", "fullName": "Avalonia.Host.Com.IAvnSplitButton", "kind": "Class", - "iid": "1937A395-DF68-5F9F-94C1-07246380573C", - "abiVersion": 12, + "iid": "E162F1F5-7BC8-59CB-82D6-9A2A47F68884", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.SplitButton", "isConstructible": true, @@ -6178,8 +6410,8 @@ "name": "IAvnSplitView", "fullName": "Avalonia.Host.Com.IAvnSplitView", "kind": "Class", - "iid": "51ED3B0D-0AAB-5AA3-9C4E-501C6027E774", - "abiVersion": 9, + "iid": "5AA9070F-D947-566B-931C-EF80550EE63E", + "abiVersion": 12, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.SplitView", "isConstructible": true, @@ -6330,8 +6562,8 @@ "name": "IAvnStackPanel", "fullName": "Avalonia.Host.Com.IAvnStackPanel", "kind": "Class", - "iid": "2104EA3B-6DCB-5691-AE36-AB75B819F283", - "abiVersion": 12, + "iid": "6CBE349A-E815-55A1-BBD8-B43951567DC1", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnPanel", "managedFullName": "Avalonia.Controls.StackPanel", "isConstructible": true, @@ -6380,8 +6612,8 @@ "name": "IAvnTabControl", "fullName": "Avalonia.Host.Com.IAvnTabControl", "kind": "Class", - "iid": "C4664936-3D85-52A7-B48C-4CC32CA9B3A1", - "abiVersion": 12, + "iid": "08959EF6-348B-51EC-8BE3-D3AE47B861BF", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnSelectingItemsControl", "managedFullName": "Avalonia.Controls.TabControl", "isConstructible": true, @@ -6460,8 +6692,8 @@ "name": "IAvnTabItem", "fullName": "Avalonia.Host.Com.IAvnTabItem", "kind": "Class", - "iid": "F2FF8148-506B-5823-B99B-F10DD06AC7DE", - "abiVersion": 11, + "iid": "7FFA8FBC-579E-5152-A5D1-AFE128CCB470", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnHeaderedContentControl", "managedFullName": "Avalonia.Controls.TabItem", "isConstructible": true, @@ -6522,8 +6754,8 @@ "name": "IAvnTableView", "fullName": "Avalonia.Host.Com.IAvnTableView", "kind": "Class", - "iid": "B0C8BD3E-D92C-542C-8E78-9020F9F5D0D8", - "abiVersion": 13, + "iid": "8653BEA5-66FE-5479-87D0-45C9D8FDC7EC", + "abiVersion": 16, "baseFullName": "Avalonia.Host.Com.IAvnListBox", "managedFullName": "Avalonia.Controls.TableView", "isConstructible": true, @@ -6559,8 +6791,8 @@ "name": "IAvnTableViewCell", "fullName": "Avalonia.Host.Com.IAvnTableViewCell", "kind": "Class", - "iid": "5FFBD394-21E2-5FA0-A738-F81CA24CA198", - "abiVersion": 11, + "iid": "FB82C6E3-9041-5212-B897-E3DEC7EA6360", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.TableViewCell", "isConstructible": true, @@ -6678,8 +6910,8 @@ "name": "IAvnTableViewRow", "fullName": "Avalonia.Host.Com.IAvnTableViewRow", "kind": "Class", - "iid": "785207CE-7A58-5074-9CCD-5DFA0771DF61", - "abiVersion": 9, + "iid": "25F888AF-361C-5B20-ACB7-CC9D1770D898", + "abiVersion": 12, "baseFullName": "Avalonia.Host.Com.IAvnListBoxItem", "managedFullName": "Avalonia.Controls.TableViewRow", "isConstructible": true, @@ -6691,8 +6923,8 @@ "name": "IAvnTextBlock", "fullName": "Avalonia.Host.Com.IAvnTextBlock", "kind": "Class", - "iid": "70059000-39BE-58FA-9621-50CB7BBF46B1", - "abiVersion": 14, + "iid": "47E06BD1-10DC-5267-A55F-A5C3BB536285", + "abiVersion": 17, "baseFullName": "Avalonia.Host.Com.IAvnControl", "managedFullName": "Avalonia.Controls.TextBlock", "isConstructible": true, @@ -6873,8 +7105,8 @@ "name": "IAvnTextBox", "fullName": "Avalonia.Host.Com.IAvnTextBox", "kind": "Class", - "iid": "B1615F3B-C31D-56CC-A999-064FAC4EFDF8", - "abiVersion": 18, + "iid": "2CECBBEF-9113-5262-B44C-4CFD61373281", + "abiVersion": 21, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.TextBox", "isConstructible": true, @@ -7363,8 +7595,8 @@ "name": "IAvnThemeVariantScope", "fullName": "Avalonia.Host.Com.IAvnThemeVariantScope", "kind": "Class", - "iid": "F8DF5A10-5406-5E10-A614-F50B8A8BE5A6", - "abiVersion": 8, + "iid": "0C7665EE-7E88-5B31-AA6C-0B7BE88EA14B", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnDecorator", "managedFullName": "Avalonia.Controls.ThemeVariantScope", "isConstructible": true, @@ -7387,8 +7619,8 @@ "name": "IAvnTimePicker", "fullName": "Avalonia.Host.Com.IAvnTimePicker", "kind": "Class", - "iid": "512BDA86-7718-5F1E-B2DE-8BCC7534AA46", - "abiVersion": 11, + "iid": "B5A38C06-2DB2-5199-83DC-05C28A15DA69", + "abiVersion": 14, "baseFullName": "Avalonia.Host.Com.IAvnTemplatedControl", "managedFullName": "Avalonia.Controls.TimePicker", "isConstructible": true, @@ -7489,8 +7721,8 @@ "name": "IAvnToggleSplitButton", "fullName": "Avalonia.Host.Com.IAvnToggleSplitButton", "kind": "Class", - "iid": "DD4F3760-D88D-5551-BD80-CA8721DEA1E9", - "abiVersion": 12, + "iid": "A8024AE3-3329-57D6-AE6C-1E3BBAD7A7E6", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnSplitButton", "managedFullName": "Avalonia.Controls.ToggleSplitButton", "isConstructible": true, @@ -7522,8 +7754,8 @@ "name": "IAvnToggleSwitch", "fullName": "Avalonia.Host.Com.IAvnToggleSwitch", "kind": "Class", - "iid": "D36D16B3-4A9B-5BD6-9258-7125ED95B433", - "abiVersion": 16, + "iid": "EB2E63C7-1C28-5754-B26B-64BC0C2641BF", + "abiVersion": 19, "baseFullName": "Avalonia.Host.Com.IAvnToggleButton", "managedFullName": "Avalonia.Controls.ToggleSwitch", "isConstructible": true, @@ -7576,8 +7808,8 @@ "name": "IAvnToolTip", "fullName": "Avalonia.Host.Com.IAvnToolTip", "kind": "Class", - "iid": "25BC085F-0BDB-59F4-B689-A1F0A8489B19", - "abiVersion": 9, + "iid": "04F8776B-9CD2-58D3-9004-AA6B0C12E902", + "abiVersion": 12, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.ToolTip", "isConstructible": true, @@ -7589,8 +7821,8 @@ "name": "IAvnTransitioningContentControl", "fullName": "Avalonia.Host.Com.IAvnTransitioningContentControl", "kind": "Class", - "iid": "6A3336CC-B09A-5484-BB6B-3E74C762E577", - "abiVersion": 10, + "iid": "2B88F131-4CA4-529F-AA60-ED2BE719BE10", + "abiVersion": 13, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.TransitioningContentControl", "isConstructible": true, @@ -7715,8 +7947,8 @@ "name": "IAvnTreeView", "fullName": "Avalonia.Host.Com.IAvnTreeView", "kind": "Class", - "iid": "AD4500EF-D3C0-5798-BF90-5E7515E85BEE", - "abiVersion": 12, + "iid": "51F6F3E1-06E8-563F-A834-CA7D3C751B4D", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnItemsControl", "managedFullName": "Avalonia.Controls.TreeView", "isConstructible": true, @@ -7860,11 +8092,28 @@ { "name": "SelectionChanged", "handlerInterfaceName": "Avalonia.Host.Com.IAvnTreeViewSelectionChangedHandler", - "handlerInterfaceIid": "ED72A060-42CB-5648-804F-C5DCAB3CD87A", - "handlerInterfaceAbiVersion": 1, - "payloadKind": "None", + "handlerInterfaceIid": "9F8E36AD-6E33-5211-B570-EB8B0C949511", + "handlerInterfaceAbiVersion": 2, + "payloadKind": "Args", "managedHandlerTypeName": "System.EventHandler\u003CAvalonia.Controls.SelectionChangedEventArgs\u003E", - "parameters": [] + "argsInterfaceName": "Avalonia.Host.Com.IAvnTreeViewSelectionChangedArgs", + "argsInterfaceIid": "A29EDF0E-EBE4-5118-99EB-615AE00A6BD5", + "parameters": [ + { + "name": "AddedItems", + "kind": "Variant", + "direction": "In", + "managedTypeName": "System.Collections.IList", + "isNullable": false + }, + { + "name": "RemovedItems", + "kind": "Variant", + "direction": "In", + "managedTypeName": "System.Collections.IList", + "isNullable": false + } + ] } ] }, @@ -7872,8 +8121,8 @@ "name": "IAvnTreeViewItem", "fullName": "Avalonia.Host.Com.IAvnTreeViewItem", "kind": "Class", - "iid": "B4B4B178-BF7A-52CD-8B27-EFEDBEA8C60E", - "abiVersion": 12, + "iid": "489990A9-1ED5-5772-AEE6-25C4E8B8612A", + "abiVersion": 15, "baseFullName": "Avalonia.Host.Com.IAvnHeaderedItemsControl", "managedFullName": "Avalonia.Controls.TreeViewItem", "isConstructible": true, @@ -7932,8 +8181,8 @@ "name": "IAvnUserControl", "fullName": "Avalonia.Host.Com.IAvnUserControl", "kind": "Class", - "iid": "61A53A49-AD6E-58C8-88DF-DC3B769CF013", - "abiVersion": 9, + "iid": "0529D537-1B91-5234-8480-855B56086322", + "abiVersion": 12, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.UserControl", "isConstructible": true, @@ -7945,8 +8194,8 @@ "name": "IAvnViewbox", "fullName": "Avalonia.Host.Com.IAvnViewbox", "kind": "Class", - "iid": "4F61E1E8-F773-5195-B8BF-89EF6E8F6C44", - "abiVersion": 8, + "iid": "EFA9084A-769B-55F4-8101-3B6D4CB524D7", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnControl", "managedFullName": "Avalonia.Controls.Viewbox", "isConstructible": true, @@ -7987,8 +8236,8 @@ "name": "IAvnWindow", "fullName": "Avalonia.Host.Com.IAvnWindow", "kind": "Class", - "iid": "BEAAC3C0-855F-5FC1-9750-80C538F7EE87", - "abiVersion": 18, + "iid": "9A01C107-BB12-5AFE-9DAA-C5AACEF2D879", + "abiVersion": 21, "baseFullName": "Avalonia.Host.Com.IAvnContentControl", "managedFullName": "Avalonia.Controls.Window", "isConstructible": true, @@ -8258,8 +8507,8 @@ "name": "IAvnWrapPanel", "fullName": "Avalonia.Host.Com.IAvnWrapPanel", "kind": "Class", - "iid": "92500527-364F-542C-8DF0-37F08036D83F", - "abiVersion": 8, + "iid": "71831219-F14C-5D2F-A2F1-49FB979605D4", + "abiVersion": 11, "baseFullName": "Avalonia.Host.Com.IAvnPanel", "managedFullName": "Avalonia.Controls.WrapPanel", "isConstructible": true, @@ -10443,6 +10692,29 @@ } ] }, + { + "name": "NavigationMethod", + "fullName": "Avalonia.Input.NavigationMethod", + "isFlags": false, + "values": [ + { + "name": "Unspecified", + "value": 0 + }, + { + "name": "Tab", + "value": 1 + }, + { + "name": "Directional", + "value": 2 + }, + { + "name": "Pointer", + "value": 3 + } + ] + }, { "name": "PhysicalKey", "fullName": "Avalonia.Input.PhysicalKey", diff --git a/rust/regenerate-and-build.ps1 b/rust/regenerate-and-build.ps1 index a6c343f..cb33bb1 100644 --- a/rust/regenerate-and-build.ps1 +++ b/rust/regenerate-and-build.ps1 @@ -6,6 +6,7 @@ param( [switch]$SkipManagedBuild, [switch]$Test, [switch]$ValidateTemplate, + [switch]$UpdateAbiBaseline, [string]$PackageRid ) @@ -39,6 +40,19 @@ try { exit $LASTEXITCODE } + + if ($UpdateAbiBaseline) + { + Write-Host "==> [1/4] Rewriting the released ABI baseline (intentional ABI wave)" + cargo run -p avalonia-bindgen -- --write-baseline ` + (Join-Path '.' 'projection.ir.json') ` + (Join-Path '.' 'avalonia-sys' 'include' 'avalonia-rust-abi.h') ` + (Join-Path '.' 'abi-baseline.json') + if ($LASTEXITCODE -ne 0) + { + exit $LASTEXITCODE + } + } } finally { diff --git a/tests/Avalonia.Projection.Generator.Tests/BrushMarshallingEmitterTests.cs b/tests/Avalonia.Projection.Generator.Tests/BrushMarshallingEmitterTests.cs index 7df41ad..cdef82b 100644 --- a/tests/Avalonia.Projection.Generator.Tests/BrushMarshallingEmitterTests.cs +++ b/tests/Avalonia.Projection.Generator.Tests/BrushMarshallingEmitterTests.cs @@ -153,11 +153,11 @@ public void Emits_the_native_brush_vtable_and_the_chrome_slots() // Widened interfaces republish at version 4; the ones whose flattened vtable did not // move keep the version they already published. - Assert.Contains("#define I_AVN_BORDER_ABI_VERSION 12", header, StringComparison.Ordinal); - Assert.Contains("#define I_AVN_PANEL_ABI_VERSION 11", header, StringComparison.Ordinal); - Assert.Contains("#define I_AVN_TEXT_BLOCK_ABI_VERSION 14", header, StringComparison.Ordinal); - Assert.Contains("#define I_AVN_CONTROL_ABI_VERSION 8", header, StringComparison.Ordinal); - Assert.Contains("#define I_AVN_DECORATOR_ABI_VERSION 10", header, StringComparison.Ordinal); + Assert.Contains("#define I_AVN_BORDER_ABI_VERSION 15", header, StringComparison.Ordinal); + Assert.Contains("#define I_AVN_PANEL_ABI_VERSION 14", header, StringComparison.Ordinal); + Assert.Contains("#define I_AVN_TEXT_BLOCK_ABI_VERSION 17", header, StringComparison.Ordinal); + Assert.Contains("#define I_AVN_CONTROL_ABI_VERSION 11", header, StringComparison.Ordinal); + Assert.Contains("#define I_AVN_DECORATOR_ABI_VERSION 13", header, StringComparison.Ordinal); Assert.Contains( "#define I_AVN_AVALONIA_OBJECT_ABI_VERSION 2", header, diff --git a/tests/Avalonia.Projection.Generator.Tests/ComSourceEmitterTests.cs b/tests/Avalonia.Projection.Generator.Tests/ComSourceEmitterTests.cs index fbed032..8fad704 100644 --- a/tests/Avalonia.Projection.Generator.Tests/ComSourceEmitterTests.cs +++ b/tests/Avalonia.Projection.Generator.Tests/ComSourceEmitterTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.IO; using System.Linq; using Avalonia.Controls; @@ -630,7 +630,7 @@ public void Checked_in_ir_and_host_sources_match_generator() var buttonEnd = header.IndexOf("struct IAvnButton {", buttonStart, StringComparison.Ordinal); var buttonHeader = header[buttonStart..buttonEnd]; Assert.Contains("get_object_id", buttonHeader, StringComparison.Ordinal); - Assert.Contains("#define I_AVN_BUTTON_ABI_VERSION 16", header, StringComparison.Ordinal); + Assert.Contains("#define I_AVN_BUTTON_ABI_VERSION 19", header, StringComparison.Ordinal); Assert.True( buttonHeader.IndexOf("get_object_id", StringComparison.Ordinal) < buttonHeader.IndexOf("get_classes", StringComparison.Ordinal)); diff --git a/tests/Avalonia.Projection.Generator.Tests/GeometryMarshallingEmitterTests.cs b/tests/Avalonia.Projection.Generator.Tests/GeometryMarshallingEmitterTests.cs index 8b428ba..b0c0903 100644 --- a/tests/Avalonia.Projection.Generator.Tests/GeometryMarshallingEmitterTests.cs +++ b/tests/Avalonia.Projection.Generator.Tests/GeometryMarshallingEmitterTests.cs @@ -169,7 +169,7 @@ public void Kernel_header_publishes_the_geometry_structs_and_live_by_value_slots // Widening IAvnControl republishes it at version 3; IAvnAvaloniaObject projects no // members, so its vtable and version are untouched. - Assert.Contains("#define I_AVN_CONTROL_ABI_VERSION 8", header, StringComparison.Ordinal); + Assert.Contains("#define I_AVN_CONTROL_ABI_VERSION 11", header, StringComparison.Ordinal); Assert.Contains( "#define I_AVN_AVALONIA_OBJECT_ABI_VERSION 2", header, diff --git a/tests/Avalonia.Projection.Ir.Tests/ClrTypeExtractorTests.cs b/tests/Avalonia.Projection.Ir.Tests/ClrTypeExtractorTests.cs index 4908b1e..dea6ce0 100644 --- a/tests/Avalonia.Projection.Ir.Tests/ClrTypeExtractorTests.cs +++ b/tests/Avalonia.Projection.Ir.Tests/ClrTypeExtractorTests.cs @@ -170,7 +170,7 @@ public void Projects_kernel_types_properties_commands_and_nearest_bases() Assert.Equal(MarshallingKind.NullableBool, isChecked.Kind); var controlEvents = Type(ir, "IAvnControl").Events; - Assert.Equal(6, controlEvents.Count); + Assert.Equal(12, controlEvents.Count); var sizeChanged = controlEvents.Single(@event => @event.Name == "SizeChanged"); Assert.Equal(EventPayloadKind.Fields, sizeChanged.PayloadKind); Assert.Equal(2, sizeChanged.Parameters.Count); @@ -180,9 +180,38 @@ public void Projects_kernel_types_properties_commands_and_nearest_bases() Assert.Equal( ParameterDirection.InOut, keyDown.Parameters.Single(parameter => parameter.Name == "Handled").Direction); - Assert.All( - controlEvents.Where(@event => @event.Name.StartsWith("Pointer", StringComparison.Ordinal)), - @event => Assert.Equal(EventPayloadKind.None, @event.PayloadKind)); + // Wave P: KeyUp mirrors KeyDown; GotFocus carries the navigation context; LostFocus + // is a plain notification. + var keyUp = controlEvents.Single(@event => @event.Name == "KeyUp"); + Assert.Equal(EventPayloadKind.Fields, keyUp.PayloadKind); + Assert.Equal(5, keyUp.Parameters.Count); + Assert.Equal( + ParameterDirection.InOut, + keyUp.Parameters.Single(parameter => parameter.Name == "Handled").Direction); + var gotFocus = controlEvents.Single(@event => @event.Name == "GotFocus"); + Assert.Equal(EventPayloadKind.Fields, gotFocus.PayloadKind); + Assert.Equal(2, gotFocus.Parameters.Count); + Assert.Equal( + EventPayloadKind.None, + controlEvents.Single(@event => @event.Name == "LostFocus").PayloadKind); + // Wave Q: the pointer events carry the device-independent payload that does + // not need a host-typed object (modifiers; the wheel adds its Vector delta). + // DoubleTapped has no payload of its own. + foreach (var eventName in new[] { "PointerEntered", "PointerExited", "Tapped" }) + { + var pointerEvent = controlEvents.Single(@event => @event.Name == eventName); + Assert.Equal(EventPayloadKind.Fields, pointerEvent.PayloadKind); + Assert.Equal("KeyModifiers", Assert.Single(pointerEvent.Parameters).Name); + } + var wheel = controlEvents.Single(@event => @event.Name == "PointerWheelChanged"); + Assert.Equal(EventPayloadKind.Fields, wheel.PayloadKind); + Assert.Equal(MarshallingKind.Vector, + wheel.Parameters.Single(parameter => parameter.Name == "Delta").Kind); + Assert.Equal("KeyModifiers", wheel.Parameters[1].Name); + Assert.Equal( + EventPayloadKind.None, + controlEvents.Single(@event => @event.Name == "DoubleTapped").PayloadKind); + Assert.Equal(12, controlEvents.Count); Assert.All( Type(ir, "IAvnControl").Properties.Where(property => property.Name is nameof(Control.Width) or nameof(Control.Height)), @@ -283,11 +312,11 @@ public void Layout_members_keep_the_abi_version_of_the_interfaces_they_widened() // republishes with every Control growth plus its own; U19 grew ContentControl // above Decorator too. Assert.Equal(6, Type(ir, "IAvnStyledElement").AbiVersion); - Assert.Equal(8, Type(ir, "IAvnControl").AbiVersion); - Assert.Equal(10, Type(ir, "IAvnDecorator").AbiVersion); + Assert.Equal(11, Type(ir, "IAvnControl").AbiVersion); + Assert.Equal(13, Type(ir, "IAvnDecorator").AbiVersion); Assert.Equal( ClrTypeExtractor.CreateDeterministicIid( - Type(ir, "IAvnDecorator").FullName, 10), + Type(ir, "IAvnDecorator").FullName, 13), Type(ir, "IAvnDecorator").Iid); } @@ -300,9 +329,9 @@ public void Chrome_members_keep_the_abi_version_of_the_interfaces_they_widened() // so they stay on their version 4 IIDs. TemplatedControl and TextBlock moved in wave M. Assert.All( new[] { "IAvnPanel", "IAvnCanvas", "IAvnDockPanel" }, - name => { var type = Type(ir, name); Assert.Equal(11, type.AbiVersion); + name => { var type = Type(ir, name); Assert.Equal(14, type.AbiVersion); Assert.Equal( - ClrTypeExtractor.CreateDeterministicIid(type.FullName, 11), + ClrTypeExtractor.CreateDeterministicIid(type.FullName, 14), type.Iid); }); Assert.All( @@ -310,9 +339,9 @@ public void Chrome_members_keep_the_abi_version_of_the_interfaces_they_widened() name => { var type = Type(ir, name); - Assert.Equal(12, type.AbiVersion); + Assert.Equal(15, type.AbiVersion); Assert.Equal( - ClrTypeExtractor.CreateDeterministicIid(type.FullName, 12), + ClrTypeExtractor.CreateDeterministicIid(type.FullName, 15), type.Iid); }); @@ -332,9 +361,9 @@ public void Completeness_members_keep_the_abi_version_of_every_widened_interface // Grid is a Panel descendant, so it republishes with every Control/StyledElement // growth in addition to its own waves. - Assert.Equal(12, Type(ir, "IAvnGrid").AbiVersion); + Assert.Equal(15, Type(ir, "IAvnGrid").AbiVersion); Assert.Equal( - ClrTypeExtractor.CreateDeterministicIid(Type(ir, "IAvnGrid").FullName, 12), + ClrTypeExtractor.CreateDeterministicIid(Type(ir, "IAvnGrid").FullName, 15), Type(ir, "IAvnGrid").Iid); // Completeness-wave types sat at 5 until wave M grew TemplatedControl under them, @@ -345,9 +374,9 @@ public void Completeness_members_keep_the_abi_version_of_every_widened_interface name => { var type = Type(ir, name); - Assert.Equal(13, type.AbiVersion); + Assert.Equal(16, type.AbiVersion); Assert.Equal( - ClrTypeExtractor.CreateDeterministicIid(type.FullName, 13), + ClrTypeExtractor.CreateDeterministicIid(type.FullName, 16), type.Iid); }); Assert.All( @@ -355,16 +384,16 @@ public void Completeness_members_keep_the_abi_version_of_every_widened_interface name => { var type = Type(ir, name); - Assert.Equal(15, type.AbiVersion); + Assert.Equal(18, type.AbiVersion); Assert.Equal( - ClrTypeExtractor.CreateDeterministicIid(type.FullName, 15), + ClrTypeExtractor.CreateDeterministicIid(type.FullName, 18), type.Iid); }); var window = Type(ir, "IAvnWindow"); - Assert.Equal(18, window.AbiVersion); + Assert.Equal(21, window.AbiVersion); Assert.Equal( - ClrTypeExtractor.CreateDeterministicIid(window.FullName, 18), + ClrTypeExtractor.CreateDeterministicIid(window.FullName, 21), window.Iid); } @@ -375,17 +404,17 @@ public void Wave_a_controls_publish_new_interfaces_at_version_one() // Every wave A interface is brand new, so it publishes at version 1 rather than // inheriting the version its neighbours happen to sit on. - Assert.Equal(8, Type(ir, "IAvnImage").AbiVersion); + Assert.Equal(11, Type(ir, "IAvnImage").AbiVersion); // U17 republished TabItem with the items lineage; ToolTip was untouched. - Assert.Equal(11, Type(ir, "IAvnTabItem").AbiVersion); - Assert.Equal(9, Type(ir, "IAvnToolTip").AbiVersion); + Assert.Equal(14, Type(ir, "IAvnTabItem").AbiVersion); + Assert.Equal(12, Type(ir, "IAvnToolTip").AbiVersion); Assert.All( new[] { "IAvnHeaderedItemsControl", "IAvnTabControl", "IAvnTreeView", "IAvnTreeViewItem", }, - name => { var type = Type(ir, name); Assert.Equal(12, type.AbiVersion); + name => { var type = Type(ir, name); Assert.Equal(15, type.AbiVersion); }); // Wave M grew TemplatedControl, so every previously published interface below it @@ -394,12 +423,12 @@ public void Wave_a_controls_publish_new_interfaces_at_version_one() { ["IAvnAvaloniaObject"] = 2, ["IAvnStyledElement"] = 6, - ["IAvnControl"] = 8, - ["IAvnDecorator"] = 10, - ["IAvnItemsControl"] = 15, - ["IAvnSelectingItemsControl"] = 15, - ["IAvnContentControl"] = 13, - ["IAvnHeaderedContentControl"] = 13, + ["IAvnControl"] = 11, + ["IAvnDecorator"] = 13, + ["IAvnItemsControl"] = 18, + ["IAvnSelectingItemsControl"] = 18, + ["IAvnContentControl"] = 16, + ["IAvnHeaderedContentControl"] = 16, }; Assert.All(pinned, entry => { @@ -480,9 +509,13 @@ public void Projects_the_wave_a_controls_onto_the_types_that_declare_them() Assert.Equal("Avalonia.Host.Com.IAvnTreeViewItem", expand.Parameters.Single().InterfaceName); Assert.Contains(treeView.Methods, method => method.Name == nameof(TreeView.UnselectAll)); // TreeView declares its own SelectionChanged because it is not a SelectingItemsControl. + // Wave P: it carries the added/removed items on a host-implemented args interface. var treeSelectionChanged = treeView.Events.Single(); Assert.Equal("Avalonia.Host.Com.IAvnTreeViewSelectionChangedHandler", treeSelectionChanged.HandlerInterfaceName); - Assert.Equal(EventPayloadKind.None, treeSelectionChanged.PayloadKind); + Assert.Equal(EventPayloadKind.Args, treeSelectionChanged.PayloadKind); + Assert.Equal( + ["AddedItems", "RemovedItems"], + treeSelectionChanged.Parameters.Select(parameter => parameter.Name)); // TreeViewItem's Header comes from HeaderedItemsControl and crosses as a control, the // same shape HeaderedContentControl.Header already uses. @@ -520,9 +553,9 @@ public void Wave_b_controls_publish_new_interfaces_at_version_one() name => { var type = Type(ir, name); - Assert.Equal(9, type.AbiVersion); + Assert.Equal(12, type.AbiVersion); Assert.Equal( - ClrTypeExtractor.CreateDeterministicIid(type.FullName, 9), + ClrTypeExtractor.CreateDeterministicIid(type.FullName, 12), type.Iid); }); Assert.All( @@ -530,23 +563,23 @@ public void Wave_b_controls_publish_new_interfaces_at_version_one() name => { var type = Type(ir, name); - Assert.Equal(11, type.AbiVersion); + Assert.Equal(14, type.AbiVersion); Assert.Equal( - ClrTypeExtractor.CreateDeterministicIid(type.FullName, 11), + ClrTypeExtractor.CreateDeterministicIid(type.FullName, 14), type.Iid); }); Assert.All( - new[] { "IAvnMenuBase", "IAvnMenu", "IAvnHeaderedSelectingItemsControl" }, name => Assert.Equal(12, Type(ir, name).AbiVersion)); - Assert.Equal(15, Type(ir, "IAvnMenuItem").AbiVersion); + new[] { "IAvnMenuBase", "IAvnMenu", "IAvnHeaderedSelectingItemsControl" }, name => Assert.Equal(15, Type(ir, name).AbiVersion)); + Assert.Equal(18, Type(ir, "IAvnMenuItem").AbiVersion); var pinned = new Dictionary(StringComparer.Ordinal) { ["IAvnAvaloniaObject"] = 2, - ["IAvnControl"] = 8, - ["IAvnItemsControl"] = 15, - ["IAvnSelectingItemsControl"] = 15, - ["IAvnTemplatedControl"] = 12, - ["IAvnContentControl"] = 13, + ["IAvnControl"] = 11, + ["IAvnItemsControl"] = 18, + ["IAvnSelectingItemsControl"] = 18, + ["IAvnTemplatedControl"] = 15, + ["IAvnContentControl"] = 16, }; Assert.All(pinned, entry => { @@ -1141,9 +1174,9 @@ public void Wave_c_layout_panels_publish_new_interfaces_at_version_one() name => { var type = Type(ir, name); - Assert.Equal(8, type.AbiVersion); + Assert.Equal(11, type.AbiVersion); Assert.Equal( - ClrTypeExtractor.CreateDeterministicIid(type.FullName, 8), + ClrTypeExtractor.CreateDeterministicIid(type.FullName, 11), type.Iid); Assert.True(type.IsConstructible); }); @@ -1152,7 +1185,7 @@ public void Wave_c_layout_panels_publish_new_interfaces_at_version_one() name => { var type = Type(ir, name); - Assert.Equal(10, type.AbiVersion); + Assert.Equal(13, type.AbiVersion); Assert.True(type.IsConstructible); }); @@ -1251,14 +1284,14 @@ public void Wave_d_button_family_publishes_new_interfaces_at_version_one() var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); Assert.Equal(5, Type(ir, "IAvnMenuFlyout").AbiVersion); - Assert.Equal(15, Type(ir, "IAvnContextMenu").AbiVersion); + Assert.Equal(18, Type(ir, "IAvnContextMenu").AbiVersion); Assert.All( new[] { "IAvnRepeatButton", "IAvnDropDownButton", "IAvnHyperlinkButton", }, - name => { var type = Type(ir, name); Assert.Equal(11, type.AbiVersion); + name => { var type = Type(ir, name); Assert.Equal(14, type.AbiVersion); Assert.True(type.IsConstructible); }); Assert.All( @@ -1266,7 +1299,7 @@ public void Wave_d_button_family_publishes_new_interfaces_at_version_one() name => { var type = Type(ir, name); - Assert.Equal(12, type.AbiVersion); + Assert.Equal(15, type.AbiVersion); Assert.True(type.IsConstructible); }); @@ -1312,7 +1345,7 @@ public void Wave_e_input_controls_publish_new_interfaces_at_version_one() var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); var spinner = Type(ir, "IAvnSpinner"); - Assert.Equal(9, spinner.AbiVersion); + Assert.Equal(12, spinner.AbiVersion); Assert.False(spinner.IsConstructible); Assert.Equal("Avalonia.Host.Com.IAvnContentControl", spinner.BaseFullName); @@ -1321,14 +1354,14 @@ public void Wave_e_input_controls_publish_new_interfaces_at_version_one() name => { var type = Type(ir, name); - Assert.Equal(9, type.AbiVersion); + Assert.Equal(12, type.AbiVersion); Assert.True(type.IsConstructible); }); - Assert.Equal(11, Type(ir, "IAvnSelectableTextBlock").AbiVersion); + Assert.Equal(14, Type(ir, "IAvnSelectableTextBlock").AbiVersion); Assert.True(Type(ir, "IAvnSelectableTextBlock").IsConstructible); - Assert.Equal(10, Type(ir, "IAvnNumericUpDown").AbiVersion); - Assert.Equal(16, Type(ir, "IAvnAutoCompleteBox").AbiVersion); - Assert.Equal(15, Type(ir, "IAvnMaskedTextBox").AbiVersion); + Assert.Equal(13, Type(ir, "IAvnNumericUpDown").AbiVersion); + Assert.Equal(19, Type(ir, "IAvnAutoCompleteBox").AbiVersion); + Assert.Equal(18, Type(ir, "IAvnMaskedTextBox").AbiVersion); Assert.Equal("Avalonia.Host.Com.IAvnSpinner", Type(ir, "IAvnButtonSpinner").BaseFullName); Assert.Equal("Avalonia.Host.Com.IAvnTemplatedControl", Type(ir, "IAvnNumericUpDown").BaseFullName); @@ -1365,8 +1398,8 @@ public void Wave_f_calendar_family_publishes_new_interfaces_at_version_one() Assert.Equal("Avalonia.Host.Com.IAvnTemplatedControl", type.BaseFullName); }); // U17 grew Calendar alone (DisplayDateChanged); the picker did not move. - Assert.Equal(12, Type(ir, "IAvnCalendar").AbiVersion); - Assert.Equal(11, Type(ir, "IAvnCalendarDatePicker").AbiVersion); + Assert.Equal(15, Type(ir, "IAvnCalendar").AbiVersion); + Assert.Equal(14, Type(ir, "IAvnCalendarDatePicker").AbiVersion); var selected = Type(ir, "IAvnCalendar").Properties.Single(p => p.Name == "SelectedDate"); Assert.Equal(MarshallingKind.StringUtf16, selected.Kind); @@ -1398,7 +1431,7 @@ public void Wave_g_content_chrome_publishes_new_interfaces_at_version_one() Assert.Equal("Avalonia.Host.Com.IAvnSelectingItemsControl", Type(ir, "IAvnCarousel").BaseFullName); Assert.Equal("Avalonia.Host.Com.IAvnContentControl", Type(ir, "IAvnTransitioningContentControl").BaseFullName); Assert.Equal("Avalonia.Host.Com.IAvnContentControl", Type(ir, "IAvnLabel").BaseFullName); - Assert.Equal(10, Type(ir, "IAvnLabel").AbiVersion); + Assert.Equal(13, Type(ir, "IAvnLabel").AbiVersion); Assert.Equal("Avalonia.Host.Com.IAvnTemplatedControl", Type(ir, "IAvnSeparator").BaseFullName); Assert.Equal("Avalonia.Host.Com.IAvnHeaderedContentControl", Type(ir, "IAvnGroupBox").BaseFullName); Assert.Equal("Avalonia.Host.Com.IAvnContentControl", Type(ir, "IAvnUserControl").BaseFullName); @@ -1425,7 +1458,7 @@ public void Wave_h_shapes_publish_new_interfaces_at_version_one() var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); var shape = Type(ir, "IAvnShape"); - Assert.Equal(8, shape.AbiVersion); + Assert.Equal(11, shape.AbiVersion); Assert.False(shape.IsConstructible); Assert.Equal("Avalonia.Host.Com.IAvnControl", shape.BaseFullName); Assert.All( @@ -1440,7 +1473,7 @@ public void Wave_h_shapes_publish_new_interfaces_at_version_one() name => { var type = Type(ir, name); - Assert.Equal(8, type.AbiVersion); + Assert.Equal(11, type.AbiVersion); Assert.True(type.IsConstructible); Assert.Equal("Avalonia.Host.Com.IAvnShape", type.BaseFullName); }); @@ -1547,7 +1580,7 @@ public void Wave_l_window_chrome_bumps_only_window() { var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); var window = Type(ir, "IAvnWindow"); - Assert.Equal(18, window.AbiVersion); + Assert.Equal(21, window.AbiVersion); Assert.Contains(window.Methods, m => m.Name == "Hide"); Assert.All( new[] @@ -1572,7 +1605,7 @@ public void Wave_l_window_chrome_bumps_only_window() Assert.Contains(closing.Parameters, p => p.Name == "Cancel" && p.Direction == ParameterDirection.InOut); Assert.Contains(closing.Parameters, p => p.Name == "CloseReason" && p.Kind == MarshallingKind.I32); Assert.Contains(closing.Parameters, p => p.Name == "IsProgrammatic" && p.Kind == MarshallingKind.Bool); - Assert.Equal(13, Type(ir, "IAvnContentControl").AbiVersion); + Assert.Equal(16, Type(ir, "IAvnContentControl").AbiVersion); } [Fact] @@ -1581,7 +1614,7 @@ public void Wave_m_fonts_bump_templated_control_and_text_block() var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); var templated = Type(ir, "IAvnTemplatedControl"); - Assert.Equal(12, templated.AbiVersion); + Assert.Equal(15, templated.AbiVersion); Assert.All( new[] { "FontFamily", "FontStyle", "FontWeight", "FontStretch", "LetterSpacing", "Padding" }, name => Assert.Contains(templated.Properties, p => p.Name == name)); @@ -1591,14 +1624,14 @@ public void Wave_m_fonts_bump_templated_control_and_text_block() Assert.Null(fontFamily.StringConverterTypeName); var textBlock = Type(ir, "IAvnTextBlock"); - Assert.Equal(14, textBlock.AbiVersion); + Assert.Equal(17, textBlock.AbiVersion); Assert.All( new[] { "FontFamily", "FontStyle", "FontStretch", "Background", "LetterSpacing", "LineSpacing", "MaxLines", "TextWrapping" }, name => Assert.Contains(textBlock.Properties, p => p.Name == name)); - Assert.Equal(11, Type(ir, "IAvnSelectableTextBlock").AbiVersion); - Assert.Equal(12, Type(ir, "IAvnBorder").AbiVersion); + Assert.Equal(14, Type(ir, "IAvnSelectableTextBlock").AbiVersion); + Assert.Equal(15, Type(ir, "IAvnBorder").AbiVersion); var trimming = textBlock.Properties.Single(p => p.Name == "TextTrimming"); Assert.Equal(MarshallingKind.StringUtf16, trimming.Kind); Assert.Equal("Avalonia.Host.Com.AvnTextTrimming", trimming.StringConverterTypeName); @@ -1610,7 +1643,7 @@ public void Wave_n_textbox_remainder_bumps_only_textbox_and_masked_textbox() { var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); var textBox = Type(ir, "IAvnTextBox"); - Assert.Equal(18, textBox.AbiVersion); + Assert.Equal(21, textBox.AbiVersion); Assert.All( new[] { "SelectedText", "TextAlignment", "SelectionBrush", "InnerLeftContent", "UseFloatingPlaceholder", "PlaceholderForeground" }, @@ -1624,9 +1657,34 @@ public void Wave_n_textbox_remainder_bumps_only_textbox_and_masked_textbox() MarshallingKind.TimeSpanI64, textBox.Properties.Single(p => p.Name == "CaretBlinkInterval").Kind); Assert.DoesNotContain(textBox.Properties, p => p.Name == "Watermark"); - Assert.Equal(15, Type(ir, "IAvnMaskedTextBox").AbiVersion); + Assert.Equal(18, Type(ir, "IAvnMaskedTextBox").AbiVersion); + } + + [Fact] + public void Wave_r_numeric_up_down_value_changed_carries_the_decimal_pair_as_invariant_strings() + { + var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); + + // The decimal? old/new pair has no numeric ABI shape; it crosses as invariant + // UTF-16 through the AvnDecimal converter the Value property already uses, so the + // payload-carrying handler republishes at version 2 while the control itself moves + // only with its own members. + var valueChanged = Type(ir, "IAvnNumericUpDown").Events + .Single(@event => @event.Name == nameof(NumericUpDown.ValueChanged)); + Assert.Equal(EventPayloadKind.Fields, valueChanged.PayloadKind); + Assert.Equal(2, valueChanged.HandlerInterfaceAbiVersion); + Assert.All(valueChanged.Parameters, parameter => + { + Assert.Equal(MarshallingKind.StringUtf16, parameter.Kind); + Assert.Equal("Avalonia.Host.Com.AvnDecimal", parameter.StringConverterTypeName); + Assert.True(parameter.IsNullable); + }); + Assert.Equal( + [nameof(NumericUpDownValueChangedEventArgs.OldValue), + nameof(NumericUpDownValueChangedEventArgs.NewValue)], + valueChanged.Parameters.Select(parameter => parameter.Name)); Assert.Contains(Type(ir, "IAvnMaskedTextBox").Properties, p => p.Name == "MaskCompleted"); - Assert.Equal(12, Type(ir, "IAvnTemplatedControl").AbiVersion); + Assert.Equal(15, Type(ir, "IAvnTemplatedControl").AbiVersion); Assert.Equal(13, ir.FactoryAbiVersion); } @@ -1635,20 +1693,20 @@ public void Wave_o_combo_and_scroll_use_vector_and_size() { var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); var combo = Type(ir, "IAvnComboBox"); - Assert.Equal(17, combo.AbiVersion); + Assert.Equal(20, combo.AbiVersion); Assert.Contains(combo.Properties, p => p.Name == "Text"); Assert.Contains(combo.Methods, m => m.Name == "Clear"); Assert.Contains(combo.Events, e => e.Name == "DropDownOpened"); var scroll = Type(ir, "IAvnScrollViewer"); - Assert.Equal(15, scroll.AbiVersion); + Assert.Equal(18, scroll.AbiVersion); Assert.Equal(MarshallingKind.Size, scroll.Properties.Single(p => p.Name == "Extent").Kind); Assert.Equal(MarshallingKind.Vector, scroll.Properties.Single(p => p.Name == "Offset").Kind); Assert.Equal(MarshallingKind.Size, scroll.Properties.Single(p => p.Name == "Viewport").Kind); Assert.Equal(MarshallingKind.Vector, scroll.Properties.Single(p => p.Name == "ScrollBarMaximum").Kind); Assert.False(scroll.Properties.Single(p => p.Name == "Extent").CanWrite); Assert.True(scroll.Properties.Single(p => p.Name == "Offset").CanWrite); - Assert.Equal(13, Type(ir, "IAvnContentControl").AbiVersion); + Assert.Equal(16, Type(ir, "IAvnContentControl").AbiVersion); Assert.Equal(13, ir.FactoryAbiVersion); } @@ -1657,22 +1715,22 @@ public void Wave_p_projects_instance_flyout_and_menu_item_open() { var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); var button = Type(ir, "IAvnButton"); - Assert.Equal(16, button.AbiVersion); + Assert.Equal(19, button.AbiVersion); var flyout = button.Properties.Single(p => p.Name == "Flyout"); Assert.Equal(MarshallingKind.ComInterface, flyout.Kind); Assert.Equal("Avalonia.Host.Com.IAvnFlyoutBase", flyout.InterfaceName); Assert.True(flyout.IsNullable); var split = Type(ir, "IAvnSplitButton"); - Assert.Equal(12, split.AbiVersion); + Assert.Equal(15, split.AbiVersion); Assert.Contains(split.Properties, p => p.Name == "Flyout"); var menu = Type(ir, "IAvnMenuItem"); - Assert.Equal(15, menu.AbiVersion); + Assert.Equal(18, menu.AbiVersion); Assert.Contains(menu.Properties, p => p.Name == "HasSubMenu"); Assert.Contains(menu.Methods, m => m.Name == "Open"); Assert.Contains(menu.Methods, m => m.Name == "Close"); - Assert.Equal(13, Type(ir, "IAvnContentControl").AbiVersion); + Assert.Equal(16, Type(ir, "IAvnContentControl").AbiVersion); Assert.Equal(13, ir.FactoryAbiVersion); } @@ -1680,13 +1738,13 @@ public void Wave_p_projects_instance_flyout_and_menu_item_open() public void Wave_q_sweeps_leaf_input_scalars() { var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); - Assert.Equal(16, Type(ir, "IAvnAutoCompleteBox").AbiVersion); + Assert.Equal(19, Type(ir, "IAvnAutoCompleteBox").AbiVersion); Assert.Contains(Type(ir, "IAvnAutoCompleteBox").Properties, p => p.Name == "SearchText"); - Assert.Equal(12, Type(ir, "IAvnCalendar").AbiVersion); + Assert.Equal(15, Type(ir, "IAvnCalendar").AbiVersion); Assert.Contains(Type(ir, "IAvnCalendar").Properties, p => p.Name == "IsWeekNumberVisible"); - Assert.Equal(11, Type(ir, "IAvnCalendarDatePicker").AbiVersion); + Assert.Equal(14, Type(ir, "IAvnCalendarDatePicker").AbiVersion); Assert.Contains(Type(ir, "IAvnCalendarDatePicker").Methods, m => m.Name == "Clear"); - Assert.Equal(10, Type(ir, "IAvnNumericUpDown").AbiVersion); + Assert.Equal(13, Type(ir, "IAvnNumericUpDown").AbiVersion); Assert.Contains(Type(ir, "IAvnNumericUpDown").Properties, p => p.Name == "TextAlignment"); Assert.Equal(13, ir.FactoryAbiVersion); } @@ -1696,17 +1754,17 @@ public void Items_control_leftovers_keep_items_and_selection() { var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); var items = Type(ir, "IAvnItemsControl"); - Assert.Equal(15, items.AbiVersion); + Assert.Equal(18, items.AbiVersion); Assert.Contains(items.Properties, p => p.Name == "Items"); Assert.Contains(items.Properties, p => p.Name == "ItemCount"); Assert.Contains(items.Methods, m => m.ManagedName == "ScrollIntoView"); var selecting = Type(ir, "IAvnSelectingItemsControl"); - Assert.Equal(15, selecting.AbiVersion); + Assert.Equal(18, selecting.AbiVersion); Assert.Contains(selecting.Properties, p => p.Name == "SelectedIndex"); Assert.Contains(selecting.Events, e => e.Name == "SelectionChanged"); Assert.Contains(selecting.Properties, p => p.Name == "AutoScrollToSelectedItem"); - Assert.Equal(13, Type(ir, "IAvnContentControl").AbiVersion); - Assert.Equal(18, Type(ir, "IAvnWindow").AbiVersion); + Assert.Equal(16, Type(ir, "IAvnContentControl").AbiVersion); + Assert.Equal(21, Type(ir, "IAvnWindow").AbiVersion); Assert.Equal(13, ir.FactoryAbiVersion); } @@ -1715,24 +1773,24 @@ public void Text_leftovers_project_line_metrics_and_scroll_to_line() { var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); var textBlock = Type(ir, "IAvnTextBlock"); - Assert.Equal(14, textBlock.AbiVersion); + Assert.Equal(17, textBlock.AbiVersion); Assert.Contains(textBlock.Properties, p => p.Name == "LineHeight"); Assert.Contains(textBlock.Properties, p => p.Name == "BaselineOffset"); Assert.Contains(textBlock.Properties, p => p.Name == "TextTrimming"); var selectable = Type(ir, "IAvnSelectableTextBlock"); - Assert.Equal(11, selectable.AbiVersion); + Assert.Equal(14, selectable.AbiVersion); Assert.Contains(selectable.Properties, p => p.Name == "SelectionBrush"); Assert.Contains(selectable.Methods, m => m.Name == "SelectAll"); Assert.Contains(selectable.Events, e => e.Name == "CopyingToClipboard"); var textBox = Type(ir, "IAvnTextBox"); - Assert.Equal(18, textBox.AbiVersion); + Assert.Equal(21, textBox.AbiVersion); Assert.Contains(textBox.Methods, m => m.ManagedName == "ScrollToLine"); var lineCount = textBox.Methods.Single(m => m.ManagedName == "GetLineCount"); Assert.Contains(lineCount.Parameters, p => p.Name == "value" && p.Direction == ParameterDirection.Out); Assert.Equal(MarshallingKind.CharUtf16, textBox.Properties.Single(p => p.Name == "PasswordChar").Kind); - Assert.Equal(15, Type(ir, "IAvnMaskedTextBox").AbiVersion); + Assert.Equal(18, Type(ir, "IAvnMaskedTextBox").AbiVersion); Assert.Equal(13, ir.FactoryAbiVersion); } @@ -1740,19 +1798,19 @@ public void Text_leftovers_project_line_metrics_and_scroll_to_line() public void Leaf_leftovers_project_marshallable_scalars_and_commands() { var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); - Assert.Equal(12, Type(ir, "IAvnCommandBar").AbiVersion); + Assert.Equal(15, Type(ir, "IAvnCommandBar").AbiVersion); Assert.Contains(Type(ir, "IAvnCommandBar").Properties, p => p.Name == "HasSecondaryCommands"); Assert.Contains(Type(ir, "IAvnCommandBar").Events, e => e.Name == "Opened"); - Assert.Equal(13, Type(ir, "IAvnCarousel").AbiVersion); + Assert.Equal(16, Type(ir, "IAvnCarousel").AbiVersion); Assert.Contains(Type(ir, "IAvnCarousel").Methods, m => m.Name == "Next"); - Assert.Equal(17, Type(ir, "IAvnComboBox").AbiVersion); - Assert.Equal(11, Type(ir, "IAvnDatePicker").AbiVersion); + Assert.Equal(20, Type(ir, "IAvnComboBox").AbiVersion); + Assert.Equal(14, Type(ir, "IAvnDatePicker").AbiVersion); Assert.Contains(Type(ir, "IAvnDatePicker").Properties, p => p.Name == "VerticalContentAlignment"); - Assert.Equal(15, Type(ir, "IAvnContextMenu").AbiVersion); - Assert.Equal(13, Type(ir, "IAvnProgressBar").AbiVersion); + Assert.Equal(18, Type(ir, "IAvnContextMenu").AbiVersion); + Assert.Equal(16, Type(ir, "IAvnProgressBar").AbiVersion); Assert.Contains(Type(ir, "IAvnProgressBar").Properties, p => p.Name == "Percentage"); - Assert.Equal(12, Type(ir, "IAvnStackPanel").AbiVersion); - Assert.Equal(12, Type(ir, "IAvnBorder").AbiVersion); + Assert.Equal(15, Type(ir, "IAvnStackPanel").AbiVersion); + Assert.Equal(15, Type(ir, "IAvnBorder").AbiVersion); Assert.Contains(Type(ir, "IAvnBorder").Properties, p => p.Name == "ClipToBoundsRadius"); Assert.Equal(13, ir.FactoryAbiVersion); } @@ -1762,7 +1820,7 @@ public void Overlay_chrome_projects_popup_open_close_and_placement_target() { var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); var popup = Type(ir, "IAvnPopup"); - Assert.Equal(8, popup.AbiVersion); + Assert.Equal(11, popup.AbiVersion); Assert.Contains(popup.Methods, m => m.Name == "Open"); Assert.Contains(popup.Methods, m => m.Name == "Close"); Assert.Contains(popup.Events, e => e.Name == "Opened"); @@ -1779,7 +1837,7 @@ public void Overlay_chrome_projects_popup_open_close_and_placement_target() var popupProp = flyoutBase.Properties.Single(p => p.Name == "Popup"); Assert.Equal("Avalonia.Host.Com.IAvnPopup", popupProp.InterfaceName); - Assert.Equal(15, Type(ir, "IAvnContextMenu").AbiVersion); + Assert.Equal(18, Type(ir, "IAvnContextMenu").AbiVersion); Assert.Contains(Type(ir, "IAvnContextMenu").Properties, p => p.Name == "PlacementTarget"); var openWithControl = Type(ir, "IAvnContextMenu").Methods .Single(m => m.Name == "OpenWithControl"); @@ -1795,7 +1853,7 @@ public void Control_leftovers_project_context_menu_and_loaded() { var ir = ClrTypeExtractor.Extract(KernelTypes, AvaloniaProjectionProfiles.ObjectModelKernel); var control = Type(ir, "IAvnControl"); - Assert.Equal(8, control.AbiVersion); + Assert.Equal(11, control.AbiVersion); var menu = control.Properties.Single(p => p.Name == "ContextMenu"); Assert.Equal(MarshallingKind.ComInterface, menu.Kind); Assert.Equal("Avalonia.Host.Com.IAvnContextMenu", menu.InterfaceName); @@ -1806,7 +1864,7 @@ public void Control_leftovers_project_context_menu_and_loaded() Assert.Contains(control.Events, e => e.Name == "Loaded"); Assert.Contains(control.Events, e => e.Name == "Unloaded"); Assert.Equal(6, Type(ir, "IAvnStyledElement").AbiVersion); - Assert.Equal(16, Type(ir, "IAvnButton").AbiVersion); + Assert.Equal(19, Type(ir, "IAvnButton").AbiVersion); Assert.Equal(4, Type(ir, "IAvnFlyout").AbiVersion); Assert.Equal(13, ir.FactoryAbiVersion); }