mirror of
https://github.com/reactos/reactos.git
synced 2025-04-25 16:10:29 +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:
parent
9dae13cb9a
commit
ae95dea153
4 changed files with 11 additions and 7 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue