/* Freetype GL - A C OpenGL Freetype engine * * Distributed under the OSI-approved BSD 2-Clause License. See accompanying * file `LICENSE` for more details. */ #ifndef __MARKUP_H__ #define __MARKUP_H__ #ifdef __cplusplus extern "C" { #endif #include "texture-font.h" #include "vec234.h" #ifdef __cplusplus namespace ftgl { #endif /** * @file markup.h * @author Nicolas Rougier (Nicolas.Rougier@inria.fr) * * @defgroup markup Markup * * Simple structure that describes text properties. * * Example Usage: * @code * #include "markup.h" * * ... * * vec4 black = {{0.0, 0.0, 0.0, 1.0}}; * vec4 white = {{1.0, 1.0, 1.0, 1.0}}; * vec4 none = {{1.0, 1.0, 1.0, 0.0}}; * * markup_t normal = { * .family = "Droid Serif", * .size = 24.0, * .bold = 0, * .italic = 0, * .spacing = 1.0, * .gamma = 1.0, * .foreground_color = black, .background_color = none, * .underline = 0, .underline_color = black, * .overline = 0, .overline_color = black, * .strikethrough = 0, .strikethrough_color = black, * .font = 0, * }; * * ... * * @endcode * * @{ */ /** * Simple structure that describes text properties. */ typedef struct markup_t { /** * A font family name such as "normal", "sans", "serif" or "monospace". */ char * family; /** * Font size. */ float size; /** * Whether text is bold. */ int bold; /** * Whether text is italic. */ int italic; /** * Spacing between letters. */ float spacing; /** * Gamma correction. */ float gamma; /** * Text color. */ vec4 foreground_color; /** * Background color. */ vec4 background_color; /** * Whether outline is active. */ int outline; /** * Outline color. */ vec4 outline_color; /** * Whether underline is active. */ int underline; /** * Underline color. */ vec4 underline_color; /** * Whether overline is active. */ int overline; /** * Overline color. */ vec4 overline_color; /** * Whether strikethrough is active. */ int strikethrough; /** * Strikethrough color. */ vec4 strikethrough_color; /** * Pointer on the corresponding font (family/size/bold/italic) */ texture_font_t * font; } markup_t; /** * Default markup */ extern markup_t default_markup; /** @} */ #ifdef __cplusplus } } #endif #endif /* __MARKUP_H__ */