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
434a60ba
Commit
434a60ba
authored
Mar 09, 2006
by
Dmitry Timoshkov
Committed by
Alexandre Julliard
Mar 09, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gdi: A better workaround for extended user style pens.
parent
76c469e5
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
56 additions
and
36 deletions
+56
-36
objects.c
dlls/gdi/enhmfdrv/objects.c
+14
-9
objects.c
dlls/gdi/mfdrv/objects.c
+14
-9
pen.c
dlls/wineps/pen.c
+14
-9
pen.c
dlls/x11drv/pen.c
+14
-9
No files found.
dlls/gdi/enhmfdrv/objects.c
View file @
434a60ba
...
...
@@ -401,16 +401,21 @@ static HPEN EMFDRV_CreatePenIndirect(PHYSDEV dev, HPEN hPen )
if
(
!
GetObjectW
(
hPen
,
sizeof
(
emr
.
lopn
),
&
emr
.
lopn
))
{
/* must be an extended pen */
EXTLOGPEN
elp
;
if
(
!
GetObjectW
(
hPen
,
sizeof
(
elp
),
&
elp
))
{
FIXME
(
"extended pen %p not supported
\n
"
,
hPen
);
return
0
;
}
emr
.
lopn
.
lopnStyle
=
elp
.
elpPenStyle
;
emr
.
lopn
.
lopnWidth
.
x
=
elp
.
elpWidth
;
EXTLOGPEN
*
elp
;
INT
size
=
GetObjectW
(
hPen
,
0
,
NULL
);
if
(
!
size
)
return
0
;
elp
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
GetObjectW
(
hPen
,
size
,
elp
);
/* FIXME: add support for user style pens */
emr
.
lopn
.
lopnStyle
=
elp
->
elpPenStyle
;
emr
.
lopn
.
lopnWidth
.
x
=
elp
->
elpWidth
;
emr
.
lopn
.
lopnWidth
.
y
=
0
;
emr
.
lopn
.
lopnColor
=
elp
.
elpColor
;
emr
.
lopn
.
lopnColor
=
elp
->
elpColor
;
HeapFree
(
GetProcessHeap
(),
0
,
elp
);
}
emr
.
emr
.
iType
=
EMR_CREATEPEN
;
...
...
dlls/gdi/mfdrv/objects.c
View file @
434a60ba
...
...
@@ -406,16 +406,21 @@ HPEN MFDRV_SelectPen( PHYSDEV dev, HPEN hpen )
if
(
!
GetObject16
(
HPEN_16
(
hpen
),
sizeof
(
logpen
),
&
logpen
))
{
/* must be an extended pen */
EXTLOGPEN
elp
;
if
(
!
GetObjectW
(
hpen
,
sizeof
(
elp
),
&
elp
))
{
FIXME
(
"extended pen %p not supported
\n
"
,
hpen
);
return
0
;
}
logpen
.
lopnStyle
=
elp
.
elpPenStyle
;
logpen
.
lopnWidth
.
x
=
elp
.
elpWidth
;
EXTLOGPEN
*
elp
;
INT
size
=
GetObjectW
(
hpen
,
0
,
NULL
);
if
(
!
size
)
return
0
;
elp
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
GetObjectW
(
hpen
,
size
,
elp
);
/* FIXME: add support for user style pens */
logpen
.
lopnStyle
=
elp
->
elpPenStyle
;
logpen
.
lopnWidth
.
x
=
elp
->
elpWidth
;
logpen
.
lopnWidth
.
y
=
0
;
logpen
.
lopnColor
=
elp
.
elpColor
;
logpen
.
lopnColor
=
elp
->
elpColor
;
HeapFree
(
GetProcessHeap
(),
0
,
elp
);
}
index
=
MFDRV_CreatePenIndirect
(
dev
,
hpen
,
&
logpen
);
...
...
dlls/wineps/pen.c
View file @
434a60ba
...
...
@@ -44,16 +44,21 @@ HPEN PSDRV_SelectPen( PSDRV_PDEVICE *physDev, HPEN hpen )
if
(
!
GetObjectW
(
hpen
,
sizeof
(
logpen
),
&
logpen
))
{
/* must be an extended pen */
EXTLOGPEN
elp
;
if
(
!
GetObjectW
(
hpen
,
sizeof
(
elp
),
&
elp
))
{
FIXME
(
"extended pen %p not supported
\n
"
,
hpen
);
return
0
;
}
logpen
.
lopnStyle
=
elp
.
elpPenStyle
;
logpen
.
lopnWidth
.
x
=
elp
.
elpWidth
;
EXTLOGPEN
*
elp
;
INT
size
=
GetObjectW
(
hpen
,
0
,
NULL
);
if
(
!
size
)
return
0
;
elp
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
GetObjectW
(
hpen
,
size
,
elp
);
/* FIXME: add support for user style pens */
logpen
.
lopnStyle
=
elp
->
elpPenStyle
;
logpen
.
lopnWidth
.
x
=
elp
->
elpWidth
;
logpen
.
lopnWidth
.
y
=
0
;
logpen
.
lopnColor
=
elp
.
elpColor
;
logpen
.
lopnColor
=
elp
->
elpColor
;
HeapFree
(
GetProcessHeap
(),
0
,
elp
);
}
TRACE
(
"hpen = %p colour = %08lx
\n
"
,
hpen
,
logpen
.
lopnColor
);
...
...
dlls/x11drv/pen.c
View file @
434a60ba
...
...
@@ -41,16 +41,21 @@ HPEN X11DRV_SelectPen( X11DRV_PDEVICE *physDev, HPEN hpen )
if
(
!
GetObjectW
(
hpen
,
sizeof
(
logpen
),
&
logpen
))
{
/* must be an extended pen */
EXTLOGPEN
elp
;
if
(
!
GetObjectW
(
hpen
,
sizeof
(
elp
),
&
elp
))
{
FIXME
(
"extended pen %p not supported
\n
"
,
hpen
);
return
0
;
}
logpen
.
lopnStyle
=
elp
.
elpPenStyle
;
logpen
.
lopnWidth
.
x
=
elp
.
elpWidth
;
EXTLOGPEN
*
elp
;
INT
size
=
GetObjectW
(
hpen
,
0
,
NULL
);
if
(
!
size
)
return
0
;
elp
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
GetObjectW
(
hpen
,
size
,
elp
);
/* FIXME: add support for user style pens */
logpen
.
lopnStyle
=
elp
->
elpPenStyle
;
logpen
.
lopnWidth
.
x
=
elp
->
elpWidth
;
logpen
.
lopnWidth
.
y
=
0
;
logpen
.
lopnColor
=
elp
.
elpColor
;
logpen
.
lopnColor
=
elp
->
elpColor
;
HeapFree
(
GetProcessHeap
(),
0
,
elp
);
}
physDev
->
pen
.
style
=
logpen
.
lopnStyle
&
PS_STYLE_MASK
;
...
...
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