mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-05 18:01:34 +00:00
329 lines
13 KiB
Text
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;
|
|
}
|
|
}
|