| /* | 
 |  * Copyright (C) 2023 Mohamad Al-Jaf | 
 |  * | 
 |  * This library is free software; you can redistribute it and/or | 
 |  * modify it under the terms of the GNU Lesser General Public | 
 |  * License as published by the Free Software Foundation; either | 
 |  * version 2.1 of the License, or (at your option) any later version. | 
 |  * | 
 |  * This library is distributed in the hope that it will be useful, | 
 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
 |  * Lesser General Public License for more details. | 
 |  * | 
 |  * You should have received a copy of the GNU Lesser General Public | 
 |  * License along with this library; if not, write to the Free Software | 
 |  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | 
 |  */ | 
 |  | 
 | #ifdef __WIDL__ | 
 | #pragma winrt ns_prefix | 
 | #endif | 
 |  | 
 | #ifndef DO_NO_IMPORTS | 
 | import "inspectable.idl"; | 
 | import "asyncinfo.idl"; | 
 | import "eventtoken.idl"; | 
 | import "windowscontracts.idl"; | 
 | import "windows.foundation.idl"; | 
 | import "windows.devices.enumeration.idl"; | 
 | /* import "windows.phone.idl"; */ | 
 | import "windows.ui.idl"; | 
 | import "windows.ui.core.idl"; | 
 | /* import "windows.ui.popups.idl"; */ | 
 | /* import "windows.ui.windowmanagement.idl"; */ | 
 | #endif | 
 |  | 
 | namespace Windows.UI.ViewManagement | 
 | { | 
 |     typedef enum HandPreference HandPreference; | 
 |     typedef enum UIColorType UIColorType; | 
 |     typedef enum UIElementType UIElementType; | 
 |     typedef enum UserInteractionMode UserInteractionMode; | 
 |  | 
 |     interface IUISettings; | 
 |     interface IUISettings2; | 
 |     interface IUISettings3; | 
 |     interface IUISettings4; | 
 |     interface IUISettings5; | 
 |     interface IUISettings6; | 
 |     interface IUISettingsAnimationsEnabledChangedEventArgs; | 
 |     interface IUISettingsAutoHideScrollBarsChangedEventArgs; | 
 |     interface IUISettingsMessageDurationChangedEventArgs; | 
 |  | 
 |     interface IUIViewSettings; | 
 |     interface IUIViewSettingsStatics; | 
 |  | 
 |     interface IInputPane; | 
 |     interface IInputPane2; | 
 |     interface IInputPaneControl; | 
 |     interface IInputPaneVisibilityEventArgs; | 
 |     interface IInputPaneStatics; | 
 |     interface IInputPaneStatics2; | 
 |  | 
 |     runtimeclass UISettings; | 
 |     runtimeclass UISettingsAnimationsEnabledChangedEventArgs; | 
 |     runtimeclass UISettingsAutoHideScrollBarsChangedEventArgs; | 
 |     runtimeclass UISettingsMessageDurationChangedEventArgs; | 
 |     runtimeclass UIViewSettings; | 
 |     runtimeclass InputPane; | 
 |     runtimeclass InputPaneVisibilityEventArgs; | 
 |  | 
 |     declare { | 
 |         interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, IInspectable *>; | 
 |         interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, Windows.UI.ViewManagement.UISettingsAnimationsEnabledChangedEventArgs *>; | 
 |         interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, Windows.UI.ViewManagement.UISettingsAutoHideScrollBarsChangedEventArgs *>; | 
 |         interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, Windows.UI.ViewManagement.UISettingsMessageDurationChangedEventArgs *>; | 
 |         interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.InputPane*, Windows.UI.ViewManagement.InputPaneVisibilityEventArgs*>; | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0) | 
 |     ] | 
 |     enum HandPreference | 
 |     { | 
 |         LeftHanded  = 0, | 
 |         RightHanded = 1, | 
 |     }; | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0) | 
 |     ] | 
 |     enum UIColorType | 
 |     { | 
 |         Background   = 0, | 
 |         Foreground   = 1, | 
 |         AccentDark3  = 2, | 
 |         AccentDark2  = 3, | 
 |         AccentDark1  = 4, | 
 |         Accent       = 5, | 
 |         AccentLight1 = 6, | 
 |         AccentLight2 = 7, | 
 |         AccentLight3 = 8, | 
 |         Complement   = 9, | 
 |     }; | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0) | 
 |     ] | 
 |     enum UIElementType | 
 |     { | 
 |         ActiveCaption        = 0, | 
 |         Background           = 1, | 
 |         ButtonFace           = 2, | 
 |         ButtonText           = 3, | 
 |         CaptionText          = 4, | 
 |         GrayText             = 5, | 
 |         Highlight            = 6, | 
 |         HighlightText        = 7, | 
 |         Hotlight             = 8, | 
 |         InactiveCaption      = 9, | 
 |         InactiveCaptionText  = 10, | 
 |         Window               = 11, | 
 |         WindowText           = 12, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         AccentColor          = 1000, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         TextHigh             = 1001, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         TextMedium           = 1002, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         TextLow              = 1003, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         TextContrastWithHigh = 1004, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         NonTextHigh          = 1005, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         NonTextMediumHigh    = 1006, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         NonTextMedium        = 1007, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         NonTextMediumLow     = 1008, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         NonTextLow           = 1009, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         PageBackground       = 1010, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         PopupBackground      = 1011, | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] | 
 |         OverlayOutsidePopup  = 1012, | 
 |     }; | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0) | 
 |     ] | 
 |     enum UserInteractionMode | 
 |     { | 
 |         Mouse = 0, | 
 |         Touch = 1, | 
 |     }; | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.UISettings), | 
 |         uuid(85361600-1c63-4627-bcb1-3a89e0bc9c55) | 
 |     ] | 
 |     interface IUISettings : IInspectable | 
 |     { | 
 |         [propget] HRESULT HandPreference([out, retval] Windows.UI.ViewManagement.HandPreference *value); | 
 |         [propget] HRESULT CursorSize([out, retval] Windows.Foundation.Size *value); | 
 |         [propget] HRESULT ScrollBarSize([out, retval] Windows.Foundation.Size *value); | 
 |         [propget] HRESULT ScrollBarArrowSize([out, retval] Windows.Foundation.Size *value); | 
 |         [propget] HRESULT ScrollBarThumbBoxSize([out, retval] Windows.Foundation.Size *value); | 
 |         [propget] HRESULT MessageDuration([out, retval] UINT32 *value); | 
 |         [propget] HRESULT AnimationsEnabled([out, retval] boolean *value); | 
 |         [propget] HRESULT CaretBrowsingEnabled([out, retval] boolean *value); | 
 |         [propget] HRESULT CaretBlinkRate([out, retval] UINT32 *value); | 
 |         [propget] HRESULT CaretWidth([out, retval] UINT32 *value); | 
 |         [propget] HRESULT DoubleClickTime([out, retval] UINT32 *value); | 
 |         [propget] HRESULT MouseHoverTime([out, retval] UINT32 *value); | 
 |         HRESULT UIElementColor([in] Windows.UI.ViewManagement.UIElementType element, [out, retval] Windows.UI.Color *value); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.UISettings), | 
 |         uuid(bad82401-2721-44f9-bb91-2bb228be442f) | 
 |     ] | 
 |     interface IUISettings2 : IInspectable | 
 |     { | 
 |         [propget] HRESULT TextScaleFactor([out, retval] DOUBLE *value); | 
 |         [eventadd] HRESULT TextScaleFactorChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, IInspectable *> *handler, | 
 |                                                   [out, retval] EventRegistrationToken *cookie); | 
 |         [eventremove] HRESULT TextScaleFactorChanged([in] EventRegistrationToken cookie); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.UISettings), | 
 |         uuid(03021be4-5254-4781-8194-5168f7d06d7b) | 
 |     ] | 
 |     interface IUISettings3 : IInspectable | 
 |     { | 
 |         HRESULT GetColorValue([in] Windows.UI.ViewManagement.UIColorType color, [out, retval] Windows.UI.Color *value); | 
 |         [eventadd] HRESULT ColorValuesChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, IInspectable *> *handler, | 
 |                                               [out, retval] EventRegistrationToken *cookie); | 
 |         [eventremove] HRESULT ColorValuesChanged([in] EventRegistrationToken cookie); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 4.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.UISettings), | 
 |         uuid(52bb3002-919b-4d6b-9b78-8dd66ff4b93b) | 
 |     ] | 
 |     interface IUISettings4 : IInspectable | 
 |     { | 
 |         [propget] HRESULT AdvancedEffectsEnabled([out, retval] boolean *value); | 
 |         [eventadd] HRESULT AdvancedEffectsEnabledChanged( | 
 |             [in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, IInspectable *> *handler, | 
 |             [out, retval] EventRegistrationToken *cookie); | 
 |         [eventremove] HRESULT AdvancedEffectsEnabledChanged([in] EventRegistrationToken cookie); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 8.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.UISettings), | 
 |         uuid(5349d588-0cb5-5f05-bd34-706b3231f0bd) | 
 |     ] | 
 |     interface IUISettings5 : IInspectable | 
 |     { | 
 |         [propget] HRESULT AutoHideScrollBars([out, retval] boolean *value); | 
 |         [eventadd] HRESULT AutoHideScrollBarsChanged( | 
 |             [in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, Windows.UI.ViewManagement.UISettingsAutoHideScrollBarsChangedEventArgs *> *handler, | 
 |             [out, retval] EventRegistrationToken *token); | 
 |         [eventremove] HRESULT AutoHideScrollBarsChanged([in] EventRegistrationToken token); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 10.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.UISettings), | 
 |         uuid(aef19bd7-fe31-5a04-ada4-469aaec6dfa9) | 
 |     ] | 
 |     interface IUISettings6 : IInspectable | 
 |     { | 
 |         [eventadd] HRESULT AnimationsEnabledChanged( | 
 |             [in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, Windows.UI.ViewManagement.UISettingsAnimationsEnabledChangedEventArgs *> *handler, | 
 |             [out, retval] EventRegistrationToken *token); | 
 |         [eventremove] HRESULT AnimationsEnabledChanged([in] EventRegistrationToken token); | 
 |         [eventadd] HRESULT MessageDurationChanged( | 
 |             [in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, Windows.UI.ViewManagement.UISettingsMessageDurationChangedEventArgs *> *handler, | 
 |             [out, retval] EventRegistrationToken *token); | 
 |         [eventremove] HRESULT MessageDurationChanged([in] EventRegistrationToken token); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 10.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.UISettingsAnimationsEnabledChangedEventArgs), | 
 |         uuid(0c7b4b3d-2ea1-533e-894d-415bc5243c29) | 
 |     ] | 
 |     interface IUISettingsAnimationsEnabledChangedEventArgs : IInspectable | 
 |     { | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 8.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.UISettingsAutoHideScrollBarsChangedEventArgs), | 
 |         uuid(87afd4b2-9146-5f02-8f6b-06d454174c0f) | 
 |     ] | 
 |     interface IUISettingsAutoHideScrollBarsChangedEventArgs : IInspectable | 
 |     { | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 10.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.UISettingsMessageDurationChangedEventArgs), | 
 |         uuid(338aad52-4a5d-5b59-8002-d930f608fd6e) | 
 |     ] | 
 |     interface IUISettingsMessageDurationChangedEventArgs : IInspectable | 
 |     { | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.UIViewSettings), | 
 |         uuid(c63657f6-8850-470d-88f8-455e16ea2c26) | 
 |     ] | 
 |     interface IUIViewSettings : IInspectable | 
 |     { | 
 |         [propget] HRESULT UserInteractionMode([out, retval] Windows.UI.ViewManagement.UserInteractionMode *value); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.UIViewSettings), | 
 |         uuid(595c97a5-f8f6-41cf-b0fb-aacdb81fd5f6) | 
 |     ] | 
 |     interface IUIViewSettingsStatics : IInspectable | 
 |     { | 
 |         HRESULT GetForCurrentView([out, retval] Windows.UI.ViewManagement.UIViewSettings **current); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.InputPane), | 
 |         uuid(640ada70-06f3-4c87-a678-9829c9127c28) | 
 |     ] | 
 |     interface IInputPane : IInspectable | 
 |     { | 
 |         [eventadd] HRESULT Showing([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.InputPane*, Windows.UI.ViewManagement.InputPaneVisibilityEventArgs*> *handler, [out, retval] EventRegistrationToken *token); | 
 |         [eventremove] HRESULT Showing([in] EventRegistrationToken token); | 
 |         [eventadd] HRESULT Hiding([in] Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.InputPane*, Windows.UI.ViewManagement.InputPaneVisibilityEventArgs*> *handler, [out, retval] EventRegistrationToken *token); | 
 |         [eventremove] HRESULT Hiding([in] EventRegistrationToken token); | 
 |         [propget] HRESULT OccludedRect([out, retval] Windows.Foundation.Rect *value); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.InputPane), | 
 |         uuid(8a6b3f26-7090-4793-944c-c3f2cde26276) | 
 |     ] | 
 |     interface IInputPane2 : IInspectable | 
 |     { | 
 |         HRESULT TryShow([out, retval] boolean *result); | 
 |         HRESULT TryHide([out, retval] boolean *result); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.InputPane), | 
 |         uuid(088bb24f-962f-489d-aa6e-c6be1a0a6e52) | 
 |     ] | 
 |     interface IInputPaneControl : IInspectable | 
 |     { | 
 |         [propget] HRESULT Visible([out, retval] boolean *value); | 
 |         [propput] HRESULT Visible([in] boolean value); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.InputPaneVisibilityEventArgs), | 
 |         uuid(d243e016-d907-4fcc-bb8d-f77baa5028f1) | 
 |     ] | 
 |     interface IInputPaneVisibilityEventArgs : IInspectable | 
 |     { | 
 |         [propget] HRESULT OccludedRect([out, retval] Windows.Foundation.Rect *value); | 
 |         [propput] HRESULT EnsuredFocusedElementInView([in] boolean value); | 
 |         [propget] HRESULT EnsuredFocusedElementInView([out, retval] boolean *value); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.InputPane), | 
 |         uuid(95f4af3a-ef47-424a-9741-fd2815eba2bd) | 
 |     ] | 
 |     interface IInputPaneStatics : IInspectable | 
 |     { | 
 |         HRESULT GetForCurrentView([out, retval] Windows.UI.ViewManagement.InputPane **input_pane); | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 8.0), | 
 |         exclusiveto(Windows.UI.ViewManagement.InputPane), | 
 |         uuid(1b63529b-d9ec-4531-8445-71bab9fb828e) | 
 |     ] | 
 |     interface IInputPaneStatics2 : IInspectable | 
 |     { | 
 |         HRESULT GetForUIContext([in] Windows.UI.UIContext *context, [out, retval] Windows.UI.ViewManagement.InputPane **result); | 
 |     } | 
 |  | 
 |     [ | 
 |         activatable(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         marshaling_behavior(agile) | 
 |     ] | 
 |     runtimeclass UISettings | 
 |     { | 
 |         [default] interface Windows.UI.ViewManagement.IUISettings; | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IUISettings2; | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IUISettings3; | 
 |         [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.ViewManagement.IUISettings4; | 
 |         [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.UI.ViewManagement.IUISettings5; | 
 |         [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.UI.ViewManagement.IUISettings6; | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 10.0), | 
 |         marshaling_behavior(agile) | 
 |     ] | 
 |     runtimeclass UISettingsAnimationsEnabledChangedEventArgs | 
 |     { | 
 |         [default] interface Windows.UI.ViewManagement.IUISettingsAnimationsEnabledChangedEventArgs; | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 8.0), | 
 |         marshaling_behavior(agile) | 
 |     ] | 
 |     runtimeclass UISettingsAutoHideScrollBarsChangedEventArgs | 
 |     { | 
 |         [default] interface Windows.UI.ViewManagement.IUISettingsAutoHideScrollBarsChangedEventArgs; | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 10.0), | 
 |         marshaling_behavior(agile) | 
 |     ] | 
 |     runtimeclass UISettingsMessageDurationChangedEventArgs | 
 |     { | 
 |         [default] interface Windows.UI.ViewManagement.IUISettingsMessageDurationChangedEventArgs; | 
 |     } | 
 |  | 
 |     [ | 
 |         static(Windows.UI.ViewManagement.IUIViewSettingsStatics, Windows.Foundation.UniversalApiContract, 1.0), | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         marshaling_behavior(agile) | 
 |     ] | 
 |     runtimeclass UIViewSettings | 
 |     { | 
 |         [default] interface Windows.UI.ViewManagement.IUIViewSettings; | 
 |     } | 
 |  | 
 |     [ | 
 |         static(Windows.UI.ViewManagement.IInputPaneStatics, Windows.Foundation.UniversalApiContract, 1.0), | 
 |         static(Windows.UI.ViewManagement.IInputPaneStatics2, Windows.Foundation.UniversalApiContract, 8.0), | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         marshaling_behavior(standard) | 
 |     ] | 
 |     runtimeclass InputPane | 
 |     { | 
 |         [default] interface Windows.UI.ViewManagement.IInputPane; | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IInputPane2; | 
 |         [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.ViewManagement.IInputPaneControl; | 
 |     } | 
 |  | 
 |     [ | 
 |         contract(Windows.Foundation.UniversalApiContract, 1.0), | 
 |         marshaling_behavior(standard) | 
 |     ] | 
 |     runtimeclass InputPaneVisibilityEventArgs | 
 |     { | 
 |         [default] interface Windows.UI.ViewManagement.IInputPaneVisibilityEventArgs; | 
 |     } | 
 | } |