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

Alexandre Julliard julliard at winehq.org
Fri Nov 2 15:52:02 CDT 2012


Module: wine
Branch: master
Commit: 6164d533a9bbfc40ed0fbc0c6c2b95c493da1c7e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6164d533a9bbfc40ed0fbc0c6c2b95c493da1c7e

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Oct 30 19:37:31 2012 +0100

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 ca21d4d..2ab0778 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 03bb829..3dd2923 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 905560d..8dd88f6 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 6684660..6179230 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 ca11968..b747f6f 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 d04cc8f..e1a03bb 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 ca70117..07e66b7 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 abc9b92..f04d069 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 52f84e7..1e76bef 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 389f684..d1993f7 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 1f6376c..f6be211d 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 */




More information about the wine-cvs mailing list