--------------------------------------------------------------------------------
-- <auto-generated>                                                           --
--     This code was generated by a tool.                                     --
--                                                                            --
--     Changes to this file may cause incorrect behavior and will be lost if  --
--     the code is regenerated.                                               --
-- </auto-generated>                                                          --
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--                                                                            --
--    Copyright(c) 2018 Alexander Gamper, All Rights Reserved.                --
--                                                                            --
--    Ada-WinRT                                                               --
--                                                                            --
-- This program 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 3 of the License, or          --
-- (at your option) any later version.                                        --
--                                                                            --
-- This program 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 program.If not, see http://www.gnu.org/licenses            --
--                                                                            --
--------------------------------------------------------------------------------
with Windows.Foundation;
with Windows.Foundation.Collections;
package Windows.UI.ViewManagement.Core is

   pragma preelaborate;
   
   ------------------------------------------------------------------------
   -- Enums
   ------------------------------------------------------------------------
   
   type CoreInputViewKind is (
      Default,
      Keyboard,
      Handwriting,
      Emoji,
      Symbols
   );
   for CoreInputViewKind use (
      Default => 0,
      Keyboard => 1,
      Handwriting => 2,
      Emoji => 3,
      Symbols => 4
   );
   for CoreInputViewKind'Size use 32;
   
   type CoreInputViewKind_Ptr is access CoreInputViewKind;
   
   type CoreInputViewOcclusionKind is (
      Docked,
      Floating,
      Overlay
   );
   for CoreInputViewOcclusionKind use (
      Docked => 0,
      Floating => 1,
      Overlay => 2
   );
   for CoreInputViewOcclusionKind'Size use 32;
   
   type CoreInputViewOcclusionKind_Ptr is access CoreInputViewOcclusionKind;
   
   type CoreInputViewXYFocusTransferDirection is (
      Up,
      Right,
      Down,
      Left
   );
   for CoreInputViewXYFocusTransferDirection use (
      Up => 0,
      Right => 1,
      Down => 2,
      Left => 3
   );
   for CoreInputViewXYFocusTransferDirection'Size use 32;
   
   type CoreInputViewXYFocusTransferDirection_Ptr is access CoreInputViewXYFocusTransferDirection;
   
   ------------------------------------------------------------------------
   -- Forward Declaration - Delegates/Events
   ------------------------------------------------------------------------
   
   type AsyncOperationCompletedHandler_IUISettingsController_Interface;
   type AsyncOperationCompletedHandler_IUISettingsController is access all AsyncOperationCompletedHandler_IUISettingsController_Interface'Class;
   type AsyncOperationCompletedHandler_IUISettingsController_Ptr is access all AsyncOperationCompletedHandler_IUISettingsController;
   type TypedEventHandler_ICoreInputView_add_OcclusionsChanged_Interface;
   type TypedEventHandler_ICoreInputView_add_OcclusionsChanged is access all TypedEventHandler_ICoreInputView_add_OcclusionsChanged_Interface'Class;
   type TypedEventHandler_ICoreInputView_add_OcclusionsChanged_Ptr is access all TypedEventHandler_ICoreInputView_add_OcclusionsChanged;
   type TypedEventHandler_ICoreInputView2_add_XYFocusTransferredToPrimaryView_Interface;
   type TypedEventHandler_ICoreInputView2_add_XYFocusTransferredToPrimaryView is access all TypedEventHandler_ICoreInputView2_add_XYFocusTransferredToPrimaryView_Interface'Class;
   type TypedEventHandler_ICoreInputView2_add_XYFocusTransferredToPrimaryView_Ptr is access all TypedEventHandler_ICoreInputView2_add_XYFocusTransferredToPrimaryView;
   type TypedEventHandler_ICoreInputView2_add_XYFocusTransferringFromPrimaryView_Interface;
   type TypedEventHandler_ICoreInputView2_add_XYFocusTransferringFromPrimaryView is access all TypedEventHandler_ICoreInputView2_add_XYFocusTransferringFromPrimaryView_Interface'Class;
   type TypedEventHandler_ICoreInputView2_add_XYFocusTransferringFromPrimaryView_Ptr is access all TypedEventHandler_ICoreInputView2_add_XYFocusTransferringFromPrimaryView;
   type TypedEventHandler_ICoreInputView4_add_PrimaryViewHiding_Interface;
   type TypedEventHandler_ICoreInputView4_add_PrimaryViewHiding is access all TypedEventHandler_ICoreInputView4_add_PrimaryViewHiding_Interface'Class;
   type TypedEventHandler_ICoreInputView4_add_PrimaryViewHiding_Ptr is access all TypedEventHandler_ICoreInputView4_add_PrimaryViewHiding;
   type TypedEventHandler_ICoreInputView4_add_PrimaryViewShowing_Interface;
   type TypedEventHandler_ICoreInputView4_add_PrimaryViewShowing is access all TypedEventHandler_ICoreInputView4_add_PrimaryViewShowing_Interface'Class;
   type TypedEventHandler_ICoreInputView4_add_PrimaryViewShowing_Ptr is access all TypedEventHandler_ICoreInputView4_add_PrimaryViewShowing;
   
   ------------------------------------------------------------------------
   -- Forward Declaration - Interfaces
   ------------------------------------------------------------------------
   
   type IAsyncOperation_IUISettingsController_Interface;
   type IAsyncOperation_IUISettingsController is access all IAsyncOperation_IUISettingsController_Interface'Class;
   type IAsyncOperation_IUISettingsController_Ptr is access all IAsyncOperation_IUISettingsController;
   type ICoreInputView_Interface;
   type ICoreInputView is access all ICoreInputView_Interface'Class;
   type ICoreInputView_Ptr is access all ICoreInputView;
   type ICoreInputView2_Interface;
   type ICoreInputView2 is access all ICoreInputView2_Interface'Class;
   type ICoreInputView2_Ptr is access all ICoreInputView2;
   type ICoreInputView3_Interface;
   type ICoreInputView3 is access all ICoreInputView3_Interface'Class;
   type ICoreInputView3_Ptr is access all ICoreInputView3;
   type ICoreInputView4_Interface;
   type ICoreInputView4 is access all ICoreInputView4_Interface'Class;
   type ICoreInputView4_Ptr is access all ICoreInputView4;
   type ICoreInputViewHidingEventArgs_Interface;
   type ICoreInputViewHidingEventArgs is access all ICoreInputViewHidingEventArgs_Interface'Class;
   type ICoreInputViewHidingEventArgs_Ptr is access all ICoreInputViewHidingEventArgs;
   type ICoreInputViewOcclusion_Interface;
   type ICoreInputViewOcclusion is access all ICoreInputViewOcclusion_Interface'Class;
   type ICoreInputViewOcclusion_Ptr is access all ICoreInputViewOcclusion;
   type ICoreInputViewOcclusionsChangedEventArgs_Interface;
   type ICoreInputViewOcclusionsChangedEventArgs is access all ICoreInputViewOcclusionsChangedEventArgs_Interface'Class;
   type ICoreInputViewOcclusionsChangedEventArgs_Ptr is access all ICoreInputViewOcclusionsChangedEventArgs;
   type ICoreInputViewShowingEventArgs_Interface;
   type ICoreInputViewShowingEventArgs is access all ICoreInputViewShowingEventArgs_Interface'Class;
   type ICoreInputViewShowingEventArgs_Ptr is access all ICoreInputViewShowingEventArgs;
   type ICoreInputViewStatics_Interface;
   type ICoreInputViewStatics is access all ICoreInputViewStatics_Interface'Class;
   type ICoreInputViewStatics_Ptr is access all ICoreInputViewStatics;
   type ICoreInputViewStatics2_Interface;
   type ICoreInputViewStatics2 is access all ICoreInputViewStatics2_Interface'Class;
   type ICoreInputViewStatics2_Ptr is access all ICoreInputViewStatics2;
   type ICoreInputViewTransferringXYFocusEventArgs_Interface;
   type ICoreInputViewTransferringXYFocusEventArgs is access all ICoreInputViewTransferringXYFocusEventArgs_Interface'Class;
   type ICoreInputViewTransferringXYFocusEventArgs_Ptr is access all ICoreInputViewTransferringXYFocusEventArgs;
   type IIterable_ICoreInputViewOcclusion_Interface;
   type IIterable_ICoreInputViewOcclusion is access all IIterable_ICoreInputViewOcclusion_Interface'Class;
   type IIterable_ICoreInputViewOcclusion_Ptr is access all IIterable_ICoreInputViewOcclusion;
   type IIterator_ICoreInputViewOcclusion_Interface;
   type IIterator_ICoreInputViewOcclusion is access all IIterator_ICoreInputViewOcclusion_Interface'Class;
   type IIterator_ICoreInputViewOcclusion_Ptr is access all IIterator_ICoreInputViewOcclusion;
   type IUISettingsController_Interface;
   type IUISettingsController is access all IUISettingsController_Interface'Class;
   type IUISettingsController_Ptr is access all IUISettingsController;
   type IUISettingsControllerStatics_Interface;
   type IUISettingsControllerStatics is access all IUISettingsControllerStatics_Interface'Class;
   type IUISettingsControllerStatics_Ptr is access all IUISettingsControllerStatics;
   type IVectorView_ICoreInputViewOcclusion_Interface;
   type IVectorView_ICoreInputViewOcclusion is access all IVectorView_ICoreInputViewOcclusion_Interface'Class;
   type IVectorView_ICoreInputViewOcclusion_Ptr is access all IVectorView_ICoreInputViewOcclusion;
   
   ------------------------------------------------------------------------
   -- Interfaces
   ------------------------------------------------------------------------
   
   ------------------------------------------------------------------------
   
   IID_IAsyncOperation_IUISettingsController : aliased constant Windows.IID := (3157349317, 22736, 23307, (169, 165, 27, 124, 194, 250, 239, 95 ));
   
   type IAsyncOperation_IUISettingsController_Interface is interface and Windows.IInspectable_Interface;
   
   function put_Completed
   (
      This       : access IAsyncOperation_IUISettingsController_Interface
      ; handler : Windows.UI.ViewManagement.Core.AsyncOperationCompletedHandler_IUISettingsController
   )
   return Windows.HRESULT is abstract;
   
   function get_Completed
   (
      This       : access IAsyncOperation_IUISettingsController_Interface
      ; RetVal : access Windows.UI.ViewManagement.Core.AsyncOperationCompletedHandler_IUISettingsController
   )
   return Windows.HRESULT is abstract;
   
   function GetResults
   (
      This       : access IAsyncOperation_IUISettingsController_Interface
      ; RetVal : access Windows.UI.ViewManagement.Core.IUISettingsController
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_ICoreInputView : aliased constant Windows.IID := (3346058618, 28673, 19506, (191, 148, 37, 193, 245, 84, 203, 241 ));
   
   type ICoreInputView_Interface is interface and Windows.IInspectable_Interface;
   
   function add_OcclusionsChanged
   (
      This       : access ICoreInputView_Interface
      ; handler : TypedEventHandler_ICoreInputView_add_OcclusionsChanged
      ; RetVal : access Windows.Foundation.EventRegistrationToken
   )
   return Windows.HRESULT is abstract;
   
   function remove_OcclusionsChanged
   (
      This       : access ICoreInputView_Interface
      ; token : Windows.Foundation.EventRegistrationToken
   )
   return Windows.HRESULT is abstract;
   
   function GetCoreInputViewOcclusions
   (
      This       : access ICoreInputView_Interface
      ; RetVal : access Windows.UI.ViewManagement.Core.IVectorView_ICoreInputViewOcclusion -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function TryShowPrimaryView
   (
      This       : access ICoreInputView_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function TryHidePrimaryView
   (
      This       : access ICoreInputView_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_ICoreInputView2 : aliased constant Windows.IID := (248981185, 57498, 19176, (174, 223, 223, 164, 133, 125, 26, 1 ));
   
   type ICoreInputView2_Interface is interface and Windows.IInspectable_Interface;
   
   function add_XYFocusTransferringFromPrimaryView
   (
      This       : access ICoreInputView2_Interface
      ; handler : TypedEventHandler_ICoreInputView2_add_XYFocusTransferringFromPrimaryView
      ; RetVal : access Windows.Foundation.EventRegistrationToken
   )
   return Windows.HRESULT is abstract;
   
   function remove_XYFocusTransferringFromPrimaryView
   (
      This       : access ICoreInputView2_Interface
      ; token : Windows.Foundation.EventRegistrationToken
   )
   return Windows.HRESULT is abstract;
   
   function add_XYFocusTransferredToPrimaryView
   (
      This       : access ICoreInputView2_Interface
      ; handler : TypedEventHandler_ICoreInputView2_add_XYFocusTransferredToPrimaryView
      ; RetVal : access Windows.Foundation.EventRegistrationToken
   )
   return Windows.HRESULT is abstract;
   
   function remove_XYFocusTransferredToPrimaryView
   (
      This       : access ICoreInputView2_Interface
      ; token : Windows.Foundation.EventRegistrationToken
   )
   return Windows.HRESULT is abstract;
   
   function TryTransferXYFocusToPrimaryView
   (
      This       : access ICoreInputView2_Interface
      ; origin : Windows.Foundation.Rect
      ; direction : Windows.UI.ViewManagement.Core.CoreInputViewXYFocusTransferDirection
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_ICoreInputView3 : aliased constant Windows.IID := (3163821651, 15033, 18505, (143, 88, 70, 231, 240, 53, 60, 252 ));
   
   type ICoreInputView3_Interface is interface and Windows.IInspectable_Interface;
   
   function TryShow
   (
      This       : access ICoreInputView3_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function TryShowWithKind
   (
      This       : access ICoreInputView3_Interface
      ; type_x : Windows.UI.ViewManagement.Core.CoreInputViewKind
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function TryHide
   (
      This       : access ICoreInputView3_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_ICoreInputView4 : aliased constant Windows.IID := (2646998, 55791, 22507, (140, 239, 119, 246, 206, 27, 126, 231 ));
   
   type ICoreInputView4_Interface is interface and Windows.IInspectable_Interface;
   
   function add_PrimaryViewShowing
   (
      This       : access ICoreInputView4_Interface
      ; handler : TypedEventHandler_ICoreInputView4_add_PrimaryViewShowing
      ; RetVal : access Windows.Foundation.EventRegistrationToken
   )
   return Windows.HRESULT is abstract;
   
   function remove_PrimaryViewShowing
   (
      This       : access ICoreInputView4_Interface
      ; token : Windows.Foundation.EventRegistrationToken
   )
   return Windows.HRESULT is abstract;
   
   function add_PrimaryViewHiding
   (
      This       : access ICoreInputView4_Interface
      ; handler : TypedEventHandler_ICoreInputView4_add_PrimaryViewHiding
      ; RetVal : access Windows.Foundation.EventRegistrationToken
   )
   return Windows.HRESULT is abstract;
   
   function remove_PrimaryViewHiding
   (
      This       : access ICoreInputView4_Interface
      ; token : Windows.Foundation.EventRegistrationToken
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_ICoreInputViewHidingEventArgs : aliased constant Windows.IID := (3940173757, 47813, 21302, (132, 141, 65, 8, 53, 132, 218, 173 ));
   
   type ICoreInputViewHidingEventArgs_Interface is interface and Windows.IInspectable_Interface;
   
   function TryCancel
   (
      This       : access ICoreInputViewHidingEventArgs_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_ICoreInputViewOcclusion : aliased constant Windows.IID := (3426143750, 14437, 16759, (181, 245, 139, 101, 224, 185, 206, 132 ));
   
   type ICoreInputViewOcclusion_Interface is interface and Windows.IInspectable_Interface;
   
   function get_OccludingRect
   (
      This       : access ICoreInputViewOcclusion_Interface
      ; RetVal : access Windows.Foundation.Rect
   )
   return Windows.HRESULT is abstract;
   
   function get_OcclusionKind
   (
      This       : access ICoreInputViewOcclusion_Interface
      ; RetVal : access Windows.UI.ViewManagement.Core.CoreInputViewOcclusionKind
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_ICoreInputViewOcclusionsChangedEventArgs : aliased constant Windows.IID := (3188729832, 46062, 19959, (149, 84, 137, 205, 198, 96, 130, 194 ));
   
   type ICoreInputViewOcclusionsChangedEventArgs_Interface is interface and Windows.IInspectable_Interface;
   
   function get_Occlusions
   (
      This       : access ICoreInputViewOcclusionsChangedEventArgs_Interface
      ; RetVal : access Windows.UI.ViewManagement.Core.IVectorView_ICoreInputViewOcclusion -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   function get_Handled
   (
      This       : access ICoreInputViewOcclusionsChangedEventArgs_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function put_Handled
   (
      This       : access ICoreInputViewOcclusionsChangedEventArgs_Interface
      ; value : Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_ICoreInputViewShowingEventArgs : aliased constant Windows.IID := (3394381339, 64414, 23983, (169, 140, 38, 43, 139, 118, 175, 80 ));
   
   type ICoreInputViewShowingEventArgs_Interface is interface and Windows.IInspectable_Interface;
   
   function TryCancel
   (
      This       : access ICoreInputViewShowingEventArgs_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_ICoreInputViewStatics : aliased constant Windows.IID := (2107348941, 60862, 18895, (165, 79, 51, 125, 224, 82, 144, 127 ));
   
   type ICoreInputViewStatics_Interface is interface and Windows.IInspectable_Interface;
   
   function GetForCurrentView
   (
      This       : access ICoreInputViewStatics_Interface
      ; RetVal : access Windows.UI.ViewManagement.Core.ICoreInputView
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_ICoreInputViewStatics2 : aliased constant Windows.IID := (2126252130, 53321, 20050, (135, 176, 30, 144, 233, 140, 73, 237 ));
   
   type ICoreInputViewStatics2_Interface is interface and Windows.IInspectable_Interface;
   
   function GetForUIContext
   (
      This       : access ICoreInputViewStatics2_Interface
      ; context : Windows.UI.IUIContext
      ; RetVal : access Windows.UI.ViewManagement.Core.ICoreInputView
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_ICoreInputViewTransferringXYFocusEventArgs : aliased constant Windows.IID := (81663647, 47618, 18512, (139, 85, 216, 45, 3, 186, 109, 127 ));
   
   type ICoreInputViewTransferringXYFocusEventArgs_Interface is interface and Windows.IInspectable_Interface;
   
   function get_Origin
   (
      This       : access ICoreInputViewTransferringXYFocusEventArgs_Interface
      ; RetVal : access Windows.Foundation.Rect
   )
   return Windows.HRESULT is abstract;
   
   function get_Direction
   (
      This       : access ICoreInputViewTransferringXYFocusEventArgs_Interface
      ; RetVal : access Windows.UI.ViewManagement.Core.CoreInputViewXYFocusTransferDirection
   )
   return Windows.HRESULT is abstract;
   
   function put_TransferHandled
   (
      This       : access ICoreInputViewTransferringXYFocusEventArgs_Interface
      ; value : Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function get_TransferHandled
   (
      This       : access ICoreInputViewTransferringXYFocusEventArgs_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function put_KeepPrimaryViewVisible
   (
      This       : access ICoreInputViewTransferringXYFocusEventArgs_Interface
      ; value : Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function get_KeepPrimaryViewVisible
   (
      This       : access ICoreInputViewTransferringXYFocusEventArgs_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIterable_ICoreInputViewOcclusion : aliased constant Windows.IID := (168924555, 25562, 21862, (145, 58, 24, 5, 80, 218, 210, 106 ));
   
   type IIterable_ICoreInputViewOcclusion_Interface is interface and Windows.IInspectable_Interface;
   
   function First
   (
      This       : access IIterable_ICoreInputViewOcclusion_Interface
      ; RetVal : access Windows.UI.ViewManagement.Core.IIterator_ICoreInputViewOcclusion
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IIterator_ICoreInputViewOcclusion : aliased constant Windows.IID := (1538618196, 20288, 24307, (165, 209, 106, 96, 73, 249, 5, 161 ));
   
   type IIterator_ICoreInputViewOcclusion_Interface is interface and Windows.IInspectable_Interface;
   
   function get_Current
   (
      This       : access IIterator_ICoreInputViewOcclusion_Interface
      ; RetVal : access Windows.UI.ViewManagement.Core.ICoreInputViewOcclusion
   )
   return Windows.HRESULT is abstract;
   
   function get_HasCurrent
   (
      This       : access IIterator_ICoreInputViewOcclusion_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function MoveNext
   (
      This       : access IIterator_ICoreInputViewOcclusion_Interface
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function GetMany
   (
      This       : access IIterator_ICoreInputViewOcclusion_Interface
      ; items : Windows.UI.ViewManagement.Core.ICoreInputViewOcclusion_Ptr
      ; RetVal : access Windows.UInt32
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IUISettingsController : aliased constant Windows.IID := (2024086212, 5568, 23067, (167, 91, 172, 191, 156, 184, 187, 158 ));
   
   type IUISettingsController_Interface is interface and Windows.IInspectable_Interface;
   
   function SetAdvancedEffectsEnabled
   (
      This       : access IUISettingsController_Interface
      ; value : Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function SetAnimationsEnabled
   (
      This       : access IUISettingsController_Interface
      ; value : Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function SetAutoHideScrollBars
   (
      This       : access IUISettingsController_Interface
      ; value : Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function SetMessageDuration
   (
      This       : access IUISettingsController_Interface
      ; value : Windows.UInt32
   )
   return Windows.HRESULT is abstract;
   
   function SetTextScaleFactor
   (
      This       : access IUISettingsController_Interface
      ; value : Windows.Double
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IUISettingsControllerStatics : aliased constant Windows.IID := (3946604748, 49696, 22412, (129, 25, 125, 179, 36, 237, 38, 166 ));
   
   type IUISettingsControllerStatics_Interface is interface and Windows.IInspectable_Interface;
   
   function RequestDefaultAsync
   (
      This       : access IUISettingsControllerStatics_Interface
      ; RetVal : access Windows.UI.ViewManagement.Core.IAsyncOperation_IUISettingsController -- Generic Parameter Type
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   
   IID_IVectorView_ICoreInputViewOcclusion : aliased constant Windows.IID := (3767940472, 41542, 22144, (134, 209, 39, 81, 148, 35, 226, 18 ));
   
   type IVectorView_ICoreInputViewOcclusion_Interface is interface and Windows.IInspectable_Interface;
   
   function GetAt
   (
      This       : access IVectorView_ICoreInputViewOcclusion_Interface
      ; index : Windows.UInt32
      ; RetVal : access Windows.UI.ViewManagement.Core.ICoreInputViewOcclusion
   )
   return Windows.HRESULT is abstract;
   
   function get_Size
   (
      This       : access IVectorView_ICoreInputViewOcclusion_Interface
      ; RetVal : access Windows.UInt32
   )
   return Windows.HRESULT is abstract;
   
   function IndexOf
   (
      This       : access IVectorView_ICoreInputViewOcclusion_Interface
      ; value : Windows.UI.ViewManagement.Core.ICoreInputViewOcclusion
      ; index : access Windows.UInt32
      ; RetVal : access Windows.Boolean
   )
   return Windows.HRESULT is abstract;
   
   function GetMany
   (
      This       : access IVectorView_ICoreInputViewOcclusion_Interface
      ; startIndex : Windows.UInt32
      ; items : Windows.UI.ViewManagement.Core.ICoreInputViewOcclusion_Ptr
      ; RetVal : access Windows.UInt32
   )
   return Windows.HRESULT is abstract;
   
   ------------------------------------------------------------------------
   -- Delegates/Events
   ------------------------------------------------------------------------
   
   ------------------------------------------------------------------------
   
   IID_AsyncOperationCompletedHandler_IUISettingsController : aliased constant Windows.IID := (2296227179, 57281, 20837, (172, 19, 252, 152, 104, 187, 74, 183 ));
   
   type AsyncOperationCompletedHandler_IUISettingsController_Interface(Callback : access procedure (asyncInfo : Windows.UI.ViewManagement.Core.IAsyncOperation_IUISettingsController ; asyncStatus : Windows.Foundation.AsyncStatus)) is new Windows.IMulticastDelegate_Interface(IID_AsyncOperationCompletedHandler_IUISettingsController'access) with null record;
   function Invoke
   (
      This       : access AsyncOperationCompletedHandler_IUISettingsController_Interface
      ; asyncInfo : Windows.UI.ViewManagement.Core.IAsyncOperation_IUISettingsController
      ; asyncStatus : Windows.Foundation.AsyncStatus
   )
   return Windows.HRESULT;
   
   ------------------------------------------------------------------------
   
   IID_TypedEventHandler_ICoreInputView_add_OcclusionsChanged : aliased constant Windows.IID := (1524551428, 60881, 20787, (171, 199, 88, 42, 2, 127, 9, 187 ));
   
   type TypedEventHandler_ICoreInputView_add_OcclusionsChanged_Interface(Callback : access procedure (sender : Windows.UI.ViewManagement.Core.ICoreInputView ; args : Windows.UI.ViewManagement.Core.ICoreInputViewOcclusionsChangedEventArgs)) is new Windows.IMulticastDelegate_Interface(IID_TypedEventHandler_ICoreInputView_add_OcclusionsChanged'access) with null record;
   function Invoke
   (
      This       : access TypedEventHandler_ICoreInputView_add_OcclusionsChanged_Interface
      ; sender : Windows.UI.ViewManagement.Core.ICoreInputView
      ; args : Windows.UI.ViewManagement.Core.ICoreInputViewOcclusionsChangedEventArgs
   )
   return Windows.HRESULT;
   
   ------------------------------------------------------------------------
   
   IID_TypedEventHandler_ICoreInputView2_add_XYFocusTransferredToPrimaryView : aliased constant Windows.IID := (734062582, 51058, 22240, (148, 57, 101, 6, 102, 199, 141, 12 ));
   
   type TypedEventHandler_ICoreInputView2_add_XYFocusTransferredToPrimaryView_Interface(Callback : access procedure (sender : Windows.UI.ViewManagement.Core.ICoreInputView ; args : Windows.Object)) is new Windows.IMulticastDelegate_Interface(IID_TypedEventHandler_ICoreInputView2_add_XYFocusTransferredToPrimaryView'access) with null record;
   function Invoke
   (
      This       : access TypedEventHandler_ICoreInputView2_add_XYFocusTransferredToPrimaryView_Interface
      ; sender : Windows.UI.ViewManagement.Core.ICoreInputView
      ; args : Windows.Object
   )
   return Windows.HRESULT;
   
   ------------------------------------------------------------------------
   
   IID_TypedEventHandler_ICoreInputView2_add_XYFocusTransferringFromPrimaryView : aliased constant Windows.IID := (2283700632, 32758, 23769, (138, 100, 109, 212, 41, 34, 103, 173 ));
   
   type TypedEventHandler_ICoreInputView2_add_XYFocusTransferringFromPrimaryView_Interface(Callback : access procedure (sender : Windows.UI.ViewManagement.Core.ICoreInputView ; args : Windows.UI.ViewManagement.Core.ICoreInputViewTransferringXYFocusEventArgs)) is new Windows.IMulticastDelegate_Interface(IID_TypedEventHandler_ICoreInputView2_add_XYFocusTransferringFromPrimaryView'access) with null record;
   function Invoke
   (
      This       : access TypedEventHandler_ICoreInputView2_add_XYFocusTransferringFromPrimaryView_Interface
      ; sender : Windows.UI.ViewManagement.Core.ICoreInputView
      ; args : Windows.UI.ViewManagement.Core.ICoreInputViewTransferringXYFocusEventArgs
   )
   return Windows.HRESULT;
   
   ------------------------------------------------------------------------
   
   IID_TypedEventHandler_ICoreInputView4_add_PrimaryViewHiding : aliased constant Windows.IID := (831041478, 19347, 22688, (181, 176, 203, 237, 101, 190, 12, 126 ));
   
   type TypedEventHandler_ICoreInputView4_add_PrimaryViewHiding_Interface(Callback : access procedure (sender : Windows.UI.ViewManagement.Core.ICoreInputView ; args : Windows.UI.ViewManagement.Core.ICoreInputViewHidingEventArgs)) is new Windows.IMulticastDelegate_Interface(IID_TypedEventHandler_ICoreInputView4_add_PrimaryViewHiding'access) with null record;
   function Invoke
   (
      This       : access TypedEventHandler_ICoreInputView4_add_PrimaryViewHiding_Interface
      ; sender : Windows.UI.ViewManagement.Core.ICoreInputView
      ; args : Windows.UI.ViewManagement.Core.ICoreInputViewHidingEventArgs
   )
   return Windows.HRESULT;
   
   ------------------------------------------------------------------------
   
   IID_TypedEventHandler_ICoreInputView4_add_PrimaryViewShowing : aliased constant Windows.IID := (2734744313, 29563, 21296, (142, 162, 104, 231, 163, 170, 237, 178 ));
   
   type TypedEventHandler_ICoreInputView4_add_PrimaryViewShowing_Interface(Callback : access procedure (sender : Windows.UI.ViewManagement.Core.ICoreInputView ; args : Windows.UI.ViewManagement.Core.ICoreInputViewShowingEventArgs)) is new Windows.IMulticastDelegate_Interface(IID_TypedEventHandler_ICoreInputView4_add_PrimaryViewShowing'access) with null record;
   function Invoke
   (
      This       : access TypedEventHandler_ICoreInputView4_add_PrimaryViewShowing_Interface
      ; sender : Windows.UI.ViewManagement.Core.ICoreInputView
      ; args : Windows.UI.ViewManagement.Core.ICoreInputViewShowingEventArgs
   )
   return Windows.HRESULT;
   
   ------------------------------------------------------------------------
   -- Classes
   ------------------------------------------------------------------------
   
   subtype CoreInputView is Windows.UI.ViewManagement.Core.ICoreInputView;
   subtype CoreInputViewHidingEventArgs is Windows.UI.ViewManagement.Core.ICoreInputViewHidingEventArgs;
   subtype CoreInputViewOcclusion is Windows.UI.ViewManagement.Core.ICoreInputViewOcclusion;
   subtype CoreInputViewOcclusionsChangedEventArgs is Windows.UI.ViewManagement.Core.ICoreInputViewOcclusionsChangedEventArgs;
   subtype CoreInputViewShowingEventArgs is Windows.UI.ViewManagement.Core.ICoreInputViewShowingEventArgs;
   subtype CoreInputViewTransferringXYFocusEventArgs is Windows.UI.ViewManagement.Core.ICoreInputViewTransferringXYFocusEventArgs;
   subtype UISettingsController is Windows.UI.ViewManagement.Core.IUISettingsController;
   
   ------------------------------------------------------------------------
   -- Static Procedures/functions
   ------------------------------------------------------------------------
   
   function GetForCurrentView
   return Windows.UI.ViewManagement.Core.ICoreInputView;
   
   function GetForUIContext
   (
      context : Windows.UI.IUIContext
   )
   return Windows.UI.ViewManagement.Core.ICoreInputView;
   
   function RequestDefaultAsync
   return Windows.UI.ViewManagement.Core.IAsyncOperation_IUISettingsController;
   
end;
