//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        typedef struct Rect Rect;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Accessibility
        {
            interface IScreenReaderPositionChangedEventArgs;

            interface IScreenReaderService;

            runtimeclass ScreenReaderPositionChangedEventArgs;

            runtimeclass ScreenReaderService;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace UI
    {
        namespace Accessibility
        {
            declare
            {
                interface Windows.Foundation.TypedEventHandler<Windows.UI.Accessibility.ScreenReaderService*, Windows.UI.Accessibility.ScreenReaderPositionChangedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Accessibility
        {
            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.UI.Accessibility.ScreenReaderPositionChangedEventArgs)]
            [uuid(557EB5E5-54D0-5CCD-9FC5-ED33357F8A9F)]
            interface IScreenReaderPositionChangedEventArgs : IInspectable
            {
                [propget] HRESULT ScreenPositionInRawPixels([out] [retval] Windows.Foundation.Rect* value);
                [propget] HRESULT IsReadingText([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.UI.Accessibility.ScreenReaderService)]
            [uuid(19475427-EAC0-50D3-BDD9-9B487A226256)]
            interface IScreenReaderService : IInspectable
            {
                [propget] HRESULT CurrentScreenReaderPosition([out] [retval] Windows.UI.Accessibility.ScreenReaderPositionChangedEventArgs** value);
                [eventadd] HRESULT ScreenReaderPositionChanged([in] Windows.Foundation.TypedEventHandler<Windows.UI.Accessibility.ScreenReaderService*, Windows.UI.Accessibility.ScreenReaderPositionChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ScreenReaderPositionChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            runtimeclass ScreenReaderPositionChangedEventArgs
            {
                [default] interface Windows.UI.Accessibility.IScreenReaderPositionChangedEventArgs;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 7.0)]
            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ScreenReaderService
            {
                [default] interface Windows.UI.Accessibility.IScreenReaderService;
            }
        }
    }
}
