[pango/face-return] Reinstate the return type of pango_fc_font_lock_face()



commit 5af6340eef9833f0f8e878939e88d98b11813578
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue Aug 6 12:56:02 2019 -0400

    Reinstate the return type of pango_fc_font_lock_face()
    
    We did not remove the freetype dependency from libpango
    anyway, so bite the bullet, and keep including freetype
    headers.
    
    Changing the return type to gpointer broke C++ users,
    where casts from void* are not automatic.

 pango/pangocairo-fcfont.c    |  2 +-
 pango/pangofc-font-private.h | 16 +---------------
 pango/pangofc-font.c         |  2 +-
 pango/pangofc-font.h         |  4 +++-
 pango/pangoft2.c             |  4 ++--
 pango/pangoxft-font.c        |  6 +++---
 6 files changed, 11 insertions(+), 23 deletions(-)
---
diff --git a/pango/pangocairo-fcfont.c b/pango/pangocairo-fcfont.c
index 9c450317..0019f83a 100644
--- a/pango/pangocairo-fcfont.c
+++ b/pango/pangocairo-fcfont.c
@@ -118,7 +118,7 @@ pango_cairo_fc_font_get_glyph_extents (PangoFont      *font,
                                               logical_rect);
 }
 
-static gpointer
+static FT_Face
 pango_cairo_fc_font_lock_face (PangoFcFont *font)
 {
   PangoCairoFcFont *cffont = (PangoCairoFcFont *) (font);
diff --git a/pango/pangofc-font-private.h b/pango/pangofc-font-private.h
index 0f538bb7..30a2e7fd 100644
--- a/pango/pangofc-font-private.h
+++ b/pango/pangofc-font-private.h
@@ -25,20 +25,6 @@
 #include <pango/pangofc-font.h>
 #include <pango/pango-font-private.h>
 
-/* Freetype has undefined macros in its header */
-#ifdef PANGO_COMPILATION
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wundef"
-#endif
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include <fontconfig/fontconfig.h>
-
-#ifdef PANGO_COMPILATION
-#pragma GCC diagnostic pop
-#endif
-
 G_BEGIN_DECLS
 
 
@@ -108,7 +94,7 @@ struct _PangoFcFontClass
   PangoFontClass parent_class;
 
   /*< public >*/
-  gpointer   (*lock_face)         (PangoFcFont      *font);
+  FT_Face    (*lock_face)         (PangoFcFont      *font);
   void       (*unlock_face)       (PangoFcFont      *font);
   gboolean   (*has_char)          (PangoFcFont      *font,
                                   gunichar          wc);
diff --git a/pango/pangofc-font.c b/pango/pangofc-font.c
index bc0fa31a..98e77288 100644
--- a/pango/pangofc-font.c
+++ b/pango/pangofc-font.c
@@ -545,7 +545,7 @@ pango_fc_font_real_get_glyph (PangoFcFont *font,
  * Since: 1.4
  * Deprecated: 1.44: Use pango_font_get_hb_font() instead
  **/
-gpointer
+FT_Face
 pango_fc_font_lock_face (PangoFcFont *font)
 {
   g_return_val_if_fail (PANGO_IS_FC_FONT (font), NULL);
diff --git a/pango/pangofc-font.h b/pango/pangofc-font.h
index a7c5f87d..0cd4f174 100644
--- a/pango/pangofc-font.h
+++ b/pango/pangofc-font.h
@@ -32,6 +32,8 @@
 #pragma GCC diagnostic ignored "-Wundef"
 #endif
 
+#include <ft2build.h>
+#include FT_FREETYPE_H
 #include <fontconfig/fontconfig.h>
 
 #ifdef PANGO_COMPILATION
@@ -64,7 +66,7 @@ void       pango_fc_font_kern_glyphs       (PangoFcFont      *font,
                                             PangoGlyphString *glyphs);
 
 PANGO_DEPRECATED_IN_1_44_FOR(pango_font_get_hb_font)
-gpointer   pango_fc_font_lock_face         (PangoFcFont      *font);
+FT_Face    pango_fc_font_lock_face         (PangoFcFont      *font);
 PANGO_DEPRECATED_IN_1_44_FOR(pango_font_get_hb_font)
 void       pango_fc_font_unlock_face       (PangoFcFont      *font);
 
diff --git a/pango/pangoft2.c b/pango/pangoft2.c
index b286f906..b6467981 100644
--- a/pango/pangoft2.c
+++ b/pango/pangoft2.c
@@ -64,7 +64,7 @@ static void     pango_ft2_font_get_glyph_extents (PangoFont      *font,
                                                   PangoRectangle *ink_rect,
                                                   PangoRectangle *logical_rect);
 
-static gpointer pango_ft2_font_real_lock_face    (PangoFcFont    *font);
+static FT_Face  pango_ft2_font_real_lock_face    (PangoFcFont    *font);
 static void     pango_ft2_font_real_unlock_face  (PangoFcFont    *font);
 
 
@@ -430,7 +430,7 @@ pango_ft2_font_get_kerning (PangoFont *font,
   return PANGO_UNITS_26_6 (kerning.x);
 }
 
-static gpointer
+static FT_Face
 pango_ft2_font_real_lock_face (PangoFcFont *font)
 {
   return pango_ft2_font_get_face ((PangoFont *)font);
diff --git a/pango/pangoxft-font.c b/pango/pangoxft-font.c
index 779eb886..2526b13d 100644
--- a/pango/pangoxft-font.c
+++ b/pango/pangoxft-font.c
@@ -75,7 +75,7 @@ static void                  pango_xft_font_get_glyph_extents (PangoFont
                                                               PangoRectangle   *ink_rect,
                                                               PangoRectangle   *logical_rect);
 
-static gpointer   pango_xft_font_real_lock_face         (PangoFcFont      *font);
+static FT_Face    pango_xft_font_real_lock_face         (PangoFcFont      *font);
 static void       pango_xft_font_real_unlock_face       (PangoFcFont      *font);
 static gboolean   pango_xft_font_real_has_char          (PangoFcFont      *font,
                                                         gunichar          wc);
@@ -449,12 +449,12 @@ xft_font_get_font (PangoFont *font)
   return xfont->xft_font;
 }
 
-static gpointer
+static FT_Face
 pango_xft_font_real_lock_face (PangoFcFont *font)
 {
   XftFont *xft_font = xft_font_get_font ((PangoFont *)font);
 
-  return (gpointer)XftLockFace (xft_font);
+  return XftLockFace (xft_font);
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]