//
// 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";
import "Windows.Graphics.Imaging.idl";
import "Windows.Storage.Streams.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        interface IAsyncAction;

        typedef struct Size Size;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Imaging
        {
            runtimeclass SoftwareBitmap;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;
        }
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Preview
        {
            namespace Notes
            {
                apicontract PreviewNotesContract;

                interface INotePlacementChangedPreviewEventArgs;

                interface INoteVisibilityChangedPreviewEventArgs;

                interface INotesWindowManagerPreview;

                interface INotesWindowManagerPreview2;

                interface INotesWindowManagerPreviewShowNoteOptions;

                interface INotesWindowManagerPreviewStatics;

                runtimeclass NotePlacementChangedPreviewEventArgs;

                runtimeclass NoteVisibilityChangedPreviewEventArgs;

                runtimeclass NotesWindowManagerPreview;

                runtimeclass NotesWindowManagerPreviewShowNoteOptions;
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Preview
        {
            namespace Notes
            {
                declare
                {
                    interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreview*, IInspectable*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreview*, Windows.ApplicationModel.Preview.Notes.NotePlacementChangedPreviewEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreview*, Windows.ApplicationModel.Preview.Notes.NoteVisibilityChangedPreviewEventArgs*>;
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Preview
        {
            namespace Notes
            {
                [contractversion(2.0)]
                apicontract PreviewNotesContract
                {
                }

                [contract(Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 1.0)]
                [exclusiveto(Windows.ApplicationModel.Preview.Notes.NotePlacementChangedPreviewEventArgs)]
                [uuid(491D57B7-F780-4E7F-A939-9A4CAF965214)]
                interface INotePlacementChangedPreviewEventArgs : IInspectable
                {
                    [propget] HRESULT ViewId([out] [retval] INT32* value);
                }

                [contract(Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 1.0)]
                [exclusiveto(Windows.ApplicationModel.Preview.Notes.NoteVisibilityChangedPreviewEventArgs)]
                [uuid(0E34649E-3815-4FF6-83B3-A14D17120E24)]
                interface INoteVisibilityChangedPreviewEventArgs : IInspectable
                {
                    [propget] HRESULT ViewId([out] [retval] INT32* value);
                    [propget] HRESULT IsVisible([out] [retval] boolean* value);
                }

                [contract(Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 1.0)]
                [exclusiveto(Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreview)]
                [uuid(DC2AC23E-4850-4F13-9CC7-FF487EFDFCDE)]
                interface INotesWindowManagerPreview : IInspectable
                {
                    [propget] HRESULT IsScreenLocked([out] [retval] boolean* value);
                    HRESULT ShowNote([in] INT32 noteViewId);
                    HRESULT ShowNoteRelativeTo([in] INT32 noteViewId, [in] INT32 anchorNoteViewId);
                    HRESULT ShowNoteWithPlacement([in] INT32 noteViewId, [in] Windows.Storage.Streams.IBuffer* data);
                    HRESULT HideNote([in] INT32 noteViewId);
                    HRESULT GetNotePlacement([in] INT32 noteViewId, [out] [retval] Windows.Storage.Streams.IBuffer** data);
                    HRESULT TrySetNoteSize([in] INT32 noteViewId, [in] Windows.Foundation.Size size, [out] [retval] boolean* succeeded);
                    HRESULT SetFocusToNextView();
                    HRESULT SetNotesThumbnailAsync([in] Windows.Storage.Streams.IBuffer* thumbnail, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                    [eventadd] HRESULT SystemLockStateChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreview*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT SystemLockStateChanged([in] EventRegistrationToken token);
                    [eventadd] HRESULT NotePlacementChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreview*, Windows.ApplicationModel.Preview.Notes.NotePlacementChangedPreviewEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT NotePlacementChanged([in] EventRegistrationToken token);
                    [eventadd] HRESULT NoteVisibilityChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreview*, Windows.ApplicationModel.Preview.Notes.NoteVisibilityChangedPreviewEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT NoteVisibilityChanged([in] EventRegistrationToken token);
                }

                [contract(Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 2.0)]
                [exclusiveto(Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreview)]
                [uuid(EDFE864A-1F54-4B09-9823-FF477F6FA3BC)]
                interface INotesWindowManagerPreview2 : IInspectable
                {
                    [overload("ShowNoteRelativeTo")] HRESULT ShowNoteRelativeToWithOptions([in] INT32 noteViewId, [in] INT32 anchorNoteViewId, [in] Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreviewShowNoteOptions* options);
                    [overload("ShowNoteWithPlacement")] HRESULT ShowNoteWithPlacementWithOptions([in] INT32 noteViewId, [in] Windows.Storage.Streams.IBuffer* data, [in] Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreviewShowNoteOptions* options);
                    HRESULT SetFocusToPreviousView();
                    HRESULT SetThumbnailImageForTaskSwitcherAsync([in] Windows.Graphics.Imaging.SoftwareBitmap* bitmap, [out] [retval] Windows.Foundation.IAsyncAction** action);
                }

                [contract(Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 2.0)]
                [exclusiveto(Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreviewShowNoteOptions)]
                [uuid(886B09D6-A6AE-4007-A56D-1CA70C84C0D2)]
                interface INotesWindowManagerPreviewShowNoteOptions : IInspectable
                {
                    [propget] HRESULT ShowWithFocus([out] [retval] boolean* value);
                    [propput] HRESULT ShowWithFocus([in] boolean value);
                }

                [contract(Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 1.0)]
                [exclusiveto(Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreview)]
                [uuid(6668CC88-0A8E-4127-A38E-995445868A78)]
                interface INotesWindowManagerPreviewStatics : IInspectable
                {
                    HRESULT GetForCurrentApp([out] [retval] Windows.ApplicationModel.Preview.Notes.NotesWindowManagerPreview** current);
                }

                [contract(Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 1.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass NotePlacementChangedPreviewEventArgs
                {
                    [default] interface Windows.ApplicationModel.Preview.Notes.INotePlacementChangedPreviewEventArgs;
                }

                [contract(Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 1.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass NoteVisibilityChangedPreviewEventArgs
                {
                    [default] interface Windows.ApplicationModel.Preview.Notes.INoteVisibilityChangedPreviewEventArgs;
                }

                [contract(Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 1.0)]
                [marshaling_behavior(agile)]
                [static(Windows.ApplicationModel.Preview.Notes.INotesWindowManagerPreviewStatics, Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 1.0)]
                [threading(both)]
                runtimeclass NotesWindowManagerPreview
                {
                    [default] interface Windows.ApplicationModel.Preview.Notes.INotesWindowManagerPreview;
                    [contract(Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 2.0)] interface Windows.ApplicationModel.Preview.Notes.INotesWindowManagerPreview2;
                }

                [activatable(Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 2.0)]
                [contract(Windows.ApplicationModel.Preview.Notes.PreviewNotesContract, 2.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass NotesWindowManagerPreviewShowNoteOptions
                {
                    [default] interface Windows.ApplicationModel.Preview.Notes.INotesWindowManagerPreviewShowNoteOptions;
                }
            }
        }
    }
}
