19 #include FT_FREETYPE_H
37 #define BLF_RESULT_CHECK_INIT(r_info) \
39 memset(r_info, 0, sizeof(*(r_info))); \
125 return FT_Get_Char_Index(font->
face, unicode) != FT_Err_Ok;
155 printf(
"Too many fonts!!!\n");
161 printf(
"Can't find font: %s\n", name);
169 printf(
"Can't load font: %s\n", name);
187 int BLF_load_mem(
const char *name,
const unsigned char *mem,
int mem_size)
205 printf(
"Too many fonts!!!\n");
210 printf(
"Can't load font: %s from memory!!\n", name);
216 printf(
"Can't load font: %s from memory!!\n", name);
275 font->
flags |= option;
284 font->
flags &= ~option;
304 memcpy(font->
m, m,
sizeof(font->
m));
328 if (remainder > 0.4f && remainder < 0.6f) {
329 if (remainder < 0.5f) {
338 if (remainder > 0.4f && remainder < 0.6f) {
339 if (remainder < 0.5f) {
348 if (remainder > 0.4f && remainder < 0.6f) {
349 if (remainder < 0.5f) {
373 void BLF_blur(
int fontid,
int size)
403 font->
color[3] = alpha;
413 int fontid,
unsigned char r,
unsigned char g,
unsigned char b,
unsigned char alpha)
421 font->
color[3] = alpha;
433 font->
color[3] = 255;
462 const float rgba[4] = {
r,
g,
b, 1.0f};
540 if (str_len == 0 ||
str[0] ==
'\0') {
552 if (str_len == 0 ||
str[0] ==
'\0') {
597 int fontid,
const char *
str,
const size_t str_len,
float width,
float *r_width)
607 *r_width = (
float)width_result * xa;
619 int fontid,
const char *
str,
const size_t str_len,
float width,
float *r_width)
629 *r_width = (
float)width_result * xa;
641 int fontid,
const char *
str,
const size_t str_len,
rcti *r_box,
struct ResultBLF *r_info)
663 int fontid,
const char *
str,
const size_t str_len,
float *r_width,
float *r_height)
671 *r_width = *r_height = 0.0f;
865 const size_t str_len,
898 void BLF_state_print(
int fontid)
902 printf(
"fontid %d %p\n", fontid, (
void *)font);
903 printf(
" name: '%s'\n", font->
name);
904 printf(
" size: %f\n", font->
size);
905 printf(
" dpi: %u\n", font->
dpi);
906 printf(
" pos: %d %d %d\n",
UNPACK3(font->
pos));
907 printf(
" aspect: (%d) %.6f %.6f %.6f\n",
911 printf(
" flag: %d\n", font->
flags);
914 printf(
"fontid %d (NULL)\n", fontid);
typedef float(TangentPoint)[2]
void BLF_default_set(int fontid)
bool(* BLF_GlyphBoundsFn)(const char *str, size_t str_step_ofs, const struct rcti *glyph_step_bounds, int glyph_advance_x, const struct rcti *glyph_bounds, const int glyph_bearing[2], void *user_data)
void BLF_default_dpi(int dpi)
MINLINE int round_fl_to_int(float a)
MINLINE void srgb_to_linearrgb_v4(float linear[4], const float srgb[4])
void rgba_float_to_uchar(unsigned char r_col[4], const float col_f[4])
MINLINE void copy_v4_v4(float r[4], const float a[4])
MINLINE void copy_v3_v3(float r[3], const float a[3])
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble z
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble GLdouble r _GL_VOID_RET _GL_VOID GLfloat GLfloat r _GL_VOID_RET _GL_VOID GLint GLint r _GL_VOID_RET _GL_VOID GLshort GLshort r _GL_VOID_RET _GL_VOID GLdouble GLdouble r
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
void GPU_matrix_pop(void)
#define GPU_matrix_mul(x)
void GPU_matrix_scale_3fv(const float vec[3])
void GPU_matrix_push(void)
void GPU_matrix_rotate_2d(float deg)
void GPU_matrix_translate_3f(float x, float y, float z)
void IMB_colormanagement_display_to_scene_linear_v3(float pixel[3], struct ColorManagedDisplay *display)
Read Guarded memory(de)allocation.
static int blf_search_available(void)
static int blf_search(const char *name)
size_t BLF_width_to_rstrlen(int fontid, const char *str, const size_t str_len, float width, float *r_width)
float BLF_width(int fontid, const char *str, const size_t str_len)
int BLF_load_unique(const char *name)
static void blf_draw_gl__start(FontBLF *font)
float BLF_height(int fontid, const char *str, const size_t str_len)
void BLF_aspect(int fontid, float x, float y, float z)
void blf_draw_buffer__start(FontBLF *font)
void BLF_boundbox_foreach_glyph_ex(int fontid, const char *str, size_t str_len, BLF_GlyphBoundsFn user_fn, void *user_data, struct ResultBLF *r_info)
void BLF_color3ubv(int fontid, const unsigned char rgb[3])
void BLF_clipping(int fontid, int xmin, int ymin, int xmax, int ymax)
void BLF_cache_clear(void)
size_t BLF_width_to_strlen(int fontid, const char *str, const size_t str_len, float width, float *r_width)
void BLF_boundbox_foreach_glyph(int fontid, const char *str, const size_t str_len, BLF_GlyphBoundsFn user_fn, void *user_data)
void BLF_draw(int fontid, const char *str, const size_t str_len)
void BLF_draw_buffer(int fontid, const char *str, const size_t str_len)
void BLF_color3f(int fontid, float r, float g, float b)
float BLF_fixed_width(int fontid)
int BLF_load_mem_unique(const char *name, const unsigned char *mem, int mem_size)
void BLF_draw_ex(int fontid, const char *str, const size_t str_len, struct ResultBLF *r_info)
void BLF_color3fv_alpha(int fontid, const float rgb[3], float alpha)
void BLF_color4fv(int fontid, const float rgba[4])
bool BLF_has_glyph(int fontid, unsigned int unicode)
#define BLF_RESULT_CHECK_INIT(r_info)
void BLF_draw_buffer_ex(int fontid, const char *str, const size_t str_len, struct ResultBLF *r_info)
bool blf_font_id_is_valid(int fontid)
int BLF_load_mem(const char *name, const unsigned char *mem, int mem_size)
void BLF_unload_all(void)
static void blf_draw_gl__end(FontBLF *font)
void BLF_shadow_offset(int fontid, int x, int y)
int BLF_width_max(int fontid)
int BLF_ascender(int fontid)
void BLF_matrix(int fontid, const float m[16])
float BLF_height_ex(int fontid, const char *str, const size_t str_len, struct ResultBLF *r_info)
void BLF_batch_draw_flush(void)
static FontBLF * blf_get(int fontid)
void BLF_disable(int fontid, int option)
void BLF_rotation(int fontid, float angle)
void BLF_buffer_col(int fontid, const float rgba[4])
void BLF_shadow(int fontid, int level, const float rgba[4])
void BLF_color3ubv_alpha(int fontid, const unsigned char rgb[3], unsigned char alpha)
int BLF_descender(int fontid)
void BLF_unload_id(int fontid)
void BLF_boundbox_ex(int fontid, const char *str, const size_t str_len, rcti *r_box, struct ResultBLF *r_info)
FontBLF * global_font[BLF_MAX_FONT]
void BLF_buffer(int fontid, float *fbuf, unsigned char *cbuf, int w, int h, int nch, struct ColorManagedDisplay *display)
void BLF_unload(const char *name)
void BLF_batch_draw_begin(void)
bool BLF_is_loaded(const char *name)
void BLF_enable(int fontid, int option)
void BLF_width_and_height(int fontid, const char *str, const size_t str_len, float *r_width, float *r_height)
void BLF_color3ub(int fontid, unsigned char r, unsigned char g, unsigned char b)
float BLF_width_ex(int fontid, const char *str, const size_t str_len, struct ResultBLF *r_info)
int BLF_draw_mono(int fontid, const char *str, const size_t str_len, int cwidth)
void BLF_batch_draw_end(void)
void BLF_boundbox(int fontid, const char *str, const size_t str_len, rcti *r_box)
void BLF_color4f(int fontid, float r, float g, float b, float a)
void BLF_color4ubv(int fontid, const unsigned char rgba[4])
void BLF_size(int fontid, float size, int dpi)
int BLF_load(const char *name)
char * BLF_display_name_from_file(const char *filepath)
void BLF_color4ub(int fontid, unsigned char r, unsigned char g, unsigned char b, unsigned char alpha)
int BLF_height_max(int fontid)
void BLF_wordwrap(int fontid, int wrap_width)
void blf_draw_buffer__end(void)
void BLF_position(int fontid, float x, float y, float z)
void BLF_metrics_attach(int fontid, unsigned char *mem, int mem_size)
char * blf_dir_search(const char *file)
float blf_font_height(FontBLF *font, const char *str, const size_t str_len, struct ResultBLF *r_info)
size_t blf_font_width_to_rstrlen(FontBLF *font, const char *str, const size_t str_len, int width, int *r_width)
void blf_batch_draw(void)
int blf_font_ascender(FontBLF *font)
void blf_font_draw_buffer(FontBLF *font, const char *str, const size_t str_len, struct ResultBLF *r_info)
char * blf_display_name(FontBLF *font)
void blf_font_free(FontBLF *font)
void blf_font_boundbox_foreach_glyph(FontBLF *font, const char *str, const size_t str_len, BLF_GlyphBoundsFn user_fn, void *user_data, struct ResultBLF *r_info)
int blf_font_draw_mono(FontBLF *font, const char *str, const size_t str_len, int cwidth)
FontBLF * blf_font_new_from_mem(const char *name, const unsigned char *mem, int mem_size)
float blf_font_fixed_width(FontBLF *font)
void blf_font_boundbox__wrap(FontBLF *font, const char *str, const size_t str_len, rcti *box, struct ResultBLF *r_info)
FontBLF * blf_font_new(const char *name, const char *filepath)
int blf_font_width_max(FontBLF *font)
void blf_font_attach_from_mem(FontBLF *font, const unsigned char *mem, int mem_size)
bool blf_font_size(FontBLF *font, float size, unsigned int dpi)
void blf_font_draw(FontBLF *font, const char *str, const size_t str_len, struct ResultBLF *r_info)
void blf_font_width_and_height(FontBLF *font, const char *str, const size_t str_len, float *r_width, float *r_height, struct ResultBLF *r_info)
void blf_font_boundbox(FontBLF *font, const char *str, const size_t str_len, rcti *r_box, struct ResultBLF *r_info)
void blf_font_draw_buffer__wrap(FontBLF *font, const char *str, const size_t str_len, struct ResultBLF *r_info)
float blf_font_width(FontBLF *font, const char *str, const size_t str_len, struct ResultBLF *r_info)
void blf_font_draw__wrap(FontBLF *font, const char *str, const size_t str_len, struct ResultBLF *r_info)
size_t blf_font_width_to_strlen(FontBLF *font, const char *str, const size_t str_len, int width, int *r_width)
int blf_font_descender(FontBLF *font)
int blf_font_height_max(FontBLF *font)
void blf_glyph_cache_clear(FontBLF *font)
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
SIMD_FORCE_INLINE btScalar angle(const btVector3 &v) const
Return the angle between this and another vector.
void(* MEM_freeN)(void *vmemh)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
static const pxr::TfToken rgba("rgba", pxr::TfToken::Immortal)
static const pxr::TfToken g("g", pxr::TfToken::Immortal)
static const pxr::TfToken rgb("rgb", pxr::TfToken::Immortal)
unsigned int reference_count
unsigned char shadow_color[4]
unsigned char col_char[4]
struct ColorManagedDisplay * display
int wrap_width(const struct SpaceText *st, struct ARegion *region)