|
IFACEMETHODIMP | FindItemByProperty (IRawElementProviderSimple *start_after_element, PROPERTYID property_id, VARIANT value, IRawElementProviderSimple **result) override |
|
IFACEMETHODIMP | get_HostRawElementProvider (IRawElementProviderSimple **host_element_provider) override |
|
IFACEMETHODIMP | GetPatternProvider (PATTERNID pattern_id, IUnknown **result) override |
|
IFACEMETHODIMP | GetPropertyValue (PROPERTYID property_id, VARIANT *result) override |
|
IFACEMETHODIMP | get_FragmentRoot (IRawElementProviderFragmentRoot **fragment_root) override |
|
IFACEMETHODIMP | ElementProviderFromPoint (double screen_physical_pixel_x, double screen_physical_pixel_y, IRawElementProviderFragment **element_provider) override |
|
IFACEMETHODIMP | GetFocus (IRawElementProviderFragment **focus) override |
|
IFACEMETHODIMP | AdviseEventAdded (EVENTID event_id, SAFEARRAY *property_ids) override |
|
IFACEMETHODIMP | AdviseEventRemoved (EVENTID event_id, SAFEARRAY *property_ids) override |
|
Definition at line 16 of file ax_fragment_root_win.cc.
◆ AdviseEventAdded()
IFACEMETHODIMP ui::AXFragmentRootPlatformNodeWin::AdviseEventAdded |
( |
EVENTID |
event_id, |
|
|
SAFEARRAY * |
property_ids |
|
) |
| |
|
inlineoverride |
Definition at line 219 of file ax_fragment_root_win.cc.
220 {
221 if (event_id == UIA_LiveRegionChangedEventId) {
222 live_region_change_listeners_++;
223
224 if (live_region_change_listeners_ == 1) {
225
226
227
228
229
230
231
232
233
234
235 FireLiveRegionChangeRecursive();
236 }
237 }
238 return S_OK;
239 }
◆ AdviseEventRemoved()
IFACEMETHODIMP ui::AXFragmentRootPlatformNodeWin::AdviseEventRemoved |
( |
EVENTID |
event_id, |
|
|
SAFEARRAY * |
property_ids |
|
) |
| |
|
inlineoverride |
Definition at line 241 of file ax_fragment_root_win.cc.
242 {
243 if (event_id == UIA_LiveRegionChangedEventId) {
245 live_region_change_listeners_--;
246 }
247 return S_OK;
248 }
#define BASE_DCHECK(condition)
◆ Create()
Definition at line 28 of file ax_fragment_root_win.cc.
29 {
30
32
33 CComObject<AXFragmentRootPlatformNodeWin>*
instance =
nullptr;
34 HRESULT hr =
35 CComObject<AXFragmentRootPlatformNodeWin>::CreateInstance(&
instance);
40 }
void CreateATLModuleIfNeeded()
◆ ElementProviderFromPoint()
IFACEMETHODIMP ui::AXFragmentRootPlatformNodeWin::ElementProviderFromPoint |
( |
double |
screen_physical_pixel_x, |
|
|
double |
screen_physical_pixel_y, |
|
|
IRawElementProviderFragment ** |
element_provider |
|
) |
| |
|
inlineoverride |
Definition at line 157 of file ax_fragment_root_win.cc.
160 {
162
163 *element_provider = nullptr;
164
166
167
168 AXPlatformNode* node_to_test = this;
169 do {
171 node_to_test->GetDelegate()->HitTestSync(screen_physical_pixel_x,
172 screen_physical_pixel_y);
173 if (test_result != nullptr && test_result != hit_element) {
174 hit_element = test_result;
176 } else {
177 node_to_test = nullptr;
178 }
179 } while (node_to_test);
180
181 if (hit_element)
182 hit_element->QueryInterface(element_provider);
183
184 return S_OK;
185 }
UnimplementedNativeViewAccessible * NativeViewAccessible
◆ FindItemByProperty()
IFACEMETHODIMP ui::AXFragmentRootPlatformNodeWin::FindItemByProperty |
( |
IRawElementProviderSimple * |
start_after_element, |
|
|
PROPERTYID |
property_id, |
|
|
VARIANT |
value, |
|
|
IRawElementProviderSimple ** |
result |
|
) |
| |
|
inlineoverride |
Definition at line 45 of file ax_fragment_root_win.cc.
49 {
52
53
54 if (property_id ==
56 value.vt == VT_BSTR) {
57 int32_t ax_unique_id;
58
59
60
62
63
64
65
66 if (AXPlatformNodeWin* result_platform_node =
67 static_cast<AXPlatformNodeWin*>(GetFromUniqueId(-ax_unique_id))) {
68 if (start_after_element) {
69 Microsoft::WRL::ComPtr<AXPlatformNodeWin> start_after_platform_node;
70 if (!
SUCCEEDED(start_after_element->QueryInterface(
71 IID_PPV_ARGS(&start_after_platform_node))))
72 return E_INVALIDARG;
73
74
75
76 if (start_after_platform_node->CompareTo(*result_platform_node) >= 0)
77 return S_OK;
78 }
79
80 return result_platform_node->QueryInterface(IID_PPV_ARGS(
result));
81 }
82 }
83
84 return E_INVALIDARG;
85 }
static const UiaRegistrarWin & GetInstance()
bool stoi(std::string_view s, SKSL_INT *value)
◆ get_FragmentRoot()
IFACEMETHODIMP ui::AXFragmentRootPlatformNodeWin::get_FragmentRoot |
( |
IRawElementProviderFragmentRoot ** |
fragment_root | ) |
|
|
inlineoverride |
Definition at line 146 of file ax_fragment_root_win.cc.
147 {
149
150 QueryInterface(IID_PPV_ARGS(fragment_root));
151 return S_OK;
152 }
◆ get_HostRawElementProvider()
IFACEMETHODIMP ui::AXFragmentRootPlatformNodeWin::get_HostRawElementProvider |
( |
IRawElementProviderSimple ** |
host_element_provider | ) |
|
|
inlineoverride |
Definition at line 91 of file ax_fragment_root_win.cc.
92 {
94
95 HWND hwnd = GetDelegate()->GetTargetForNativeAccessibilityEvent();
96 return UiaHostProviderFromHwnd(hwnd, host_element_provider);
97 }
◆ GetFocus()
IFACEMETHODIMP ui::AXFragmentRootPlatformNodeWin::GetFocus |
( |
IRawElementProviderFragment ** |
focus | ) |
|
|
inlineoverride |
Definition at line 187 of file ax_fragment_root_win.cc.
187 {
189
190 *focus = nullptr;
191
193
194
195
196
197 AXPlatformNode* node_to_test = this;
198 do {
200 node_to_test->GetDelegate()->GetFocus();
201 if (test_result != nullptr && test_result != focused_element) {
202 focused_element = test_result;
203 node_to_test =
205 } else {
206 node_to_test = nullptr;
207 }
208 } while (node_to_test);
209
210 if (focused_element)
211 focused_element->QueryInterface(IID_PPV_ARGS(focus));
212
213 return S_OK;
214 }
◆ GetPatternProvider()
IFACEMETHODIMP ui::AXFragmentRootPlatformNodeWin::GetPatternProvider |
( |
PATTERNID |
pattern_id, |
|
|
IUnknown ** |
result |
|
) |
| |
|
inlineoverride |
Definition at line 99 of file ax_fragment_root_win.cc.
100 {
103
104 if (pattern_id == UIA_ItemContainerPatternId) {
105 AddRef();
106 *
result =
static_cast<IItemContainerProvider*
>(
this);
107 return S_OK;
108 }
109
110 return AXPlatformNodeWin::GetPatternProviderImpl(pattern_id,
result);
111 }
◆ GetPropertyValue()
IFACEMETHODIMP ui::AXFragmentRootPlatformNodeWin::GetPropertyValue |
( |
PROPERTYID |
property_id, |
|
|
VARIANT * |
result |
|
) |
| |
|
inlineoverride |
Definition at line 113 of file ax_fragment_root_win.cc.
114 {
116
117 switch (property_id) {
118 default:
119
120
121
122
123
125 break;
126
127 case UIA_IsControlElementPropertyId:
128 case UIA_IsContentElementPropertyId:
129
130
133 static_cast<AXFragmentRootWin*>(GetDelegate())->IsControlElement()
134 ? VARIANT_TRUE
135 : VARIANT_FALSE;
136 break;
137 }
138
139 return S_OK;
140 }
The documentation for this class was generated from the following file: