From 66e2ea5f428893e102fe2cbaa45de0852118f5e2 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Thu, 3 Dec 2020 18:43:15 +0800 Subject: PangoWin32: Make PangoWin32Font type checks public This can be useful so that we can check against which backend is being used on Windows, as it can be either Win32 or FontConfig/FreeType. Also rename cases of PANGO_WIN32_IS_FONT to PANGO_IS_WIN32_FONT, to fit what is more commonly used--as PANGO_WIN32_IS_FONT was private, we can get away with that without breaking ABI/API. --- pango/pangowin32-private.h | 3 --- pango/pangowin32.c | 15 ++++++++++----- pango/pangowin32.h | 7 +++++++ 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/pango/pangowin32-private.h b/pango/pangowin32-private.h index 1c9c1c09..9ea00dbc 100644 --- a/pango/pangowin32-private.h +++ b/pango/pangowin32-private.h @@ -64,10 +64,7 @@ #define PANGO_IS_WIN32_FONT_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_WIN32_FONT_MAP)) #define PANGO_WIN32_FONT_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_WIN32_FONT_MAP, PangoWin32FontMapClass)) -#define PANGO_TYPE_WIN32_FONT (_pango_win32_font_get_type ()) -#define PANGO_WIN32_FONT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_WIN32_FONT, PangoWin32Font)) #define PANGO_WIN32_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_WIN32_FONT, PangoWin32FontClass)) -#define PANGO_WIN32_IS_FONT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_WIN32_FONT)) #define PANGO_WIN32_IS_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_WIN32_FONT)) #define PANGO_WIN32_FONT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_WIN32_FONT, PangoWin32FontClass)) diff --git a/pango/pangowin32.c b/pango/pangowin32.c index 213a665e..7904c96d 100644 --- a/pango/pangowin32.c +++ b/pango/pangowin32.c @@ -676,7 +676,7 @@ pango_win32_font_logfont (PangoFont *font) LOGFONTA *lfp; g_return_val_if_fail (font != NULL, NULL); - g_return_val_if_fail (PANGO_WIN32_IS_FONT (font), NULL); + g_return_val_if_fail (PANGO_IS_WIN32_FONT (font), NULL); lfp = g_new (LOGFONTA, 1); @@ -708,7 +708,7 @@ pango_win32_font_logfontw (PangoFont *font) LOGFONTW *lfp; g_return_val_if_fail (font != NULL, NULL); - g_return_val_if_fail (PANGO_WIN32_IS_FONT (font), NULL); + g_return_val_if_fail (PANGO_IS_WIN32_FONT (font), NULL); lfp = g_new (LOGFONTW, 1); *lfp = win32font->logfontw; @@ -737,7 +737,7 @@ gboolean pango_win32_font_select_font (PangoFont *font, HDC hdc) { - g_return_val_if_fail (PANGO_WIN32_IS_FONT (font), FALSE); + g_return_val_if_fail (PANGO_IS_WIN32_FONT (font), FALSE); return PANGO_WIN32_FONT_GET_CLASS (font)->select_font (font, hdc); } @@ -751,7 +751,7 @@ pango_win32_font_select_font (PangoFont *font, void pango_win32_font_done_font (PangoFont *font) { - g_return_if_fail (PANGO_WIN32_IS_FONT (font)); + g_return_if_fail (PANGO_IS_WIN32_FONT (font)); PANGO_WIN32_FONT_GET_CLASS (font)->done_font (font); } @@ -770,7 +770,7 @@ pango_win32_font_done_font (PangoFont *font) double pango_win32_font_get_metrics_factor (PangoFont *font) { - g_return_val_if_fail (PANGO_WIN32_IS_FONT (font), 1.); + g_return_val_if_fail (PANGO_IS_WIN32_FONT (font), 1.); return PANGO_WIN32_FONT_GET_CLASS (font)->get_metrics_factor (font); } @@ -1283,3 +1283,8 @@ pango_win32_font_create_hb_font (PangoFont *font) return hb_font; } + +GType pango_win32_font_get_type (void) +{ + return _pango_win32_font_get_type (); +} diff --git a/pango/pangowin32.h b/pango/pangowin32.h index 5a773811..fe68cc31 100644 --- a/pango/pangowin32.h +++ b/pango/pangowin32.h @@ -40,6 +40,10 @@ G_BEGIN_DECLS #include #undef STRICT +#define PANGO_TYPE_WIN32_FONT (pango_win32_font_get_type ()) +#define PANGO_WIN32_FONT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_WIN32_FONT, PangoWin32Font)) +#define PANGO_IS_WIN32_FONT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_WIN32_FONT)) + /** * PANGO_RENDER_TYPE_WIN32: * @@ -146,6 +150,9 @@ PangoFontDescription *pango_win32_font_description_from_logfont (const LOGFONTA PANGO_AVAILABLE_IN_1_16 PangoFontDescription *pango_win32_font_description_from_logfontw (const LOGFONTW *lfp); +PANGO_AVAILABLE_IN_1_48 +GType pango_win32_font_get_type (void) G_GNUC_CONST; + G_END_DECLS #endif /* __PANGOWIN32_H__ */ -- cgit v1.2.1