Re: [PATCH 1/2] gdi32: fix for rotated Arc, ArcTo, Chord and Pie drawing problem (try 2)
Daniel Wendt <daniel.wendt(a)linux.com> writes:
@@ -308,6 +308,11 @@ static int get_arc_points( PHYSDEV dev, const RECT *rect, POINT start, POINT end }
memmove( points, points + count, (pos - count) * sizeof(POINT) ); + + if (GetGraphicsMode( dev->hdc ) == GM_ADVANCED) + { + LPtoDP( dev->hdc, points, pos - count ); + } return pos - count; }
@@ -322,7 +327,17 @@ static BOOL draw_arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom, BOOL ret = TRUE; HRGN outline = 0, interior = 0;
- if (!get_pen_device_rect( pdev, &rect, left, top, right, bottom )) return TRUE; + if (GetGraphicsMode(dev->hdc ) != GM_ADVANCED) + { + if (!get_pen_device_rect( pdev, &rect, left, top, right, bottom )) return TRUE; + } + else + { + rect.left = left; + rect.top = top; + rect.right = right; + rect.bottom = bottom; + }
I don't think that you want to draw arcs in logical space, that can be very inefficient. -- Alexandre Julliard julliard(a)winehq.org
participants (1)
-
Alexandre Julliard