summaryrefslogtreecommitdiffstats
path: root/libass/ass.h
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@chown.ath.cx>2011-08-20 18:19:25 +0200
committerGrigori Goronzy <greg@chown.ath.cx>2015-07-10 10:42:40 +0200
commit4803b0a7bc9fee78e9eafb7417fa20f9a21d675f (patch)
tree19a12b4c387d5c4909f3275fe72e316e79e9416a /libass/ass.h
parentf69ec6e0c038fe32cc5f91cc62cba52fe3934885 (diff)
downloadlibass-4803b0a7bc9fee78e9eafb7417fa20f9a21d675f.tar.bz2
libass-4803b0a7bc9fee78e9eafb7417fa20f9a21d675f.tar.xz
Export font provider interface
Add wrapper to the ASS_Renderer to create a font provider from its internal font selector and shuffle some code around to export everything that's needed for font providers to the public. Document font provider functions.
Diffstat (limited to 'libass/ass.h')
-rw-r--r--libass/ass.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/libass/ass.h b/libass/ass.h
index 774f344..d6728ed 100644
--- a/libass/ass.h
+++ b/libass/ass.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
+ * Copyright (C) 2011 Grigori Goronzy <greg@chown.ath.cx>
*
* This file is part of libass.
*
@@ -435,6 +436,40 @@ void ass_set_selective_style_override(ASS_Renderer *priv, ASS_Style *style);
int ass_fonts_update(ASS_Renderer *priv);
/**
+ * \brief Create an empty font provider. A font provider can be used to
+ * provide additional fonts to libass.
+ * \param priv parent renderer
+ * \param funcs callback functions
+ * \param private data for provider callbacks
+ *
+ */
+ASS_FontProvider *
+ass_create_font_provider(ASS_Renderer *priv, ASS_FontProviderFuncs *funcs,
+ void *data);
+
+/**
+ * \brief Add a font to a font provider.
+ * \param provider the font provider
+ * \param meta font metadata. See struct definition for more information.
+ * \param path absolute path to font, or NULL for memory-based fonts
+ * \param index index inside a font collection file
+ * \param data private data for font callbacks
+ * \return success
+ *
+ */
+int
+ass_font_provider_add_font(ASS_FontProvider *provider,
+ ASS_FontProviderMetaData *meta, const char *path,
+ unsigned int index, void *data);
+
+/**
+ * \brief Free font provider and associated fonts.
+ * \param provider the font provider
+ *
+ */
+void ass_font_provider_free(ASS_FontProvider *provider);
+
+/**
* \brief Set hard cache limits. Do not set, or set to zero, for reasonable
* defaults.
*