Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
8d6cd1b5
Commit
8d6cd1b5
authored
Oct 20, 2023
by
Bartosz Kosiorek
Committed by
Alexandre Julliard
Oct 27, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gdiplus: Fix transformation in GdipIsOutlineVisiblePathPoint.
parent
f6007881
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
16 deletions
+10
-16
graphicspath.c
dlls/gdiplus/graphicspath.c
+6
-12
graphicspath.c
dlls/gdiplus/tests/graphicspath.c
+4
-4
No files found.
dlls/gdiplus/graphicspath.c
View file @
8d6cd1b5
...
...
@@ -1728,9 +1728,10 @@ GpStatus WINGDIPAPI GdipIsOutlineVisiblePathPoint(GpPath* path, REAL x, REAL y,
{
GpStatus
stat
;
GpPath
*
wide_path
;
GpPointF
pt
=
{
x
,
y
};
GpMatrix
*
transform
=
NULL
;
TRACE
(
"(%p,
%0.2f,%0.2f,%p,%p,
%p)
\n
"
,
path
,
x
,
y
,
pen
,
graphics
,
result
);
TRACE
(
"(%p,
%0.2f, %0.2f, %p, %p,
%p)
\n
"
,
path
,
x
,
y
,
pen
,
graphics
,
result
);
if
(
!
path
||
!
pen
)
return
InvalidParameter
;
...
...
@@ -1747,22 +1748,15 @@ GpStatus WINGDIPAPI GdipIsOutlineVisiblePathPoint(GpPath* path, REAL x, REAL y,
if
(
stat
==
Ok
)
stat
=
get_graphics_transform
(
graphics
,
CoordinateSpaceDevice
,
CoordinateSpaceWorld
,
transform
);
if
(
stat
==
Ok
)
GdipTransformMatrixPoints
(
transform
,
&
pt
,
1
);
}
if
(
stat
==
Ok
)
stat
=
GdipWidenPath
(
wide_path
,
pen
,
transform
,
1
.
0
);
if
(
pen
->
unit
==
UnitPixel
&&
graphics
!=
NULL
)
{
if
(
stat
==
Ok
)
stat
=
GdipInvertMatrix
(
transform
);
if
(
stat
==
Ok
)
stat
=
GdipTransformPath
(
wide_path
,
transform
);
}
stat
=
GdipWidenPath
(
wide_path
,
pen
,
transform
,
0
.
25
f
);
if
(
stat
==
Ok
)
stat
=
GdipIsVisiblePathPoint
(
wide_path
,
x
,
y
,
graphics
,
result
);
stat
=
GdipIsVisiblePathPoint
(
wide_path
,
pt
.
X
,
pt
.
Y
,
graphics
,
result
);
GdipDeleteMatrix
(
transform
);
...
...
dlls/gdiplus/tests/graphicspath.c
View file @
8d6cd1b5
...
...
@@ -1964,7 +1964,7 @@ static void test_is_outline_visible_path_point(void)
result
=
TRUE
;
status
=
GdipIsOutlineVisiblePathPoint
(
path
,
1
.
0
,
1
.
0
,
pen
,
graphics
,
&
result
);
expect
(
Ok
,
status
);
todo_wine
expect
(
FALSE
,
result
);
expect
(
FALSE
,
result
);
result
=
FALSE
;
status
=
GdipIsOutlineVisiblePathPoint
(
path
,
2
.
0
,
1
.
0
,
pen
,
graphics
,
&
result
);
expect
(
Ok
,
status
);
...
...
@@ -1976,7 +1976,7 @@ static void test_is_outline_visible_path_point(void)
result
=
TRUE
;
status
=
GdipIsOutlineVisiblePathPoint
(
path
,
14
.
0
,
1
.
0
,
pen
,
graphics
,
&
result
);
expect
(
Ok
,
status
);
todo_wine
expect
(
FALSE
,
result
);
expect
(
FALSE
,
result
);
result
=
FALSE
;
status
=
GdipIsOutlineVisiblePathPoint
(
path
,
15
.
0
,
1
.
0
,
pen
,
graphics
,
&
result
);
expect
(
Ok
,
status
);
...
...
@@ -2001,7 +2001,7 @@ static void test_is_outline_visible_path_point(void)
result
=
FALSE
;
status
=
GdipIsOutlineVisiblePathPoint
(
path
,
2
.
0
,
1
.
0
,
pen
,
graphics
,
&
result
);
expect
(
Ok
,
status
);
todo_wine
expect
(
TRUE
,
result
);
expect
(
TRUE
,
result
);
result
=
TRUE
;
status
=
GdipIsOutlineVisiblePathPoint
(
path
,
3
.
0
,
1
.
0
,
pen
,
graphics
,
&
result
);
expect
(
Ok
,
status
);
...
...
@@ -2013,7 +2013,7 @@ static void test_is_outline_visible_path_point(void)
result
=
FALSE
;
status
=
GdipIsOutlineVisiblePathPoint
(
path
,
15
.
0
,
1
.
0
,
pen
,
graphics
,
&
result
);
expect
(
Ok
,
status
);
todo_wine
expect
(
TRUE
,
result
);
expect
(
TRUE
,
result
);
result
=
TRUE
;
status
=
GdipIsOutlineVisiblePathPoint
(
path
,
16
.
0
,
1
.
0
,
pen
,
graphics
,
&
result
);
expect
(
Ok
,
status
);
...
...
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