wine/include/windows.ui.viewmanagement.idl

329 lines
13 KiB
Text

/*
* 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
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"; */
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 IUIViewSettings;
interface IUIViewSettingsStatics;
interface IInputPane;
interface IInputPane2;
interface IInputPaneControl;
interface IInputPaneVisibilityEventArgs;
interface IInputPaneStatics;
interface IInputPaneStatics2;
runtimeclass UISettings;
runtimeclass UIViewSettings;
runtimeclass InputPane;
runtimeclass InputPaneVisibilityEventArgs;
declare {
interface Windows.Foundation.TypedEventHandler<Windows.UI.ViewManagement.UISettings *, IInspectable *>;
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, 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;
}
[
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;
}
}