[WIN32SS][NTGDI] Extend PATH_FillPath as PATH_FillPathEx (#798)

The new PATH_FillPathEx function takes an additional PBRUSH parameter.
CORE-2527
This commit is contained in:
Katayama Hirofumi MZ 2018-08-24 20:37:59 +09:00 committed by Hermès BÉLUSCA - MAÏTO
parent 0f308a0076
commit bd9a4499a8
4 changed files with 13 additions and 9 deletions

View file

@ -1122,7 +1122,6 @@ IntGdiBitBltRgn(
return bResult; return bResult;
} }
static
BOOL BOOL
IntGdiFillRgn( IntGdiFillRgn(
_In_ PDC pdc, _In_ PDC pdc,

View file

@ -1457,6 +1457,16 @@ FASTCALL
PATH_FillPath( PATH_FillPath(
PDC dc, PDC dc,
PPATH pPath) PPATH pPath)
{
return PATH_FillPathEx(dc, pPath, NULL);
}
BOOL
FASTCALL
PATH_FillPathEx(
PDC dc,
PPATH pPath,
PBRUSH pbrFill)
{ {
INT mapMode, graphicsMode; INT mapMode, graphicsMode;
SIZE ptViewportExt, ptWindowExt; SIZE ptViewportExt, ptWindowExt;
@ -1517,7 +1527,7 @@ PATH_FillPath(
pdcattr->iGraphicsMode = graphicsMode; pdcattr->iGraphicsMode = graphicsMode;
/* Paint the region */ /* Paint the region */
IntGdiPaintRgn(dc, Rgn); IntGdiFillRgn(dc, Rgn, pbrFill);
REGION_Delete(Rgn); REGION_Delete(Rgn);
/* Restore the old mapping mode */ /* Restore the old mapping mode */
IntGdiSetMapMode(dc, mapMode); IntGdiSetMapMode(dc, mapMode);

View file

@ -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_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_DoArcPart (PPATH pPath, FLOAT_POINT corners[], double angleStart, double angleEnd, BYTE startEntryType);
BOOL FASTCALL PATH_FillPath( PDC dc, PPATH pPath ); BOOL FASTCALL PATH_FillPath( PDC dc, PPATH pPath );
BOOL FASTCALL PATH_FillPathEx(PDC dc, PPATH pPath, PBRUSH pbrFill);
PPATH FASTCALL PATH_FlattenPath (PPATH pPath); PPATH FASTCALL PATH_FlattenPath (PPATH pPath);
VOID FASTCALL PATH_NormalizePoint (FLOAT_POINT corners[], const FLOAT_POINT *pPoint, double *pX, double *pY); 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_RestorePath( DC *, DC *);
BOOL PATH_SavePath( DC *, DC *); BOOL PATH_SavePath( DC *, DC *);
BOOL IntGdiFillRgn(PDC pdc, PREGION prgn, PBRUSH pbrFill);

View file

@ -96,10 +96,3 @@ GreCreateFrameRgn(
PREGION PREGION
FASTCALL FASTCALL
IntSysCreateRectpRgn(INT LeftRect, INT TopRect, INT RightRect, INT BottomRect); IntSysCreateRectpRgn(INT LeftRect, INT TopRect, INT RightRect, INT BottomRect);
// FIXME: move this
BOOL
FASTCALL
IntGdiPaintRgn(
_In_ PDC pdc,
_In_ PREGION prgn);