mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-29 19:26:33 +00:00
[Win32k]
- Add a bypass flag to skip the Path support in IntGdiMoveToEx. See bug report 4364. This fixes 11 gdi path wine tests. svn path=/trunk/; revision=44507
This commit is contained in:
@@ -67,7 +67,8 @@ BOOL FASTCALL
|
||||
IntGdiMoveToEx(DC *dc,
|
||||
int X,
|
||||
int Y,
|
||||
LPPOINT Point);
|
||||
LPPOINT Point,
|
||||
BOOL BypassPath);
|
||||
|
||||
BOOL FASTCALL
|
||||
IntGdiPolyBezier(DC *dc,
|
||||
|
||||
@@ -247,9 +247,9 @@ IntGdiArcInternal(
|
||||
if (arctype == GdiTypeArcTo)
|
||||
{
|
||||
if (dc->dclevel.flPath & DCPATH_CLOCKWISE)
|
||||
IntGdiMoveToEx(dc, XStartArc, YStartArc, NULL);
|
||||
IntGdiMoveToEx(dc, XStartArc, YStartArc, NULL, TRUE);
|
||||
else
|
||||
IntGdiMoveToEx(dc, XEndArc, YEndArc, NULL);
|
||||
IntGdiMoveToEx(dc, XEndArc, YEndArc, NULL, TRUE);
|
||||
}
|
||||
return Ret;
|
||||
}
|
||||
@@ -294,7 +294,7 @@ IntGdiAngleArc( PDC pDC,
|
||||
|
||||
if (result)
|
||||
{
|
||||
IntGdiMoveToEx(pDC, x2, y2, NULL); // Dont forget Path.
|
||||
IntGdiMoveToEx(pDC, x2, y2, NULL, TRUE);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,8 @@ BOOL FASTCALL
|
||||
IntGdiMoveToEx(DC *dc,
|
||||
int X,
|
||||
int Y,
|
||||
LPPOINT Point)
|
||||
LPPOINT Point,
|
||||
BOOL BypassPath)
|
||||
{
|
||||
BOOL PathIsOpen;
|
||||
PDC_ATTR pdcattr = dc->pdcattr;
|
||||
@@ -54,6 +55,8 @@ IntGdiMoveToEx(DC *dc,
|
||||
CoordLPtoDP(dc, &pdcattr->ptfxCurrent); // Update fx
|
||||
pdcattr->ulDirty_ &= ~(DIRTY_PTLCURRENT|DIRTY_PTFXCURRENT|DIRTY_STYLESTATE);
|
||||
|
||||
if (BypassPath) return TRUE;
|
||||
|
||||
PathIsOpen = PATH_IsPathOpen(dc->dclevel);
|
||||
|
||||
if ( PathIsOpen )
|
||||
@@ -437,7 +440,7 @@ NtGdiPolyDraw(
|
||||
{
|
||||
if ( lpbTypes[i] == PT_MOVETO )
|
||||
{
|
||||
IntGdiMoveToEx( dc, lppt[i].x, lppt[i].y, NULL );
|
||||
IntGdiMoveToEx( dc, lppt[i].x, lppt[i].y, NULL, FALSE );
|
||||
lastmove.x = pdcattr->ptlCurrent.x;
|
||||
lastmove.y = pdcattr->ptlCurrent.y;
|
||||
}
|
||||
|
||||
@@ -1491,7 +1491,7 @@ end:
|
||||
POINT pt;
|
||||
IntGetCurrentPositionEx(dc, &pt);
|
||||
IntDPtoLP(dc, &pt, 1);
|
||||
IntGdiMoveToEx(dc, pt.x, pt.y, NULL);
|
||||
IntGdiMoveToEx(dc, pt.x, pt.y, NULL, FALSE);
|
||||
}
|
||||
DPRINT("Leave %s, ret=%d\n", __FUNCTION__, ret);
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user