UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WindowsUIAWidgetProvider.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
#pragma once
4
5
#if WITH_ACCESSIBILITY && UE_WINDOWS_USING_UIA
6
7
#include "
Windows/Accessibility/WindowsUIABaseProvider.h
"
8
#include "
Misc/Variant.h
"
9
10
class
FWindowsUIAManager
;
11
class
IAccessibleWidget
;
12
20
class
FWindowsUIAWidgetProvider
21
:
public
FWindowsUIABaseProvider
22
,
public
IRawElementProviderSimple
23
,
public
IRawElementProviderFragment
24
{
25
friend
class
FWindowsUIAManager
;
26
public
:
27
// IUnknown
28
virtual
HRESULT
STDCALL
QueryInterface(
REFIID
riid
,
void
**
ppInterface
)
override
;
29
virtual
ULONG
STDCALL
AddRef()
override
;
30
virtual
ULONG
STDCALL
Release
()
override
;
31
// ~
32
33
// IRawElementProviderSimple
34
virtual
HRESULT
STDCALL
get_ProviderOptions
(
ProviderOptions
*
pRetVal
)
override
;
35
virtual
HRESULT
STDCALL
GetPatternProvider
(
PATTERNID
patternId
,
IUnknown
**
pRetVal
)
override
;
36
virtual
HRESULT
STDCALL
GetPropertyValue
(
PROPERTYID
propertyId
,
VARIANT
*
pRetVal
)
override
;
37
virtual
HRESULT
STDCALL
get_HostRawElementProvider
(
IRawElementProviderSimple
**
pRetVal
)
override
;
38
// ~
39
40
// IRawElementProviderFragment
41
virtual
HRESULT
STDCALL
Navigate
(
NavigateDirection
direction
,
IRawElementProviderFragment
**
pRetVal
)
override
;
42
virtual
HRESULT
STDCALL
GetRuntimeId
(
SAFEARRAY
**
pRetVal
)
override
;
43
virtual
HRESULT
STDCALL
get_BoundingRectangle
(
UiaRect
*
pRetVal
)
override
;
44
virtual
HRESULT
STDCALL
GetEmbeddedFragmentRoots
(
SAFEARRAY
**
pRetVal
)
override
;
45
virtual
HRESULT
STDCALL
SetFocus()
override
;
46
virtual
HRESULT
STDCALL
get_FragmentRoot
(
IRawElementProviderFragmentRoot
**
pRetVal
)
override
;
47
// ~
48
57
bool
SupportsInterface
(
PATTERNID
PatternId
)
const
;
58
59
protected
:
60
FWindowsUIAWidgetProvider
(
FWindowsUIAManager
&
InManager
,
TSharedRef<IAccessibleWidget>
InWidget
);
61
virtual
~FWindowsUIAWidgetProvider
();
62
63
// void UpdateCachedProperties();
64
//private:
65
// void UpdateCachedProperty(PROPERTYID PropertyId);
66
// TMap<int32, FVariant> CachedPropertyValues;
67
};
68
72
class
FWindowsUIAWindowProvider
73
:
public
FWindowsUIAWidgetProvider
74
,
public
IRawElementProviderFragmentRoot
75
{
76
friend
class
FWindowsUIAManager
;
77
public
:
78
// IUnknown
79
virtual
HRESULT
STDCALL
QueryInterface(
REFIID
riid
,
void
**
ppInterface
)
override
;
80
virtual
ULONG
STDCALL
AddRef()
override
;
81
virtual
ULONG
STDCALL
Release
()
override
;
82
// ~
83
84
// IRawElementProviderSimple
85
virtual
HRESULT
STDCALL
get_HostRawElementProvider
(
IRawElementProviderSimple
**
pRetVal
)
override
;
86
virtual
HRESULT
STDCALL
GetPatternProvider
(
PATTERNID
patternId
,
IUnknown
**
pRetVal
)
override
;
87
// ~
88
89
// IRawElementProviderFragmentRoot
90
virtual
HRESULT
STDCALL
ElementProviderFromPoint
(
double
x,
double
y,
IRawElementProviderFragment
**
pRetVal
)
override
;
91
virtual
HRESULT
STDCALL
GetFocus
(
IRawElementProviderFragment
**
pRetVal
)
override
;
92
// ~
93
94
protected
:
96
FWindowsUIAWindowProvider
(
FWindowsUIAManager
&
InManager
,
TSharedRef<IAccessibleWidget>
InWidget
);
97
virtual
~FWindowsUIAWindowProvider
();
98
};
99
105
class
FScopedWidgetProvider
106
{
107
public
:
108
FScopedWidgetProvider
(
FWindowsUIAWidgetProvider
&
InProvider
)
109
: Provider(
InProvider
)
110
{
111
}
112
~FScopedWidgetProvider
()
113
{
114
Provider.Release();
115
}
116
FWindowsUIAWidgetProvider
& Provider;
117
};
118
119
#endif
EAnalyticsBuildType::Release
@ Release
STDCALL
#define STDCALL
Definition
AndroidPlatform.h:136
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
Variant.h
WindowsUIABaseProvider.h
TSharedRef
Definition
SharedPointer.h:153
UE::StructUtils::Private::GetPropertyValue
EPropertyBagResult GetPropertyValue(const FPropertyBagPropertyDesc *Desc, const void *Address, T &OutValue)
Definition
PropertyBag.cpp:761
Engine
Source
Runtime
ApplicationCore
Public
Windows
Accessibility
WindowsUIAWidgetProvider.h
Generated by
1.9.8