113 std::array<int32_t, 4>
ids{};
176 for (
int i = 0;
i < pats.
count; ++
i) {
188 for (
int i = 0;
i < pats.
count; ++
i) {
210 bool has_value_interface) {
217 bool has_value_interface,
218 bool has_text_interface,
219 bool has_value_string) {
221 (has_value_interface || has_text_interface || has_value_string);
231 bool has_value_interface,
232 bool has_editable_text_interface) {
233 const bool writable_value =
235 return !(writable_value || has_editable_text_interface);
259 std::array<int32_t, 2>
ids{};
266 rid.
ids[1] = 1 + index;
277 if (!(hi > lo))
return 0.0;
278 if (current <= lo)
return 0.0;
279 if (current >= hi)
return 1.0;
280 return (current - lo) / (hi - lo);
AccessRole
Screen-reader role.
Definition view.hpp:988
@ list
Definition view.hpp:991
@ slider
Definition view.hpp:989
@ list_item
Definition view.hpp:991
@ link
Definition view.hpp:990
@ none
Definition view.hpp:989
@ toggle
Definition view.hpp:989
@ meter
Definition view.hpp:989
@ image
Definition view.hpp:989
@ menu_item
Definition view.hpp:992
@ cell
Definition view.hpp:991
@ menu
Definition view.hpp:992
@ dialog
Definition view.hpp:992
@ checkbox
Definition view.hpp:990
@ radio
Definition view.hpp:990
@ tab_list
Definition view.hpp:991
@ table
Definition view.hpp:991
@ scroll_bar
Definition view.hpp:992
@ button
Definition view.hpp:990
@ label
Definition view.hpp:989
@ group
Definition view.hpp:989
@ tab
Definition view.hpp:991
@ text_field
Definition view.hpp:990
@ progress_bar
Definition view.hpp:992
@ row
Definition view.hpp:991
@ heading
Definition view.hpp:992
@ combo_box
Definition view.hpp:990
Definition uia_mapping.hpp:19
constexpr int32_t kControlTypeRadioButton
Definition uia_mapping.hpp:36
constexpr int32_t kControlTypeSlider
Definition uia_mapping.hpp:38
constexpr RuntimeId runtime_id_for_index(int index)
Definition uia_mapping.hpp:263
constexpr int32_t kControlTypeMenu
Definition uia_mapping.hpp:33
constexpr int32_t kControlTypeCheckBox
Definition uia_mapping.hpp:26
constexpr int32_t kControlTypeListItem
Definition uia_mapping.hpp:31
constexpr int32_t kPatternRangeValue
Definition uia_mapping.hpp:61
constexpr int32_t kControlTypeProgressBar
Definition uia_mapping.hpp:35
constexpr int32_t kControlTypeGroup
Definition uia_mapping.hpp:45
constexpr int32_t kControlTypeCustom
Definition uia_mapping.hpp:44
constexpr int32_t kControlTypeEdit
Definition uia_mapping.hpp:28
constexpr int32_t kPatternValue
Definition uia_mapping.hpp:60
constexpr int32_t kControlTypeTable
Definition uia_mapping.hpp:48
constexpr bool role_supports_range_value(View::AccessRole role)
True if a role's pattern set advertises the RangeValue pattern, i.e.
Definition uia_mapping.hpp:174
constexpr int32_t role_to_control_type(View::AccessRole role)
Map a Pulp AccessRole to the best-fit UIA control type.
Definition uia_mapping.hpp:65
constexpr int32_t kControlTypeText
Definition uia_mapping.hpp:41
constexpr int32_t kControlTypeDataItem
Definition uia_mapping.hpp:46
constexpr int32_t kControlTypeButton
Definition uia_mapping.hpp:25
constexpr int32_t kControlTypeComboBox
Definition uia_mapping.hpp:27
constexpr int32_t kControlTypeTab
Definition uia_mapping.hpp:39
constexpr int32_t kControlTypeMenuItem
Definition uia_mapping.hpp:34
constexpr PatternSet patterns_for_role(View::AccessRole role)
Definition uia_mapping.hpp:117
constexpr int32_t kUiaAppendRuntimeId
Definition uia_mapping.hpp:252
constexpr bool exposes_value(View::AccessRole role, bool has_value_interface, bool has_text_interface, bool has_value_string)
IValueProvider::get_Value needs SOME string: a value interface's display string, a text interface's c...
Definition uia_mapping.hpp:216
constexpr int32_t kControlTypeImage
Definition uia_mapping.hpp:30
constexpr bool is_read_only(View::AccessRole role, bool has_value_interface, bool has_editable_text_interface)
IsReadOnly must mean exactly "SetValue will fail".
Definition uia_mapping.hpp:230
constexpr int32_t kControlTypeList
Definition uia_mapping.hpp:32
constexpr int32_t kControlTypeHyperlink
Definition uia_mapping.hpp:29
constexpr bool role_supports_value(View::AccessRole role)
True if a role advertises the Value pattern (IValueProvider).
Definition uia_mapping.hpp:186
constexpr int32_t kControlTypeWindow
Definition uia_mapping.hpp:47
constexpr int32_t kControlTypeScrollBar
Definition uia_mapping.hpp:37
constexpr bool exposes_range_value(View::AccessRole role, bool has_value_interface)
IRangeValueProvider needs numeric min/max/current — i.e.
Definition uia_mapping.hpp:209
constexpr double normalized_value_fraction(double current, double lo, double hi)
Clamp a raw value into [lo, hi] then map to the [0, 1] fraction UIA's Value pattern reports for a ran...
Definition uia_mapping.hpp:274
constexpr int32_t kControlTypeTabItem
Definition uia_mapping.hpp:40
@ s
Definition input_events.hpp:41
@ i
Definition input_events.hpp:40
Pattern IDs the provider should advertise for a given role.
Definition uia_mapping.hpp:112
std::array< int32_t, 4 > ids
Definition uia_mapping.hpp:113
int count
Definition uia_mapping.hpp:114
Build the two-element runtime-id key for the fragment at index (its depth-first position among access...
Definition uia_mapping.hpp:258
static constexpr int count
Definition uia_mapping.hpp:260
std::array< int32_t, 2 > ids
Definition uia_mapping.hpp:259