From bd9a4499a810a936fe66143d141e107d3012a39f Mon Sep 17 00:00:00 2001 From: Katayama Hirofumi MZ Date: Fri, 24 Aug 2018 20:37:59 +0900 Subject: [PATCH] [WIN32SS][NTGDI] Extend PATH_FillPath as PATH_FillPathEx (#798) The new PATH_FillPathEx function takes an additional PBRUSH parameter. CORE-2527 --- win32ss/gdi/ntgdi/bitblt.c | 1 - win32ss/gdi/ntgdi/path.c | 12 +++++++++++- win32ss/gdi/ntgdi/path.h | 2 ++ win32ss/gdi/ntgdi/region.h | 7 ------- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/win32ss/gdi/ntgdi/bitblt.c b/win32ss/gdi/ntgdi/bitblt.c index 38c92e3bb21..8e9fac9286c 100644 --- a/win32ss/gdi/ntgdi/bitblt.c +++ b/win32ss/gdi/ntgdi/bitblt.c @@ -1122,7 +1122,6 @@ IntGdiBitBltRgn( return bResult; } -static BOOL IntGdiFillRgn( _In_ PDC pdc, diff --git a/win32ss/gdi/ntgdi/path.c b/win32ss/gdi/ntgdi/path.c index f4cc24951a0..1bc5e2fb5fd 100644 --- a/win32ss/gdi/ntgdi/path.c +++ b/win32ss/gdi/ntgdi/path.c @@ -1457,6 +1457,16 @@ FASTCALL PATH_FillPath( PDC dc, PPATH pPath) +{ + return PATH_FillPathEx(dc, pPath, NULL); +} + +BOOL +FASTCALL +PATH_FillPathEx( + PDC dc, + PPATH pPath, + PBRUSH pbrFill) { INT mapMode, graphicsMode; SIZE ptViewportExt, ptWindowExt; @@ -1517,7 +1527,7 @@ PATH_FillPath( pdcattr->iGraphicsMode = graphicsMode; /* Paint the region */ - IntGdiPaintRgn(dc, Rgn); + IntGdiFillRgn(dc, Rgn, pbrFill); REGION_Delete(Rgn); /* Restore the old mapping mode */ IntGdiSetMapMode(dc, mapMode); diff --git a/win32ss/gdi/ntgdi/path.h b/win32ss/gdi/ntgdi/path.h index f80113564ed..9c5f63dabef 100644 --- a/win32ss/gdi/ntgdi/path.h +++ b/win32ss/gdi/ntgdi/path.h @@ -92,6 +92,7 @@ BOOL FASTCALL PATH_AddEntry (PPATH pPath, const POINT *pPoint, BYTE flags); BOOL FASTCALL PATH_AddFlatBezier (PPATH pPath, POINT *pt, BOOL closed); BOOL FASTCALL PATH_DoArcPart (PPATH pPath, FLOAT_POINT corners[], double angleStart, double angleEnd, BYTE startEntryType); BOOL FASTCALL PATH_FillPath( PDC dc, PPATH pPath ); +BOOL FASTCALL PATH_FillPathEx(PDC dc, PPATH pPath, PBRUSH pbrFill); PPATH FASTCALL PATH_FlattenPath (PPATH pPath); VOID FASTCALL PATH_NormalizePoint (FLOAT_POINT corners[], const FLOAT_POINT *pPoint, double *pX, double *pY); @@ -107,3 +108,4 @@ VOID FASTCALL IntGetCurrentPositionEx(PDC dc, LPPOINT pt); BOOL PATH_RestorePath( DC *, DC *); BOOL PATH_SavePath( DC *, DC *); +BOOL IntGdiFillRgn(PDC pdc, PREGION prgn, PBRUSH pbrFill); diff --git a/win32ss/gdi/ntgdi/region.h b/win32ss/gdi/ntgdi/region.h index abf053c4625..0d4f454daa3 100644 --- a/win32ss/gdi/ntgdi/region.h +++ b/win32ss/gdi/ntgdi/region.h @@ -96,10 +96,3 @@ GreCreateFrameRgn( PREGION FASTCALL IntSysCreateRectpRgn(INT LeftRect, INT TopRect, INT RightRect, INT BottomRect); - -// FIXME: move this -BOOL -FASTCALL -IntGdiPaintRgn( - _In_ PDC pdc, - _In_ PREGION prgn); -- 2.17.1