From 844de179d383c12880f50a0e93d76b0f2646eaa3 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 22 Jul 2022 18:36:29 +0200 Subject: Add documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- libfonts.h | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 64 insertions(+), 3 deletions(-) diff --git a/libfonts.h b/libfonts.h index 314232f..c8f4b0c 100644 --- a/libfonts.h +++ b/libfonts.h @@ -446,14 +446,75 @@ struct libfonts_font_description { }; +/** + * Encode an X Logical Font Description (XLFD) string + * + * @param desc The font description to encode + * @param out Output buffer for the font description string + * @return 0 on successful completion, -1 on failure + * + * @throws EINVAL Invalid font description + */ int libfonts_encode_font_description(const struct libfonts_font_description *, char[static 256]); + +/** + * Decode an X Logical Font Description (XLFD) string + * + * @param desc Output parameter for the font description + * @param in The font description string to decode + * @return 0 on successful completion, -1 on failure + * + * @throws EINVAL Invalid font description + */ int libfonts_decode_font_description(struct libfonts_font_description *, const char *); -int libfonts_do_font_descriptions_match(const char * /* no wildcards */, const char * /* wildcards allowed */); -int libfonts_do_decoded_font_descriptions_match(const struct libfonts_font_description * /* no wildcards */, - const struct libfonts_font_description * /* wildcards allowed */); +/** + * Check if an X Logical Font Description (XLFD) matches + * a font specification + * + * @param desc The font description to test, may not include wildcards + * @param spec The specification to test the description against, may include wildcards + * @return 1 if the arguments match, 0 if they don't match + */ +int libfonts_do_font_descriptions_match(const char *, const char *); +/* TODO implement libfonts_do_font_descriptions_match */ + +/** + * Check if an X Logical Font Description (XLFD) matches + * a font specification + * + * @param desc The font description to test, may not include wildcards + * @param spec The specification to test the description against, may include wildcards + * @return 1 if the arguments match, 0 if they don't match + */ +int libfonts_do_decoded_font_descriptions_match(const struct libfonts_font_description *, const struct libfonts_font_description *); +/* TODO implement libfonts_do_decoded_font_descriptions_match */ + + +/** + * Get the rendering settings to use for output devices + * without any specific rendering settings configured + * + * @param settings Output parameter for the rendering settings + * @return 1 if rendering settings where found, + * 0 otherwise (`*settings` will be filled with fallback values), + * -1 on failure + */ int libfonts_get_default_rendering_settings(struct libfonts_rendering_settings *); +/* TODO implement libfonts_get_default_rendering_settings */ + +/** + * Get rendering settings specified for a specific output device + * + * @param settings Output parameter for the rendering settings + * @param name The EDID (or other identifier) of the output + * @return 1 if rendering settings where found, + * 0 otherwise (`*settings` will be unmodified), + * -1 on failure + */ int libfonts_get_output_rendering_settings(struct libfonts_rendering_settings *, const char *); +/* TODO implement libfonts_get_output_rendering_settings */ + /** * Get an approximate pixel density for an output device -- cgit v1.2.3-70-g09d2