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
e5db8969
Commit
e5db8969
authored
Oct 27, 2011
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gdi32: Always start a new stroke when the path ends with a closed figure.
parent
e5ff4599
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
14 deletions
+7
-14
path.c
dlls/gdi32/path.c
+7
-14
No files found.
dlls/gdi32/path.c
View file @
e5db8969
...
...
@@ -225,11 +225,6 @@ static BOOL PATH_AddEntry(GdiPath *pPath, const POINT *pPoint, BYTE flags)
pPath
->
pPoints
[
pPath
->
numEntriesUsed
]
=*
pPoint
;
pPath
->
pFlags
[
pPath
->
numEntriesUsed
]
=
flags
;
/* If this is PT_CLOSEFIGURE, we have to start a new stroke next time */
if
((
flags
&
PT_CLOSEFIGURE
)
==
PT_CLOSEFIGURE
)
pPath
->
newStroke
=
TRUE
;
/* Increment entry count */
pPath
->
numEntriesUsed
++
;
return
TRUE
;
...
...
@@ -256,9 +251,13 @@ static BYTE *add_log_points( struct path_physdev *physdev, const POINT *points,
static
BOOL
start_new_stroke
(
struct
path_physdev
*
physdev
)
{
POINT
pos
;
GdiPath
*
path
=
physdev
->
path
;
if
(
!
physdev
->
path
->
newStroke
)
return
TRUE
;
physdev
->
path
->
newStroke
=
FALSE
;
if
(
!
path
->
newStroke
&&
path
->
numEntriesUsed
&&
!
(
path
->
pFlags
[
path
->
numEntriesUsed
-
1
]
&
PT_CLOSEFIGURE
))
return
TRUE
;
path
->
newStroke
=
FALSE
;
GetCurrentPositionEx
(
physdev
->
dev
.
hdc
,
&
pos
);
return
add_log_points
(
physdev
,
&
pos
,
1
,
PT_MOVETO
)
!=
NULL
;
}
...
...
@@ -1359,7 +1358,6 @@ static BOOL pathdrv_Polygon( PHYSDEV dev, const POINT *pts, INT cbPoints )
if
(
!
type
)
return
FALSE
;
if
(
cbPoints
)
type
[
0
]
=
PT_MOVETO
;
if
(
cbPoints
>
1
)
type
[
cbPoints
-
1
]
=
PT_LINETO
|
PT_CLOSEFIGURE
;
physdev
->
path
->
newStroke
=
TRUE
;
return
TRUE
;
}
...
...
@@ -1381,7 +1379,6 @@ static BOOL pathdrv_PolyPolygon( PHYSDEV dev, const POINT* pts, const INT* count
add_log_points
(
physdev
,
pts
,
1
,
PT_LINETO
|
PT_CLOSEFIGURE
);
pts
+=
counts
[
poly
];
}
physdev
->
path
->
newStroke
=
TRUE
;
return
TRUE
;
}
...
...
@@ -2152,11 +2149,7 @@ BOOL nulldrv_CloseFigure( PHYSDEV dev )
}
/* Set PT_CLOSEFIGURE on the last entry and start a new stroke */
/* It is not necessary to draw a line, PT_CLOSEFIGURE is a virtual closing line itself */
if
(
dc
->
path
.
numEntriesUsed
)
{
dc
->
path
.
pFlags
[
dc
->
path
.
numEntriesUsed
-
1
]
|=
PT_CLOSEFIGURE
;
dc
->
path
.
newStroke
=
TRUE
;
}
if
(
dc
->
path
.
numEntriesUsed
)
dc
->
path
.
pFlags
[
dc
->
path
.
numEntriesUsed
-
1
]
|=
PT_CLOSEFIGURE
;
return
TRUE
;
}
...
...
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