From 6164d533a9bbfc40ed0fbc0c6c2b95c493da1c7e Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 30 Oct 2012 19:37:31 +0100 Subject: [PATCH] gdi32: Add a parameter to return anti-aliasing flags in the SelectFont driver entry point. --- dlls/gdi32/driver.c | 2 +- dlls/gdi32/enhmfdrv/enhmetafiledrv.h | 2 +- dlls/gdi32/enhmfdrv/objects.c | 4 ++-- dlls/gdi32/font.c | 3 ++- dlls/gdi32/freetype.c | 2 +- dlls/gdi32/mfdrv/metafiledrv.h | 2 +- dlls/gdi32/mfdrv/objects.c | 2 +- dlls/wineps.drv/font.c | 6 +++--- dlls/wineps.drv/psdrv.h | 2 +- dlls/winex11.drv/xrender.c | 4 ++-- include/wine/gdi_driver.h | 4 ++-- 11 files changed, 17 insertions(+), 16 deletions(-) diff --git a/dlls/gdi32/driver.c b/dlls/gdi32/driver.c index ca21d4db3e5..2ab0778acf3 100644 --- a/dlls/gdi32/driver.c +++ b/dlls/gdi32/driver.c @@ -552,7 +552,7 @@ static HBRUSH nulldrv_SelectBrush( PHYSDEV dev, HBRUSH brush, const struct brush return brush; } -static HFONT nulldrv_SelectFont( PHYSDEV dev, HFONT font ) +static HFONT nulldrv_SelectFont( PHYSDEV dev, HFONT font, UINT *aa_flags ) { return 0; } diff --git a/dlls/gdi32/enhmfdrv/enhmetafiledrv.h b/dlls/gdi32/enhmfdrv/enhmetafiledrv.h index 03bb829e8c9..3dd292309cd 100644 --- a/dlls/gdi32/enhmfdrv/enhmetafiledrv.h +++ b/dlls/gdi32/enhmfdrv/enhmetafiledrv.h @@ -105,7 +105,7 @@ extern BOOL EMFDRV_ScaleWindowExtEx( PHYSDEV dev, INT xNum, INT xDenom, extern HBITMAP EMFDRV_SelectBitmap( PHYSDEV dev, HBITMAP handle ) DECLSPEC_HIDDEN; extern HBRUSH EMFDRV_SelectBrush( PHYSDEV dev, HBRUSH hbrush, const struct brush_pattern *pattern ) DECLSPEC_HIDDEN; extern BOOL EMFDRV_SelectClipPath( PHYSDEV dev, INT iMode ) DECLSPEC_HIDDEN; -extern HFONT EMFDRV_SelectFont( PHYSDEV dev, HFONT handle ) DECLSPEC_HIDDEN; +extern HFONT EMFDRV_SelectFont( PHYSDEV dev, HFONT handle, UINT *aa_flags ) DECLSPEC_HIDDEN; extern HPEN EMFDRV_SelectPen( PHYSDEV dev, HPEN handle, const struct brush_pattern *pattern ) DECLSPEC_HIDDEN; extern HPALETTE EMFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPal, BOOL force ) DECLSPEC_HIDDEN; extern INT EMFDRV_SetArcDirection( PHYSDEV dev, INT arcDirection ) DECLSPEC_HIDDEN; diff --git a/dlls/gdi32/enhmfdrv/objects.c b/dlls/gdi32/enhmfdrv/objects.c index 905560defc0..8dd88f6269c 100644 --- a/dlls/gdi32/enhmfdrv/objects.c +++ b/dlls/gdi32/enhmfdrv/objects.c @@ -277,7 +277,7 @@ static BOOL EMFDRV_CreateFontIndirect(PHYSDEV dev, HFONT hFont ) /*********************************************************************** * EMFDRV_SelectFont */ -HFONT EMFDRV_SelectFont( PHYSDEV dev, HFONT hFont ) +HFONT EMFDRV_SelectFont( PHYSDEV dev, HFONT hFont, UINT *aa_flags ) { EMFDRV_PDEVICE *physDev = (EMFDRV_PDEVICE*)dev; EMRSELECTOBJECT emr; @@ -315,7 +315,7 @@ HFONT EMFDRV_SelectFont( PHYSDEV dev, HFONT hFont ) return 0; done: dev = GET_NEXT_PHYSDEV( dev, pSelectFont ); - dev->funcs->pSelectFont( dev, hFont ); + dev->funcs->pSelectFont( dev, hFont, aa_flags ); return hFont; } diff --git a/dlls/gdi32/font.c b/dlls/gdi32/font.c index 6684660d4e3..61792307bf6 100644 --- a/dlls/gdi32/font.c +++ b/dlls/gdi32/font.c @@ -716,6 +716,7 @@ static HGDIOBJ FONT_SelectObject( HGDIOBJ handle, HDC hdc ) HGDIOBJ ret = 0; DC *dc = get_dc_ptr( hdc ); PHYSDEV physdev; + UINT aa_flags = 0; if (!dc) return 0; @@ -726,7 +727,7 @@ static HGDIOBJ FONT_SelectObject( HGDIOBJ handle, HDC hdc ) } physdev = GET_DC_PHYSDEV( dc, pSelectFont ); - if (physdev->funcs->pSelectFont( physdev, handle )) + if (physdev->funcs->pSelectFont( physdev, handle, &aa_flags )) { ret = dc->hFont; dc->hFont = handle; diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index ca11968ff55..b747f6f88a1 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -4429,7 +4429,7 @@ static FT_Encoding pick_charmap( FT_Face face, int charset ) /************************************************************* * freetype_SelectFont */ -static HFONT freetype_SelectFont( PHYSDEV dev, HFONT hfont ) +static HFONT freetype_SelectFont( PHYSDEV dev, HFONT hfont, UINT *aa_flags ) { struct freetype_physdev *physdev = get_freetype_dev( dev ); GdiFont *ret; diff --git a/dlls/gdi32/mfdrv/metafiledrv.h b/dlls/gdi32/mfdrv/metafiledrv.h index d04cc8f9770..e1a03bb0e21 100644 --- a/dlls/gdi32/mfdrv/metafiledrv.h +++ b/dlls/gdi32/mfdrv/metafiledrv.h @@ -105,7 +105,7 @@ extern BOOL MFDRV_ScaleWindowExtEx( PHYSDEV dev, INT xNum, INT xDenom, INT yNum, extern HBITMAP MFDRV_SelectBitmap( PHYSDEV dev, HBITMAP handle ) DECLSPEC_HIDDEN; extern HBRUSH MFDRV_SelectBrush( PHYSDEV dev, HBRUSH hbrush, const struct brush_pattern *pattern ) DECLSPEC_HIDDEN; extern BOOL MFDRV_SelectClipPath( PHYSDEV dev, INT iMode ) DECLSPEC_HIDDEN; -extern HFONT MFDRV_SelectFont( PHYSDEV dev, HFONT handle ) DECLSPEC_HIDDEN; +extern HFONT MFDRV_SelectFont( PHYSDEV dev, HFONT handle, UINT *aa_flags ) DECLSPEC_HIDDEN; extern HPEN MFDRV_SelectPen( PHYSDEV dev, HPEN handle, const struct brush_pattern *pattern ) DECLSPEC_HIDDEN; extern HPALETTE MFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPalette, BOOL bForceBackground) DECLSPEC_HIDDEN; extern UINT MFDRV_RealizePalette(PHYSDEV dev, HPALETTE hPalette, BOOL primary) DECLSPEC_HIDDEN; diff --git a/dlls/gdi32/mfdrv/objects.c b/dlls/gdi32/mfdrv/objects.c index ca70117ebd0..07e66b75c58 100644 --- a/dlls/gdi32/mfdrv/objects.c +++ b/dlls/gdi32/mfdrv/objects.c @@ -285,7 +285,7 @@ static UINT16 MFDRV_CreateFontIndirect(PHYSDEV dev, HFONT hFont, LOGFONTW *logfo /*********************************************************************** * MFDRV_SelectFont */ -HFONT MFDRV_SelectFont( PHYSDEV dev, HFONT hfont ) +HFONT MFDRV_SelectFont( PHYSDEV dev, HFONT hfont, UINT *aa_flags ) { LOGFONTW font; INT16 index; diff --git a/dlls/wineps.drv/font.c b/dlls/wineps.drv/font.c index abc9b92608a..f04d069147b 100644 --- a/dlls/wineps.drv/font.c +++ b/dlls/wineps.drv/font.c @@ -36,7 +36,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(psdrv); /*********************************************************************** * SelectFont (WINEPS.@) */ -HFONT PSDRV_SelectFont( PHYSDEV dev, HFONT hfont ) +HFONT PSDRV_SelectFont( PHYSDEV dev, HFONT hfont, UINT *aa_flags ) { PSDRV_PDEVICE *physDev = get_psdrv_dev( dev ); PHYSDEV next = GET_NEXT_PHYSDEV( dev, pSelectFont ); @@ -114,14 +114,14 @@ HFONT PSDRV_SelectFont( PHYSDEV dev, HFONT hfont ) physDev->font.escapement = lf.lfEscapement; physDev->font.set = FALSE; - if (!subst && ((ret = next->funcs->pSelectFont( next, hfont )))) + if (!subst && ((ret = next->funcs->pSelectFont( next, hfont, aa_flags )))) { PSDRV_SelectDownloadFont(dev); return ret; } PSDRV_SelectBuiltinFont(dev, hfont, &lf, FaceName); - next->funcs->pSelectFont( next, 0 ); /* tell next driver that we selected a device font */ + next->funcs->pSelectFont( next, 0, aa_flags ); /* tell next driver that we selected a device font */ return hfont; } diff --git a/dlls/wineps.drv/psdrv.h b/dlls/wineps.drv/psdrv.h index 52f84e7fff3..1e76befe073 100644 --- a/dlls/wineps.drv/psdrv.h +++ b/dlls/wineps.drv/psdrv.h @@ -444,7 +444,7 @@ extern BOOL PSDRV_Rectangle( PHYSDEV dev, INT left, INT top, INT right, INT bott extern BOOL PSDRV_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT ell_width, INT ell_height ) DECLSPEC_HIDDEN; extern HBRUSH PSDRV_SelectBrush( PHYSDEV dev, HBRUSH hbrush, const struct brush_pattern *pattern ) DECLSPEC_HIDDEN; -extern HFONT PSDRV_SelectFont( PHYSDEV dev, HFONT hfont ) DECLSPEC_HIDDEN; +extern HFONT PSDRV_SelectFont( PHYSDEV dev, HFONT hfont, UINT *aa_flags ) DECLSPEC_HIDDEN; extern HPEN PSDRV_SelectPen( PHYSDEV dev, HPEN hpen, const struct brush_pattern *pattern ) DECLSPEC_HIDDEN; extern COLORREF PSDRV_SetBkColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN; extern COLORREF PSDRV_SetDCBrushColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN; diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c index 389f6847735..d1993f7f79b 100644 --- a/dlls/winex11.drv/xrender.c +++ b/dlls/winex11.drv/xrender.c @@ -1036,12 +1036,12 @@ static void lfsz_calc_hash(LFANDSIZE *plfsz) /********************************************************************** * xrenderdrv_SelectFont */ -static HFONT xrenderdrv_SelectFont( PHYSDEV dev, HFONT hfont ) +static HFONT xrenderdrv_SelectFont( PHYSDEV dev, HFONT hfont, UINT *aa_flags ) { LFANDSIZE lfsz; struct xrender_physdev *physdev = get_xrender_dev( dev ); PHYSDEV next = GET_NEXT_PHYSDEV( dev, pSelectFont ); - HFONT ret = next->funcs->pSelectFont( next, hfont ); + HFONT ret = next->funcs->pSelectFont( next, hfont, aa_flags ); if (!ret) return 0; diff --git a/include/wine/gdi_driver.h b/include/wine/gdi_driver.h index 1f6376cecd5..f6be211d828 100644 --- a/include/wine/gdi_driver.h +++ b/include/wine/gdi_driver.h @@ -153,7 +153,7 @@ struct gdi_dc_funcs HBITMAP (*pSelectBitmap)(PHYSDEV,HBITMAP); HBRUSH (*pSelectBrush)(PHYSDEV,HBRUSH,const struct brush_pattern*); BOOL (*pSelectClipPath)(PHYSDEV,INT); - HFONT (*pSelectFont)(PHYSDEV,HFONT); + HFONT (*pSelectFont)(PHYSDEV,HFONT,UINT*); HPALETTE (*pSelectPalette)(PHYSDEV,HPALETTE,BOOL); HPEN (*pSelectPen)(PHYSDEV,HPEN,const struct brush_pattern*); INT (*pSetArcDirection)(PHYSDEV,INT); @@ -197,7 +197,7 @@ struct gdi_dc_funcs }; /* increment this when you change the DC function table */ -#define WINE_GDI_DRIVER_VERSION 44 +#define WINE_GDI_DRIVER_VERSION 45 #define GDI_PRIORITY_NULL_DRV 0 /* null driver */ #define GDI_PRIORITY_FONT_DRV 100 /* any font driver */