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
18c20964
Commit
18c20964
authored
Dec 28, 2011
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gdi32: Add support for PS_INSIDEFRAME pens when drawing rectangles.
parent
c861284a
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
13 additions
and
5 deletions
+13
-5
dibdrv.h
dlls/gdi32/dibdrv/dibdrv.h
+1
-1
graphics.c
dlls/gdi32/dibdrv/graphics.c
+8
-0
objects.c
dlls/gdi32/dibdrv/objects.c
+4
-4
No files found.
dlls/gdi32/dibdrv/dibdrv.h
View file @
18c20964
...
@@ -83,7 +83,7 @@ typedef struct dibdrv_physdev
...
@@ -83,7 +83,7 @@ typedef struct dibdrv_physdev
/* pen */
/* pen */
COLORREF
pen_colorref
;
COLORREF
pen_colorref
;
DWORD
pen_endcap
,
pen_join
;
DWORD
pen_
style
,
pen_
endcap
,
pen_join
;
int
pen_width
;
int
pen_width
;
dash_pattern
pen_pattern
;
dash_pattern
pen_pattern
;
dash_pos
dash_pos
;
dash_pos
dash_pos
;
...
...
dlls/gdi32/dibdrv/graphics.c
View file @
18c20964
...
@@ -580,6 +580,14 @@ BOOL dibdrv_Rectangle( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
...
@@ -580,6 +580,14 @@ BOOL dibdrv_Rectangle( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
if
(
defer_pen
(
pdev
))
if
(
defer_pen
(
pdev
))
return
next
->
funcs
->
pRectangle
(
next
,
left
,
top
,
right
,
bottom
);
return
next
->
funcs
->
pRectangle
(
next
,
left
,
top
,
right
,
bottom
);
if
(
pdev
->
pen_style
==
PS_INSIDEFRAME
)
{
rect
.
left
+=
pdev
->
pen_width
/
2
;
rect
.
top
+=
pdev
->
pen_width
/
2
;
rect
.
right
-=
(
pdev
->
pen_width
-
1
)
/
2
;
rect
.
bottom
-=
(
pdev
->
pen_width
-
1
)
/
2
;
}
reset_dash_origin
(
pdev
);
reset_dash_origin
(
pdev
);
/* 4 pts going anti-clockwise starting from top-right */
/* 4 pts going anti-clockwise starting from top-right */
...
...
dlls/gdi32/dibdrv/objects.c
View file @
18c20964
...
@@ -1279,7 +1279,6 @@ HPEN dibdrv_SelectPen( PHYSDEV dev, HPEN hpen )
...
@@ -1279,7 +1279,6 @@ HPEN dibdrv_SelectPen( PHYSDEV dev, HPEN hpen )
PHYSDEV
next
=
GET_NEXT_PHYSDEV
(
dev
,
pSelectPen
);
PHYSDEV
next
=
GET_NEXT_PHYSDEV
(
dev
,
pSelectPen
);
dibdrv_physdev
*
pdev
=
get_dibdrv_pdev
(
dev
);
dibdrv_physdev
*
pdev
=
get_dibdrv_pdev
(
dev
);
LOGPEN
logpen
;
LOGPEN
logpen
;
DWORD
style
;
TRACE
(
"(%p, %p)
\n
"
,
dev
,
hpen
);
TRACE
(
"(%p, %p)
\n
"
,
dev
,
hpen
);
...
@@ -1315,11 +1314,12 @@ HPEN dibdrv_SelectPen( PHYSDEV dev, HPEN hpen )
...
@@ -1315,11 +1314,12 @@ HPEN dibdrv_SelectPen( PHYSDEV dev, HPEN hpen )
pdev
->
defer
|=
DEFER_PEN
;
pdev
->
defer
|=
DEFER_PEN
;
style
=
logpen
.
lopnStyle
&
PS_STYLE_MASK
;
pdev
->
pen_
style
=
logpen
.
lopnStyle
&
PS_STYLE_MASK
;
switch
(
style
)
switch
(
pdev
->
pen_
style
)
{
{
case
PS_SOLID
:
case
PS_SOLID
:
case
PS_INSIDEFRAME
:
if
(
pdev
->
pen_width
<=
1
)
if
(
pdev
->
pen_width
<=
1
)
pdev
->
pen_lines
=
solid_pen_lines
;
pdev
->
pen_lines
=
solid_pen_lines
;
else
else
...
@@ -1334,7 +1334,7 @@ HPEN dibdrv_SelectPen( PHYSDEV dev, HPEN hpen )
...
@@ -1334,7 +1334,7 @@ HPEN dibdrv_SelectPen( PHYSDEV dev, HPEN hpen )
if
(
logpen
.
lopnStyle
&
PS_GEOMETRIC
)
break
;
if
(
logpen
.
lopnStyle
&
PS_GEOMETRIC
)
break
;
if
(
logpen
.
lopnWidth
.
x
>
1
)
break
;
if
(
logpen
.
lopnWidth
.
x
>
1
)
break
;
pdev
->
pen_lines
=
dashed_pen_lines
;
pdev
->
pen_lines
=
dashed_pen_lines
;
pdev
->
pen_pattern
=
dash_patterns
[
style
];
pdev
->
pen_pattern
=
dash_patterns
[
pdev
->
pen_
style
];
pdev
->
defer
&=
~
DEFER_PEN
;
pdev
->
defer
&=
~
DEFER_PEN
;
break
;
break
;
...
...
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