mirror of
https://github.com/reactos/reactos.git
synced 2024-09-06 10:52:52 +00:00
[WIN32K]
- The last DC_vPrepareForBlit/DC_vFinishBlit commit svn path=/branches/reactos-yarotows/; revision=46925
This commit is contained in:
parent
11131896db
commit
4cc8e60093
|
@ -142,13 +142,9 @@ IntEngPaint(IN SURFOBJ *pso,
|
||||||
{
|
{
|
||||||
// Call the driver's DrvPaint
|
// Call the driver's DrvPaint
|
||||||
SURFACE_LockBitmapBits(psurf);
|
SURFACE_LockBitmapBits(psurf);
|
||||||
MouseSafetyOnDrawStart(pso, ClipRegion->rclBounds.left,
|
|
||||||
ClipRegion->rclBounds.top, ClipRegion->rclBounds.right,
|
|
||||||
ClipRegion->rclBounds.bottom);
|
|
||||||
|
|
||||||
ret = GDIDEVFUNCS(pso).Paint(
|
ret = GDIDEVFUNCS(pso).Paint(
|
||||||
pso, ClipRegion, Brush, BrushOrigin, Mix);
|
pso, ClipRegion, Brush, BrushOrigin, Mix);
|
||||||
MouseSafetyOnDrawEnd(pso);
|
|
||||||
SURFACE_UnlockBitmapBits(psurf);
|
SURFACE_UnlockBitmapBits(psurf);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -408,7 +408,7 @@ BOOL FASTCALL PATH_RoundRect(DC *dc, INT x1, INT y1, INT x2, INT y2, INT ell_wid
|
||||||
FLOAT_POINT ellCorners[2];
|
FLOAT_POINT ellCorners[2];
|
||||||
|
|
||||||
pPath = PATH_LockPath( dc->dclevel.hPath );
|
pPath = PATH_LockPath( dc->dclevel.hPath );
|
||||||
if (!pPath) return FALSE;
|
if (!pPath) return FALSE;
|
||||||
|
|
||||||
/* Check that path is open */
|
/* Check that path is open */
|
||||||
if(pPath->state!=PATH_Open)
|
if(pPath->state!=PATH_Open)
|
||||||
|
@ -544,7 +544,7 @@ PATH_Arc ( PDC dc, INT x1, INT y1, INT x2, INT y2,
|
||||||
if ( pPath->state != PATH_Open )
|
if ( pPath->state != PATH_Open )
|
||||||
{
|
{
|
||||||
Ret = FALSE;
|
Ret = FALSE;
|
||||||
goto ArcExit;
|
goto ArcExit;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check for zero height / width */
|
/* Check for zero height / width */
|
||||||
|
@ -697,7 +697,7 @@ PATH_PolyBezierTo ( PDC dc, const POINT *pts, DWORD cbPoints )
|
||||||
|
|
||||||
pPath = PATH_LockPath( dc->dclevel.hPath );
|
pPath = PATH_LockPath( dc->dclevel.hPath );
|
||||||
if (!pPath) return FALSE;
|
if (!pPath) return FALSE;
|
||||||
|
|
||||||
/* Check that path is open */
|
/* Check that path is open */
|
||||||
if ( pPath->state != PATH_Open )
|
if ( pPath->state != PATH_Open )
|
||||||
{
|
{
|
||||||
|
@ -805,7 +805,7 @@ PATH_PolylineTo ( PDC dc, const POINT *pts, DWORD cbPoints )
|
||||||
|
|
||||||
pPath = PATH_LockPath( dc->dclevel.hPath );
|
pPath = PATH_LockPath( dc->dclevel.hPath );
|
||||||
if (!pPath) return FALSE;
|
if (!pPath) return FALSE;
|
||||||
|
|
||||||
/* Check that path is open */
|
/* Check that path is open */
|
||||||
if ( pPath->state != PATH_Open )
|
if ( pPath->state != PATH_Open )
|
||||||
{
|
{
|
||||||
|
@ -1594,7 +1594,7 @@ PATH_WidenPath(DC *dc)
|
||||||
numStrokes++;
|
numStrokes++;
|
||||||
j = 0;
|
j = 0;
|
||||||
if (numStrokes == 1)
|
if (numStrokes == 1)
|
||||||
pStrokes = ExAllocatePoolWithTag(PagedPool, numStrokes * sizeof(PPATH), TAG_PATH);
|
pStrokes = ExAllocatePoolWithTag(PagedPool, numStrokes * sizeof(PPATH), TAG_PATH);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pOldStrokes = pStrokes; // Save old pointer.
|
pOldStrokes = pStrokes; // Save old pointer.
|
||||||
|
@ -1624,7 +1624,7 @@ PATH_WidenPath(DC *dc)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pNewPath = ExAllocatePoolWithTag(PagedPool, sizeof(PATH), TAG_PATH);
|
pNewPath = ExAllocatePoolWithTag(PagedPool, sizeof(PATH), TAG_PATH);
|
||||||
PATH_InitGdiPath(pNewPath);
|
PATH_InitGdiPath(pNewPath);
|
||||||
pNewPath->state = PATH_Open;
|
pNewPath->state = PATH_Open;
|
||||||
|
|
||||||
|
@ -2009,7 +2009,7 @@ PATH_add_outline(PDC dc, INT x, INT y, TTPOLYGONHEADER *header, DWORD size)
|
||||||
}
|
}
|
||||||
|
|
||||||
IntGdiCloseFigure( pPath );
|
IntGdiCloseFigure( pPath );
|
||||||
PATH_UnlockPath( pPath );
|
PATH_UnlockPath( pPath );
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2017,7 +2017,7 @@ PATH_add_outline(PDC dc, INT x, INT y, TTPOLYGONHEADER *header, DWORD size)
|
||||||
* PATH_ExtTextOut
|
* PATH_ExtTextOut
|
||||||
*/
|
*/
|
||||||
BOOL
|
BOOL
|
||||||
FASTCALL
|
FASTCALL
|
||||||
PATH_ExtTextOut(PDC dc, INT x, INT y, UINT flags, const RECTL *lprc,
|
PATH_ExtTextOut(PDC dc, INT x, INT y, UINT flags, const RECTL *lprc,
|
||||||
LPCWSTR str, UINT count, const INT *dx)
|
LPCWSTR str, UINT count, const INT *dx)
|
||||||
{
|
{
|
||||||
|
@ -2207,7 +2207,7 @@ NtGdiCloseFigure(HDC hDC)
|
||||||
{
|
{
|
||||||
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
pPath = PATH_LockPath( pDc->dclevel.hPath );
|
pPath = PATH_LockPath( pDc->dclevel.hPath );
|
||||||
if (!pPath)
|
if (!pPath)
|
||||||
{
|
{
|
||||||
|
@ -2278,7 +2278,7 @@ NtGdiFillPath(HDC hDC)
|
||||||
PPATH pPath;
|
PPATH pPath;
|
||||||
PDC_ATTR pdcattr;
|
PDC_ATTR pdcattr;
|
||||||
PDC dc = DC_LockDc ( hDC );
|
PDC dc = DC_LockDc ( hDC );
|
||||||
|
|
||||||
if ( !dc )
|
if ( !dc )
|
||||||
{
|
{
|
||||||
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
||||||
|
@ -2299,6 +2299,9 @@ NtGdiFillPath(HDC hDC)
|
||||||
if (pdcattr->ulDirty_ & (DIRTY_FILL | DC_BRUSH_DIRTY))
|
if (pdcattr->ulDirty_ & (DIRTY_FILL | DC_BRUSH_DIRTY))
|
||||||
DC_vUpdateFillBrush(dc);
|
DC_vUpdateFillBrush(dc);
|
||||||
|
|
||||||
|
DC_vPrepareDCsForBlit(dc, dc->rosdc.CombinedClip->rclBounds,
|
||||||
|
NULL, dc->rosdc.CombinedClip->rclBounds);
|
||||||
|
|
||||||
ret = PATH_FillPath( dc, pPath );
|
ret = PATH_FillPath( dc, pPath );
|
||||||
if ( ret )
|
if ( ret )
|
||||||
{
|
{
|
||||||
|
@ -2308,6 +2311,7 @@ NtGdiFillPath(HDC hDC)
|
||||||
}
|
}
|
||||||
|
|
||||||
PATH_UnlockPath( pPath );
|
PATH_UnlockPath( pPath );
|
||||||
|
DC_vFinishBlit(dc, NULL);
|
||||||
DC_UnlockDc ( dc );
|
DC_UnlockDc ( dc );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -2325,7 +2329,7 @@ NtGdiFlattenPath(HDC hDC)
|
||||||
pDc = DC_LockDc(hDC);
|
pDc = DC_LockDc(hDC);
|
||||||
if (!pDc)
|
if (!pDc)
|
||||||
{
|
{
|
||||||
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
SetLastWin32Error(ERROR_INVALID_HANDLE);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2577,11 +2581,15 @@ NtGdiStrokeAndFillPath(HDC hDC)
|
||||||
if (pdcattr->ulDirty_ & (DIRTY_LINE | DC_PEN_DIRTY))
|
if (pdcattr->ulDirty_ & (DIRTY_LINE | DC_PEN_DIRTY))
|
||||||
DC_vUpdateLineBrush(pDc);
|
DC_vUpdateLineBrush(pDc);
|
||||||
|
|
||||||
|
DC_vPrepareDCsForBlit(dc, dc->rosdc.CombinedClip->rclBounds,
|
||||||
|
NULL, dc->rosdc.CombinedClip->rclBounds);
|
||||||
|
|
||||||
bRet = PATH_FillPath(pDc, pPath);
|
bRet = PATH_FillPath(pDc, pPath);
|
||||||
if (bRet) bRet = PATH_StrokePath(pDc, pPath);
|
if (bRet) bRet = PATH_StrokePath(pDc, pPath);
|
||||||
if (bRet) PATH_EmptyPath(pPath);
|
if (bRet) PATH_EmptyPath(pPath);
|
||||||
|
|
||||||
PATH_UnlockPath( pPath );
|
PATH_UnlockPath( pPath );
|
||||||
|
DC_vFinishBlit(dc, NULL);
|
||||||
DC_UnlockDc(pDc);
|
DC_UnlockDc(pDc);
|
||||||
return bRet;
|
return bRet;
|
||||||
}
|
}
|
||||||
|
@ -2627,7 +2635,7 @@ APIENTRY
|
||||||
NtGdiWidenPath(HDC hDC)
|
NtGdiWidenPath(HDC hDC)
|
||||||
{
|
{
|
||||||
BOOL Ret;
|
BOOL Ret;
|
||||||
PDC pdc = DC_LockDc ( hDC );
|
PDC pdc = DC_LockDc ( hDC );
|
||||||
if ( !pdc )
|
if ( !pdc )
|
||||||
{
|
{
|
||||||
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
SetLastWin32Error(ERROR_INVALID_PARAMETER);
|
||||||
|
|
Loading…
Reference in a new issue