summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-09-01 14:08:47 +0200
committerwm4 <wm4@nowhere>2015-09-01 14:08:47 +0200
commit888c644420b138875bf5e9f956d926b0be784eae (patch)
tree6dd0a1184f3239e4dab7188995061d96da9fd8b0
parent72f751e3a5693ed2b7e935cb6c31ce18eed8d7b0 (diff)
downloadlibass-888c644420b138875bf5e9f956d926b0be784eae.tar.bz2
libass-888c644420b138875bf5e9f956d926b0be784eae.tar.xz
fontselect: use designated initializers
Tired of matching the names and order of the callbacks in my head. While we're at it, also give some of the callbacks better names.
-rw-r--r--libass/ass_coretext.c15
-rw-r--r--libass/ass_directwrite.c12
-rw-r--r--libass/ass_fontconfig.c11
-rw-r--r--libass/ass_fontselect.c9
-rw-r--r--libass/ass_fontselect.h18
5 files changed, 28 insertions, 37 deletions
diff --git a/libass/ass_coretext.c b/libass/ass_coretext.c
index 35f10ff..00d4c45 100644
--- a/libass/ass_coretext.c
+++ b/libass/ass_coretext.c
@@ -287,17 +287,12 @@ static char *get_fallback(void *priv, ASS_FontProviderMetaData *meta,
}
static ASS_FontProviderFuncs coretext_callbacks = {
- NULL,
- check_glyph,
- destroy_font,
- NULL,
-#if CT_FONTS_EAGER_LOAD
- NULL,
-#else
- match_fonts,
+ .check_glyph = check_glyph,
+ .destroy_font = destroy_font,
+#if !CT_FONTS_EAGER_LOAD
+ .match_fonts = match_fonts,
#endif
- NULL,
- get_fallback
+ .get_fallback = get_fallback,
};
ASS_FontProvider *
diff --git a/libass/ass_directwrite.c b/libass/ass_directwrite.c
index fb21d5c..1ef0616 100644
--- a/libass/ass_directwrite.c
+++ b/libass/ass_directwrite.c
@@ -628,13 +628,11 @@ static void scan_fonts(IDWriteFactory *factory,
* specified task
*/
static ASS_FontProviderFuncs directwrite_callbacks = {
- get_data,
- check_glyph,
- destroy_font,
- destroy_provider,
- NULL,
- NULL,
- get_fallback
+ .get_data = get_data,
+ .check_glyph = check_glyph,
+ .destroy_font = destroy_font,
+ .destroy_provider = destroy_provider,
+ .get_fallback = get_fallback,
};
typedef HRESULT WINAPI (*DWriteCreateFactoryFn)(
diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c
index 0c89d36..e65e413 100644
--- a/libass/ass_fontconfig.c
+++ b/libass/ass_fontconfig.c
@@ -242,13 +242,10 @@ cleanup:
}
static ASS_FontProviderFuncs fontconfig_callbacks = {
- NULL,
- check_glyph,
- NULL,
- destroy,
- NULL,
- get_substitutions,
- get_fallback
+ .check_glyph = check_glyph,
+ .destroy_provider = destroy,
+ .get_substitutions = get_substitutions,
+ .get_fallback = get_fallback,
};
ASS_FontProvider *
diff --git a/libass/ass_fontselect.c b/libass/ass_fontselect.c
index 02d0bc4..ab40bd5 100644
--- a/libass/ass_fontselect.c
+++ b/libass/ass_fontselect.c
@@ -514,8 +514,9 @@ static char *select_font(ASS_FontSelector *priv, ASS_Library *library,
};
// get a list of substitutes if applicable, and use it for matching
- if (default_provider && default_provider->funcs.subst_font) {
- default_provider->funcs.subst_font(default_provider->priv, family_trim, &meta);
+ if (default_provider && default_provider->funcs.get_substitutions) {
+ default_provider->funcs.get_substitutions(default_provider->priv,
+ family_trim, &meta);
}
if (!meta.n_fullname) {
meta = default_meta;
@@ -634,13 +635,13 @@ char *ass_font_select(ASS_FontSelector *priv, ASS_Library *library,
family, bold, italic, res, *index, *postscript_name);
}
- if (!res && default_provider && default_provider->funcs.fallback_font) {
+ if (!res && default_provider && default_provider->funcs.get_fallback) {
ASS_FontProviderMetaData meta;
meta.families = &family;
meta.weight = bold;
meta.slant = italic;
meta.width = 100;
- char *fallback_family = default_provider->funcs.fallback_font(
+ char *fallback_family = default_provider->funcs.get_fallback(
default_provider->priv, &meta, code);
if (fallback_family) {
diff --git a/libass/ass_fontselect.h b/libass/ass_fontselect.h
index 2c03a16..f420935 100644
--- a/libass/ass_fontselect.h
+++ b/libass/ass_fontselect.h
@@ -122,23 +122,23 @@ typedef void (*SubstituteFontFunc)(void *priv, const char *name,
* Note that fontselect uses the font provider set as default to determine
* fallbacks.
*
- * \param font_priv font private data
+ * \param priv font provider private data
* \param codepoint Unicode codepoint (UTF-32)
* \return output font family, allocated with malloc(), must be freed
* by caller.
*/
-typedef char *(*GetFallbackFunc)(void *font_priv,
+typedef char *(*GetFallbackFunc)(void *priv,
ASS_FontProviderMetaData *meta,
uint32_t codepoint);
typedef struct font_provider_funcs {
- GetDataFunc get_data; /* optional/mandatory */
- CheckGlyphFunc check_glyph; /* mandatory */
- DestroyFontFunc destroy_font; /* optional */
- DestroyProviderFunc destroy_provider; /* optional */
- MatchFontsFunc match_fonts; /* optional */
- SubstituteFontFunc subst_font; /* optional */
- GetFallbackFunc fallback_font; /* optional */
+ GetDataFunc get_data; /* optional/mandatory */
+ CheckGlyphFunc check_glyph; /* mandatory */
+ DestroyFontFunc destroy_font; /* optional */
+ DestroyProviderFunc destroy_provider; /* optional */
+ MatchFontsFunc match_fonts; /* optional */
+ SubstituteFontFunc get_substitutions; /* optional */
+ GetFallbackFunc get_fallback; /* optional */
} ASS_FontProviderFuncs;
/*