Alexandre Julliard : gdi32: Wide cosmetic pens don't support dashes.
Alexandre Julliard
julliard at winehq.org
Wed Dec 28 13:44:33 CST 2011
Module: wine
Branch: master
Commit: 5f03c6c81b0783bfb2efadcd2121a0eb87c7a3ef
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5f03c6c81b0783bfb2efadcd2121a0eb87c7a3ef
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Dec 28 13:52:11 2011 +0100
gdi32: Wide cosmetic pens don't support dashes.
---
dlls/gdi32/dibdrv/objects.c | 26 ++++++++++++++------------
1 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/dlls/gdi32/dibdrv/objects.c b/dlls/gdi32/dibdrv/objects.c
index c9b7814..b30c062 100644
--- a/dlls/gdi32/dibdrv/objects.c
+++ b/dlls/gdi32/dibdrv/objects.c
@@ -1305,23 +1305,25 @@ HPEN dibdrv_SelectPen( PHYSDEV dev, HPEN hpen )
switch (pdev->pen_style)
{
- case PS_SOLID:
- case PS_INSIDEFRAME:
- if(pdev->pen_width <= 1)
- pdev->pen_lines = solid_pen_lines;
- else
- pdev->pen_lines = wide_pen_lines;
- pdev->defer &= ~DEFER_PEN;
- break;
-
case PS_DASH:
case PS_DOT:
case PS_DASHDOT:
case PS_DASHDOTDOT:
if(logpen.lopnStyle & PS_GEOMETRIC) break;
- if(logpen.lopnWidth.x > 1) break;
- pdev->pen_lines = dashed_pen_lines;
- pdev->pen_pattern = dash_patterns[pdev->pen_style];
+ if (pdev->pen_width == 1) /* wide cosmetic pens are not dashed */
+ {
+ pdev->pen_lines = dashed_pen_lines;
+ pdev->pen_pattern = dash_patterns[pdev->pen_style];
+ pdev->defer &= ~DEFER_PEN;
+ break;
+ }
+ /* fall through */
+ case PS_SOLID:
+ case PS_INSIDEFRAME:
+ if(pdev->pen_width == 1)
+ pdev->pen_lines = solid_pen_lines;
+ else
+ pdev->pen_lines = wide_pen_lines;
pdev->defer &= ~DEFER_PEN;
break;
More information about the wine-cvs
mailing list