Commit 37a5c8b9 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

gdi32: Use NtGdiWidenPath for WidenPath.

parent b048e4e0
...@@ -714,7 +714,6 @@ const struct gdi_dc_funcs dib_driver = ...@@ -714,7 +714,6 @@ const struct gdi_dc_funcs dib_driver =
dibdrv_StrokeAndFillPath, /* pStrokeAndFillPath */ dibdrv_StrokeAndFillPath, /* pStrokeAndFillPath */
dibdrv_StrokePath, /* pStrokePath */ dibdrv_StrokePath, /* pStrokePath */
NULL, /* pUnrealizePalette */ NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */ NULL, /* pD3DKMTSetVidPnSourceOwner */
dibdrv_wine_get_wgl_driver, /* wine_get_wgl_driver */ dibdrv_wine_get_wgl_driver, /* wine_get_wgl_driver */
...@@ -1281,7 +1280,6 @@ static const struct gdi_dc_funcs window_driver = ...@@ -1281,7 +1280,6 @@ static const struct gdi_dc_funcs window_driver =
NULL, /* pStrokeAndFillPath */ NULL, /* pStrokeAndFillPath */
NULL, /* pStrokePath */ NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */ NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */ NULL, /* pD3DKMTSetVidPnSourceOwner */
windrv_wine_get_wgl_driver, /* wine_get_wgl_driver */ windrv_wine_get_wgl_driver, /* wine_get_wgl_driver */
......
...@@ -920,7 +920,6 @@ const struct gdi_dc_funcs null_driver = ...@@ -920,7 +920,6 @@ const struct gdi_dc_funcs null_driver =
nulldrv_StrokeAndFillPath, /* pStrokeAndFillPath */ nulldrv_StrokeAndFillPath, /* pStrokeAndFillPath */
nulldrv_StrokePath, /* pStrokePath */ nulldrv_StrokePath, /* pStrokePath */
nulldrv_UnrealizePalette, /* pUnrealizePalette */ nulldrv_UnrealizePalette, /* pUnrealizePalette */
nulldrv_WidenPath, /* pWidenPath */
nulldrv_D3DKMTCheckVidPnExclusiveOwnership, /* pD3DKMTCheckVidPnExclusiveOwnership */ nulldrv_D3DKMTCheckVidPnExclusiveOwnership, /* pD3DKMTCheckVidPnExclusiveOwnership */
nulldrv_D3DKMTSetVidPnSourceOwner, /* pD3DKMTSetVidPnSourceOwner */ nulldrv_D3DKMTSetVidPnSourceOwner, /* pD3DKMTSetVidPnSourceOwner */
nulldrv_wine_get_wgl_driver, /* wine_get_wgl_driver */ nulldrv_wine_get_wgl_driver, /* wine_get_wgl_driver */
......
...@@ -395,14 +395,13 @@ BOOL EMFDC_SelectClipPath( DC_ATTR *dc_attr, INT mode ) ...@@ -395,14 +395,13 @@ BOOL EMFDC_SelectClipPath( DC_ATTR *dc_attr, INT mode )
return EMFDRV_WriteRecord( dc_attr->emf, &emr.emr ); return EMFDRV_WriteRecord( dc_attr->emf, &emr.emr );
} }
BOOL CDECL EMFDRV_WidenPath( PHYSDEV dev ) BOOL EMFDC_WidenPath( DC_ATTR *dc_attr )
{ {
EMRWIDENPATH emr; EMRWIDENPATH emr;
emr.emr.iType = EMR_WIDENPATH; emr.emr.iType = EMR_WIDENPATH;
emr.emr.nSize = sizeof(emr); emr.emr.nSize = sizeof(emr);
return EMFDRV_WriteRecord( dc_attr->emf, &emr.emr );
return EMFDRV_WriteRecord( dev, &emr.emr );
} }
INT CDECL EMFDRV_GetDeviceCaps(PHYSDEV dev, INT cap) INT CDECL EMFDRV_GetDeviceCaps(PHYSDEV dev, INT cap)
......
...@@ -104,7 +104,6 @@ extern INT CDECL EMFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT ...@@ -104,7 +104,6 @@ extern INT CDECL EMFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT
const void *bits, BITMAPINFO *info, UINT wUsage, DWORD dwRop ) DECLSPEC_HIDDEN; const void *bits, BITMAPINFO *info, UINT wUsage, DWORD dwRop ) DECLSPEC_HIDDEN;
extern BOOL CDECL EMFDRV_StrokeAndFillPath( PHYSDEV dev ) DECLSPEC_HIDDEN; extern BOOL CDECL EMFDRV_StrokeAndFillPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
extern BOOL CDECL EMFDRV_StrokePath( PHYSDEV dev ) DECLSPEC_HIDDEN; extern BOOL CDECL EMFDRV_StrokePath( PHYSDEV dev ) DECLSPEC_HIDDEN;
extern BOOL CDECL EMFDRV_WidenPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
#endif /* __WINE_METAFILEDRV_H */ #endif /* __WINE_METAFILEDRV_H */
...@@ -128,7 +128,6 @@ static const struct gdi_dc_funcs emfdrv_driver = ...@@ -128,7 +128,6 @@ static const struct gdi_dc_funcs emfdrv_driver =
EMFDRV_StrokeAndFillPath, /* pStrokeAndFillPath */ EMFDRV_StrokeAndFillPath, /* pStrokeAndFillPath */
EMFDRV_StrokePath, /* pStrokePath */ EMFDRV_StrokePath, /* pStrokePath */
NULL, /* pUnrealizePalette */ NULL, /* pUnrealizePalette */
EMFDRV_WidenPath, /* pWidenPath */
NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */ NULL, /* pD3DKMTSetVidPnSourceOwner */
NULL, /* wine_get_wgl_driver */ NULL, /* wine_get_wgl_driver */
......
...@@ -3905,7 +3905,6 @@ const struct gdi_dc_funcs font_driver = ...@@ -3905,7 +3905,6 @@ const struct gdi_dc_funcs font_driver =
NULL, /* pStrokeAndFillPath */ NULL, /* pStrokeAndFillPath */
NULL, /* pStrokePath */ NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */ NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */ NULL, /* pD3DKMTSetVidPnSourceOwner */
NULL, /* wine_get_wgl_driver */ NULL, /* wine_get_wgl_driver */
......
...@@ -219,5 +219,6 @@ extern BOOL EMFDC_StretchDIBits( DC_ATTR *dc_attr, INT x_dst, INT y_dst, INT wid ...@@ -219,5 +219,6 @@ extern BOOL EMFDC_StretchDIBits( DC_ATTR *dc_attr, INT x_dst, INT y_dst, INT wid
UINT coloruse, DWORD rop ) DECLSPEC_HIDDEN; UINT coloruse, DWORD rop ) DECLSPEC_HIDDEN;
extern BOOL EMFDC_StrokeAndFillPath( DC_ATTR *dc_attr ) DECLSPEC_HIDDEN; extern BOOL EMFDC_StrokeAndFillPath( DC_ATTR *dc_attr ) DECLSPEC_HIDDEN;
extern BOOL EMFDC_StrokePath( DC_ATTR *dc_attr ) DECLSPEC_HIDDEN; extern BOOL EMFDC_StrokePath( DC_ATTR *dc_attr ) DECLSPEC_HIDDEN;
extern BOOL EMFDC_WidenPath( DC_ATTR *dc_attr ) DECLSPEC_HIDDEN;
#endif /* __WINE_GDI_PRIVATE_H */ #endif /* __WINE_GDI_PRIVATE_H */
...@@ -1568,6 +1568,18 @@ BOOL WINAPI FlattenPath( HDC hdc ) ...@@ -1568,6 +1568,18 @@ BOOL WINAPI FlattenPath( HDC hdc )
} }
/*********************************************************************** /***********************************************************************
* WidenPath (GDI32.@)
*/
BOOL WINAPI WidenPath( HDC hdc )
{
DC_ATTR *dc_attr;
if (!(dc_attr = get_dc_attr( hdc ))) return FALSE;
if (dc_attr->emf && !EMFDC_WidenPath( dc_attr )) return FALSE;
return NtGdiWidenPath( hdc );
}
/***********************************************************************
* SelectClipPath (GDI32.@) * SelectClipPath (GDI32.@)
*/ */
BOOL WINAPI SelectClipPath( HDC hdc, INT mode ) BOOL WINAPI SelectClipPath( HDC hdc, INT mode )
......
...@@ -586,7 +586,6 @@ extern INT CDECL nulldrv_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT wi ...@@ -586,7 +586,6 @@ extern INT CDECL nulldrv_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT wi
BITMAPINFO *info, UINT coloruse, DWORD rop ) DECLSPEC_HIDDEN; BITMAPINFO *info, UINT coloruse, DWORD rop ) DECLSPEC_HIDDEN;
extern BOOL CDECL nulldrv_StrokeAndFillPath( PHYSDEV dev ) DECLSPEC_HIDDEN; extern BOOL CDECL nulldrv_StrokeAndFillPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
extern BOOL CDECL nulldrv_StrokePath( PHYSDEV dev ) DECLSPEC_HIDDEN; extern BOOL CDECL nulldrv_StrokePath( PHYSDEV dev ) DECLSPEC_HIDDEN;
extern BOOL CDECL nulldrv_WidenPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
static inline DC *get_nulldrv_dc( PHYSDEV dev ) static inline DC *get_nulldrv_dc( PHYSDEV dev )
{ {
......
...@@ -1937,21 +1937,25 @@ BOOL WINAPI NtGdiStrokePath( HDC hdc ) ...@@ -1937,21 +1937,25 @@ BOOL WINAPI NtGdiStrokePath( HDC hdc )
/******************************************************************* /*******************************************************************
* WidenPath [GDI32.@] * NtGdiWidenPath (win32u.@)
*
*
*/ */
BOOL WINAPI WidenPath(HDC hdc) BOOL WINAPI NtGdiWidenPath( HDC hdc )
{ {
struct gdi_path *path;
BOOL ret = FALSE; BOOL ret = FALSE;
DC *dc = get_dc_ptr( hdc ); DC *dc;
if (dc) if (!(dc = get_dc_ptr( hdc ))) return FALSE;
if (!dc->path) SetLastError( ERROR_CAN_NOT_COMPLETE );
else if ((path = PATH_WidenPath( dc )))
{ {
PHYSDEV physdev = GET_DC_PHYSDEV( dc, pWidenPath ); free_gdi_path( dc->path );
ret = physdev->funcs->pWidenPath( physdev ); dc->path = path;
release_dc_ptr( dc ); ret = TRUE;
} }
release_dc_ptr( dc );
return ret; return ret;
} }
...@@ -2023,22 +2027,6 @@ BOOL CDECL nulldrv_StrokePath( PHYSDEV dev ) ...@@ -2023,22 +2027,6 @@ BOOL CDECL nulldrv_StrokePath( PHYSDEV dev )
return TRUE; return TRUE;
} }
BOOL CDECL nulldrv_WidenPath( PHYSDEV dev )
{
DC *dc = get_nulldrv_dc( dev );
struct gdi_path *path;
if (!dc->path)
{
SetLastError( ERROR_CAN_NOT_COMPLETE );
return FALSE;
}
if (!(path = PATH_WidenPath( dc ))) return FALSE;
free_gdi_path( dc->path );
dc->path = path;
return TRUE;
}
const struct gdi_dc_funcs path_driver = const struct gdi_dc_funcs path_driver =
{ {
NULL, /* pAbortDoc */ NULL, /* pAbortDoc */
...@@ -2133,7 +2121,6 @@ const struct gdi_dc_funcs path_driver = ...@@ -2133,7 +2121,6 @@ const struct gdi_dc_funcs path_driver =
NULL, /* pStrokeAndFillPath */ NULL, /* pStrokeAndFillPath */
NULL, /* pStrokePath */ NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */ NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */ NULL, /* pD3DKMTSetVidPnSourceOwner */
NULL, /* wine_get_wgl_driver */ NULL, /* wine_get_wgl_driver */
......
...@@ -375,7 +375,6 @@ static const struct gdi_dc_funcs android_drv_funcs = ...@@ -375,7 +375,6 @@ static const struct gdi_dc_funcs android_drv_funcs =
NULL, /* pStrokeAndFillPath */ NULL, /* pStrokeAndFillPath */
NULL, /* pStrokePath */ NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */ NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */ NULL, /* pD3DKMTSetVidPnSourceOwner */
ANDROID_wine_get_wgl_driver, /* wine_get_wgl_driver */ ANDROID_wine_get_wgl_driver, /* wine_get_wgl_driver */
......
...@@ -355,7 +355,6 @@ static const struct gdi_dc_funcs macdrv_funcs = ...@@ -355,7 +355,6 @@ static const struct gdi_dc_funcs macdrv_funcs =
NULL, /* pStrokeAndFillPath */ NULL, /* pStrokeAndFillPath */
NULL, /* pStrokePath */ NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */ NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */ NULL, /* pD3DKMTSetVidPnSourceOwner */
macdrv_wine_get_wgl_driver, /* wine_get_wgl_driver */ macdrv_wine_get_wgl_driver, /* wine_get_wgl_driver */
......
...@@ -869,7 +869,6 @@ static const struct gdi_dc_funcs psdrv_funcs = ...@@ -869,7 +869,6 @@ static const struct gdi_dc_funcs psdrv_funcs =
PSDRV_StrokeAndFillPath, /* pStrokeAndFillPath */ PSDRV_StrokeAndFillPath, /* pStrokeAndFillPath */
PSDRV_StrokePath, /* pStrokePath */ PSDRV_StrokePath, /* pStrokePath */
NULL, /* pUnrealizePalette */ NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */ NULL, /* pD3DKMTSetVidPnSourceOwner */
NULL, /* wine_get_wgl_driver */ NULL, /* wine_get_wgl_driver */
......
...@@ -434,7 +434,6 @@ static const struct gdi_dc_funcs x11drv_funcs = ...@@ -434,7 +434,6 @@ static const struct gdi_dc_funcs x11drv_funcs =
X11DRV_StrokeAndFillPath, /* pStrokeAndFillPath */ X11DRV_StrokeAndFillPath, /* pStrokeAndFillPath */
X11DRV_StrokePath, /* pStrokePath */ X11DRV_StrokePath, /* pStrokePath */
X11DRV_UnrealizePalette, /* pUnrealizePalette */ X11DRV_UnrealizePalette, /* pUnrealizePalette */
NULL, /* pWidenPath */
X11DRV_D3DKMTCheckVidPnExclusiveOwnership, /* pD3DKMTCheckVidPnExclusiveOwnership */ X11DRV_D3DKMTCheckVidPnExclusiveOwnership, /* pD3DKMTCheckVidPnExclusiveOwnership */
X11DRV_D3DKMTSetVidPnSourceOwner, /* pD3DKMTSetVidPnSourceOwner */ X11DRV_D3DKMTSetVidPnSourceOwner, /* pD3DKMTSetVidPnSourceOwner */
X11DRV_wine_get_wgl_driver, /* wine_get_wgl_driver */ X11DRV_wine_get_wgl_driver, /* wine_get_wgl_driver */
......
...@@ -2246,7 +2246,6 @@ static const struct gdi_dc_funcs xrender_funcs = ...@@ -2246,7 +2246,6 @@ static const struct gdi_dc_funcs xrender_funcs =
NULL, /* pStrokeAndFillPath */ NULL, /* pStrokeAndFillPath */
NULL, /* pStrokePath */ NULL, /* pStrokePath */
NULL, /* pUnrealizePalette */ NULL, /* pUnrealizePalette */
NULL, /* pWidenPath */
NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */ NULL, /* pD3DKMTCheckVidPnExclusiveOwnership */
NULL, /* pD3DKMTSetVidPnSourceOwner */ NULL, /* pD3DKMTSetVidPnSourceOwner */
NULL, /* wine_get_wgl_driver */ NULL, /* wine_get_wgl_driver */
......
...@@ -159,7 +159,6 @@ struct gdi_dc_funcs ...@@ -159,7 +159,6 @@ struct gdi_dc_funcs
BOOL (CDECL *pStrokeAndFillPath)(PHYSDEV); BOOL (CDECL *pStrokeAndFillPath)(PHYSDEV);
BOOL (CDECL *pStrokePath)(PHYSDEV); BOOL (CDECL *pStrokePath)(PHYSDEV);
BOOL (CDECL *pUnrealizePalette)(HPALETTE); BOOL (CDECL *pUnrealizePalette)(HPALETTE);
BOOL (CDECL *pWidenPath)(PHYSDEV);
NTSTATUS (CDECL *pD3DKMTCheckVidPnExclusiveOwnership)(const D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP *); NTSTATUS (CDECL *pD3DKMTCheckVidPnExclusiveOwnership)(const D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP *);
NTSTATUS (CDECL *pD3DKMTSetVidPnSourceOwner)(const D3DKMT_SETVIDPNSOURCEOWNER *); NTSTATUS (CDECL *pD3DKMTSetVidPnSourceOwner)(const D3DKMT_SETVIDPNSOURCEOWNER *);
struct opengl_funcs * (CDECL *wine_get_wgl_driver)(PHYSDEV,UINT); struct opengl_funcs * (CDECL *wine_get_wgl_driver)(PHYSDEV,UINT);
...@@ -170,7 +169,7 @@ struct gdi_dc_funcs ...@@ -170,7 +169,7 @@ struct gdi_dc_funcs
}; };
/* increment this when you change the DC function table */ /* increment this when you change the DC function table */
#define WINE_GDI_DRIVER_VERSION 62 #define WINE_GDI_DRIVER_VERSION 63
#define GDI_PRIORITY_NULL_DRV 0 /* null driver */ #define GDI_PRIORITY_NULL_DRV 0 /* null driver */
#define GDI_PRIORITY_FONT_DRV 100 /* any font driver */ #define GDI_PRIORITY_FONT_DRV 100 /* any font driver */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment