gdi32: Add a parameter to return anti-aliasing flags in the SelectFont driver entry point.

This commit is contained in:
Alexandre Julliard 2012-10-30 19:37:31 +01:00
parent deeb14e0ee
commit 6164d533a9
11 changed files with 17 additions and 16 deletions

View File

@ -552,7 +552,7 @@ static HBRUSH nulldrv_SelectBrush( PHYSDEV dev, HBRUSH brush, const struct brush
return brush; return brush;
} }
static HFONT nulldrv_SelectFont( PHYSDEV dev, HFONT font ) static HFONT nulldrv_SelectFont( PHYSDEV dev, HFONT font, UINT *aa_flags )
{ {
return 0; return 0;
} }

View File

@ -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 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 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 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 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 HPALETTE EMFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPal, BOOL force ) DECLSPEC_HIDDEN;
extern INT EMFDRV_SetArcDirection( PHYSDEV dev, INT arcDirection ) DECLSPEC_HIDDEN; extern INT EMFDRV_SetArcDirection( PHYSDEV dev, INT arcDirection ) DECLSPEC_HIDDEN;

View File

@ -277,7 +277,7 @@ static BOOL EMFDRV_CreateFontIndirect(PHYSDEV dev, HFONT hFont )
/*********************************************************************** /***********************************************************************
* EMFDRV_SelectFont * 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; EMFDRV_PDEVICE *physDev = (EMFDRV_PDEVICE*)dev;
EMRSELECTOBJECT emr; EMRSELECTOBJECT emr;
@ -315,7 +315,7 @@ HFONT EMFDRV_SelectFont( PHYSDEV dev, HFONT hFont )
return 0; return 0;
done: done:
dev = GET_NEXT_PHYSDEV( dev, pSelectFont ); dev = GET_NEXT_PHYSDEV( dev, pSelectFont );
dev->funcs->pSelectFont( dev, hFont ); dev->funcs->pSelectFont( dev, hFont, aa_flags );
return hFont; return hFont;
} }

View File

@ -716,6 +716,7 @@ static HGDIOBJ FONT_SelectObject( HGDIOBJ handle, HDC hdc )
HGDIOBJ ret = 0; HGDIOBJ ret = 0;
DC *dc = get_dc_ptr( hdc ); DC *dc = get_dc_ptr( hdc );
PHYSDEV physdev; PHYSDEV physdev;
UINT aa_flags = 0;
if (!dc) return 0; if (!dc) return 0;
@ -726,7 +727,7 @@ static HGDIOBJ FONT_SelectObject( HGDIOBJ handle, HDC hdc )
} }
physdev = GET_DC_PHYSDEV( dc, pSelectFont ); physdev = GET_DC_PHYSDEV( dc, pSelectFont );
if (physdev->funcs->pSelectFont( physdev, handle )) if (physdev->funcs->pSelectFont( physdev, handle, &aa_flags ))
{ {
ret = dc->hFont; ret = dc->hFont;
dc->hFont = handle; dc->hFont = handle;

View File

@ -4429,7 +4429,7 @@ static FT_Encoding pick_charmap( FT_Face face, int charset )
/************************************************************* /*************************************************************
* freetype_SelectFont * 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 ); struct freetype_physdev *physdev = get_freetype_dev( dev );
GdiFont *ret; GdiFont *ret;

View File

@ -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 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 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 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 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 HPALETTE MFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPalette, BOOL bForceBackground) DECLSPEC_HIDDEN;
extern UINT MFDRV_RealizePalette(PHYSDEV dev, HPALETTE hPalette, BOOL primary) DECLSPEC_HIDDEN; extern UINT MFDRV_RealizePalette(PHYSDEV dev, HPALETTE hPalette, BOOL primary) DECLSPEC_HIDDEN;

View File

@ -285,7 +285,7 @@ static UINT16 MFDRV_CreateFontIndirect(PHYSDEV dev, HFONT hFont, LOGFONTW *logfo
/*********************************************************************** /***********************************************************************
* MFDRV_SelectFont * MFDRV_SelectFont
*/ */
HFONT MFDRV_SelectFont( PHYSDEV dev, HFONT hfont ) HFONT MFDRV_SelectFont( PHYSDEV dev, HFONT hfont, UINT *aa_flags )
{ {
LOGFONTW font; LOGFONTW font;
INT16 index; INT16 index;

View File

@ -36,7 +36,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(psdrv);
/*********************************************************************** /***********************************************************************
* SelectFont (WINEPS.@) * 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 ); PSDRV_PDEVICE *physDev = get_psdrv_dev( dev );
PHYSDEV next = GET_NEXT_PHYSDEV( dev, pSelectFont ); 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.escapement = lf.lfEscapement;
physDev->font.set = FALSE; 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); PSDRV_SelectDownloadFont(dev);
return ret; return ret;
} }
PSDRV_SelectBuiltinFont(dev, hfont, &lf, FaceName); 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; return hfont;
} }

View File

@ -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, extern BOOL PSDRV_RoundRect( PHYSDEV dev, INT left, INT top, INT right,
INT bottom, INT ell_width, INT ell_height ) DECLSPEC_HIDDEN; 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 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 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_SetBkColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN;
extern COLORREF PSDRV_SetDCBrushColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN; extern COLORREF PSDRV_SetDCBrushColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN;

View File

@ -1036,12 +1036,12 @@ static void lfsz_calc_hash(LFANDSIZE *plfsz)
/********************************************************************** /**********************************************************************
* xrenderdrv_SelectFont * xrenderdrv_SelectFont
*/ */
static HFONT xrenderdrv_SelectFont( PHYSDEV dev, HFONT hfont ) static HFONT xrenderdrv_SelectFont( PHYSDEV dev, HFONT hfont, UINT *aa_flags )
{ {
LFANDSIZE lfsz; LFANDSIZE lfsz;
struct xrender_physdev *physdev = get_xrender_dev( dev ); struct xrender_physdev *physdev = get_xrender_dev( dev );
PHYSDEV next = GET_NEXT_PHYSDEV( dev, pSelectFont ); 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; if (!ret) return 0;

View File

@ -153,7 +153,7 @@ struct gdi_dc_funcs
HBITMAP (*pSelectBitmap)(PHYSDEV,HBITMAP); HBITMAP (*pSelectBitmap)(PHYSDEV,HBITMAP);
HBRUSH (*pSelectBrush)(PHYSDEV,HBRUSH,const struct brush_pattern*); HBRUSH (*pSelectBrush)(PHYSDEV,HBRUSH,const struct brush_pattern*);
BOOL (*pSelectClipPath)(PHYSDEV,INT); BOOL (*pSelectClipPath)(PHYSDEV,INT);
HFONT (*pSelectFont)(PHYSDEV,HFONT); HFONT (*pSelectFont)(PHYSDEV,HFONT,UINT*);
HPALETTE (*pSelectPalette)(PHYSDEV,HPALETTE,BOOL); HPALETTE (*pSelectPalette)(PHYSDEV,HPALETTE,BOOL);
HPEN (*pSelectPen)(PHYSDEV,HPEN,const struct brush_pattern*); HPEN (*pSelectPen)(PHYSDEV,HPEN,const struct brush_pattern*);
INT (*pSetArcDirection)(PHYSDEV,INT); INT (*pSetArcDirection)(PHYSDEV,INT);
@ -197,7 +197,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 44 #define WINE_GDI_DRIVER_VERSION 45
#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 */