Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
44aa2ea8
Commit
44aa2ea8
authored
Feb 03, 2023
by
Connor McAdams
Committed by
Alexandre Julliard
Feb 16, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
uiautomationcore: Add support for UIA_BoundingRectanglePropertyId.
Signed-off-by:
Connor McAdams
<
cmcadams@codeweavers.com
>
parent
df5f6f66
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
198 additions
and
29 deletions
+198
-29
uiautomation.c
dlls/uiautomationcore/tests/uiautomation.c
+157
-28
uia_client.c
dlls/uiautomationcore/uia_client.c
+39
-0
uia_ids.c
dlls/uiautomationcore/uia_ids.c
+2
-1
No files found.
dlls/uiautomationcore/tests/uiautomation.c
View file @
44aa2ea8
This diff is collapsed.
Click to expand it.
dlls/uiautomationcore/uia_client.c
View file @
44aa2ea8
...
...
@@ -1391,6 +1391,45 @@ static HRESULT uia_provider_get_special_prop_val(struct uia_provider *prov,
break
;
}
case
UIA_BoundingRectanglePropertyId
:
{
IRawElementProviderFragment
*
elfrag
;
struct
UiaRect
rect
=
{
0
};
double
rect_vals
[
4
];
SAFEARRAY
*
sa
;
LONG
idx
;
hr
=
IRawElementProviderSimple_QueryInterface
(
prov
->
elprov
,
&
IID_IRawElementProviderFragment
,
(
void
**
)
&
elfrag
);
if
(
FAILED
(
hr
)
||
!
elfrag
)
break
;
hr
=
IRawElementProviderFragment_get_BoundingRectangle
(
elfrag
,
&
rect
);
IRawElementProviderFragment_Release
(
elfrag
);
if
(
FAILED
(
hr
)
||
(
rect
.
width
<=
0
||
rect
.
height
<=
0
))
break
;
if
(
!
(
sa
=
SafeArrayCreateVector
(
VT_R8
,
0
,
ARRAY_SIZE
(
rect_vals
))))
break
;
rect_vals
[
0
]
=
rect
.
left
;
rect_vals
[
1
]
=
rect
.
top
;
rect_vals
[
2
]
=
rect
.
width
;
rect_vals
[
3
]
=
rect
.
height
;
for
(
idx
=
0
;
idx
<
ARRAY_SIZE
(
rect_vals
);
idx
++
)
{
hr
=
SafeArrayPutElement
(
sa
,
&
idx
,
&
rect_vals
[
idx
]);
if
(
FAILED
(
hr
))
{
SafeArrayDestroy
(
sa
);
break
;
}
}
V_VT
(
ret_val
)
=
VT_R8
|
VT_ARRAY
;
V_ARRAY
(
ret_val
)
=
sa
;
break
;
}
default:
break
;
}
...
...
dlls/uiautomationcore/uia_ids.c
View file @
44aa2ea8
...
...
@@ -225,7 +225,8 @@ static const struct uia_prop_info default_uia_properties[] = {
PROP_TYPE_ELEM_PROP
,
UIAutomationType_Bool
,
},
{
&
IsWindowPatternAvailable_Property_GUID
,
UIA_IsWindowPatternAvailablePropertyId
,
},
{
&
RangeValue_Minimum_Property_GUID
,
UIA_RangeValueMinimumPropertyId
,
},
{
&
BoundingRectangle_Property_GUID
,
UIA_BoundingRectanglePropertyId
,
},
{
&
BoundingRectangle_Property_GUID
,
UIA_BoundingRectanglePropertyId
,
PROP_TYPE_SPECIAL
,
UIAutomationType_Rect
,
},
{
&
LegacyIAccessible_Value_Property_GUID
,
UIA_LegacyIAccessibleValuePropertyId
,
},
{
&
IsDragPatternAvailable_Property_GUID
,
UIA_IsDragPatternAvailablePropertyId
,
},
{
&
DescribedBy_Property_GUID
,
UIA_DescribedByPropertyId
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment