Blender
V3.3
|
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ft2build.h>
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "BLI_threads.h"
#include "BLF_api.h"
#include "IMB_colormanagement.h"
#include "GPU_matrix.h"
#include "GPU_shader.h"
#include "blf_internal.h"
#include "blf_internal_types.h"
Go to the source code of this file.
Macros | |
#define | BLF_RESULT_CHECK_INIT(r_info) |
Functions | |
static FontBLF * | blf_get (int fontid) |
int | BLF_init (void) |
void | BLF_exit (void) |
void | BLF_cache_clear (void) |
bool | blf_font_id_is_valid (int fontid) |
static int | blf_search (const char *name) |
static int | blf_search_available (void) |
bool | BLF_has_glyph (int fontid, unsigned int unicode) |
bool | BLF_is_loaded (const char *name) |
int | BLF_load (const char *name) |
int | BLF_load_unique (const char *name) |
void | BLF_metrics_attach (int fontid, unsigned char *mem, int mem_size) |
int | BLF_load_mem (const char *name, const unsigned char *mem, int mem_size) |
int | BLF_load_mem_unique (const char *name, const unsigned char *mem, int mem_size) |
void | BLF_unload (const char *name) |
void | BLF_unload_id (int fontid) |
void | BLF_unload_all (void) |
void | BLF_enable (int fontid, int option) |
void | BLF_disable (int fontid, int option) |
void | BLF_aspect (int fontid, float x, float y, float z) |
void | BLF_matrix (int fontid, const float m[16]) |
void | BLF_position (int fontid, float x, float y, float z) |
void | BLF_size (int fontid, float size, int dpi) |
void | BLF_color4ubv (int fontid, const unsigned char rgba[4]) |
void | BLF_color3ubv_alpha (int fontid, const unsigned char rgb[3], unsigned char alpha) |
void | BLF_color3ubv (int fontid, const unsigned char rgb[3]) |
void | BLF_color4ub (int fontid, unsigned char r, unsigned char g, unsigned char b, unsigned char alpha) |
void | BLF_color3ub (int fontid, unsigned char r, unsigned char g, unsigned char b) |
void | BLF_color4fv (int fontid, const float rgba[4]) |
void | BLF_color4f (int fontid, float r, float g, float b, float a) |
void | BLF_color3fv_alpha (int fontid, const float rgb[3], float alpha) |
void | BLF_color3f (int fontid, float r, float g, float b) |
void | BLF_batch_draw_begin (void) |
void | BLF_batch_draw_flush (void) |
void | BLF_batch_draw_end (void) |
static void | blf_draw_gl__start (FontBLF *font) |
static void | blf_draw_gl__end (FontBLF *font) |
void | BLF_draw_ex (int fontid, const char *str, const size_t str_len, struct ResultBLF *r_info) |
void | BLF_draw (int fontid, const char *str, const size_t str_len) |
int | BLF_draw_mono (int fontid, const char *str, const size_t str_len, int cwidth) |
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_boundbox_foreach_glyph (int fontid, const char *str, const size_t str_len, BLF_GlyphBoundsFn user_fn, void *user_data) |
size_t | BLF_width_to_strlen (int fontid, const char *str, const size_t str_len, float width, float *r_width) |
size_t | BLF_width_to_rstrlen (int fontid, const char *str, const size_t str_len, float width, float *r_width) |
void | BLF_boundbox_ex (int fontid, const char *str, const size_t str_len, rcti *r_box, struct ResultBLF *r_info) |
void | BLF_boundbox (int fontid, const char *str, const size_t str_len, rcti *r_box) |
void | BLF_width_and_height (int fontid, const char *str, const size_t str_len, float *r_width, float *r_height) |
float | BLF_width_ex (int fontid, const char *str, const size_t str_len, struct ResultBLF *r_info) |
float | BLF_width (int fontid, const char *str, const size_t str_len) |
float | BLF_fixed_width (int fontid) |
float | BLF_height_ex (int fontid, const char *str, const size_t str_len, struct ResultBLF *r_info) |
float | BLF_height (int fontid, const char *str, const size_t str_len) |
int | BLF_height_max (int fontid) |
int | BLF_width_max (int fontid) |
int | BLF_descender (int fontid) |
int | BLF_ascender (int fontid) |
void | BLF_rotation (int fontid, float angle) |
void | BLF_clipping (int fontid, int xmin, int ymin, int xmax, int ymax) |
void | BLF_wordwrap (int fontid, int wrap_width) |
void | BLF_shadow (int fontid, int level, const float rgba[4]) |
void | BLF_shadow_offset (int fontid, int x, int y) |
void | BLF_buffer (int fontid, float *fbuf, unsigned char *cbuf, int w, int h, int nch, struct ColorManagedDisplay *display) |
void | BLF_buffer_col (int fontid, const float rgba[4]) |
void | blf_draw_buffer__start (FontBLF *font) |
void | blf_draw_buffer__end (void) |
void | BLF_draw_buffer_ex (int fontid, const char *str, const size_t str_len, struct ResultBLF *r_info) |
void | BLF_draw_buffer (int fontid, const char *str, const size_t str_len) |
char * | BLF_display_name_from_file (const char *filepath) |
Variables | |
FontBLF * | global_font [BLF_MAX_FONT] = {NULL} |
int | blf_mono_font = -1 |
int | blf_mono_font_render = -1 |
Main BlenFont (BLF) API, public functions for font handling.
Wraps OpenGL and FreeType.
Definition in file blf.c.
#define BLF_RESULT_CHECK_INIT | ( | r_info | ) |
int BLF_ascender | ( | int | fontid | ) |
Definition at line 755 of file blf.c.
References blf_font_ascender(), and blf_get().
Referenced by blender::ed::space_node::frame_node_draw_label(), UI_fontstyle_draw_ex(), and UI_fontstyle_draw_rotated().
Definition at line 288 of file blf.c.
References FontBLF::aspect, blf_get(), x, y, and z.
Referenced by blender::ed::space_node::frame_node_draw_label(), playanim_toscreen(), and py_blf_aspect().
Batch draw-calls together as long as the model-view matrix and the font remain unchanged.
Definition at line 466 of file blf.c.
References BLI_assert, BatchBLF::enabled, and g_batch.
Referenced by draw_horizontal_scale_indicators(), draw_vertical_scale_indicators(), DRW_stats_draw(), file_draw_list(), UI_block_draw(), and view3d_draw_region_info().
Definition at line 479 of file blf.c.
References blf_batch_draw(), BLI_assert, BatchBLF::enabled, and g_batch.
Referenced by draw_horizontal_scale_indicators(), draw_vertical_scale_indicators(), DRW_stats_draw(), file_draw_list(), UI_block_draw(), and view3d_draw_region_info().
Definition at line 472 of file blf.c.
References blf_batch_draw(), BatchBLF::enabled, and g_batch.
Referenced by icon_draw_rect_input_symbol(), and icon_draw_rect_input_text().
Definition at line 657 of file blf.c.
References BLF_boundbox_ex(), NULL, and str.
Referenced by file_draw_string_multiline().
void BLF_boundbox_ex | ( | int | fontid, |
const char * | str, | ||
size_t | str_len, | ||
struct rcti * | box, | ||
struct ResultBLF * | r_info | ||
) |
This function return the bounding box of the string and are not multiplied by the aspect.
Definition at line 640 of file blf.c.
References blf_font_boundbox(), blf_font_boundbox__wrap(), blf_get(), BLF_RESULT_CHECK_INIT, BLF_WORD_WRAP, FontBLF::flags, and str.
Referenced by BLF_boundbox(), do_text_effect(), and metadata_box_height_get().
void BLF_boundbox_foreach_glyph | ( | int | fontid, |
const char * | str, | ||
const size_t | str_len, | ||
BLF_GlyphBoundsFn | user_fn, | ||
void * | user_data | ||
) |
Definition at line 590 of file blf.c.
References BLF_boundbox_foreach_glyph_ex(), NULL, str, and user_data.
Referenced by ui_textedit_set_cursor_pos(), and widget_draw_text().
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 | ||
) |
Run user_fn for each character, with the bound-box that would be used for drawing.
user_fn | Callback that runs on each glyph, returning false early exits. |
user_data | User argument passed to user_fn. |
Definition at line 568 of file blf.c.
References blf_font_boundbox_foreach_glyph(), blf_get(), BLF_RESULT_CHECK_INIT, BLF_WORD_WRAP, BLI_assert, FontBLF::flags, str, and user_data.
Referenced by BLF_boundbox_foreach_glyph().
void BLF_buffer | ( | int | fontid, |
float * | fbuf, | ||
unsigned char * | cbuf, | ||
int | w, | ||
int | h, | ||
int | nch, | ||
struct ColorManagedDisplay * | display | ||
) |
Set the buffer, size and number of channels to draw, one thing to take care is call this function with NULL pointer when we finish, for example:
Definition at line 816 of file blf.c.
References blf_get(), FontBLF::buf_info, FontBufInfoBLF::cbuf, FontBufInfoBLF::ch, FontBufInfoBLF::dims, FontBufInfoBLF::display, FontBufInfoBLF::fbuf, and w().
Referenced by BKE_image_stamp_buf(), checker_board_text(), and do_text_effect().
Set the color to be used for text.
Definition at line 836 of file blf.c.
References blf_get(), FontBLF::buf_info, FontBufInfoBLF::col_init, copy_v4_v4(), and usdtokens::rgba().
Referenced by BKE_image_stamp_buf(), checker_board_text(), and do_text_effect().
Definition at line 83 of file blf.c.
References blf_glyph_cache_clear(), BLF_MAX_FONT, and global_font.
Referenced by ghost_event_proc(), reloadtranslation_exec(), and UI_view2d_zoom_cache_reset().
void BLF_clipping | ( | int | fontid, |
int | xmin, | ||
int | ymin, | ||
int | xmax, | ||
int | ymax | ||
) |
Definition at line 775 of file blf.c.
References blf_get(), FontBLF::clip_rec, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by ED_region_image_metadata_draw(), ED_region_info_draw_multiline(), blender::ed::space_node::frame_node_draw_label(), py_blf_clipping(), UI_fontstyle_draw_ex(), UI_fontstyle_draw_rotated(), and UI_view2d_text_cache_draw().
Definition at line 460 of file blf.c.
References usdtokens::b(), BLF_color4fv(), usdtokens::g(), r, and usdtokens::rgba().
Referenced by voxel_size_edit_draw().
Definition at line 452 of file blf.c.
References BLF_color4fv(), copy_v3_v3(), usdtokens::rgb(), and usdtokens::rgba().
void BLF_color3ub | ( | int | fontid, |
unsigned char | r, | ||
unsigned char | g, | ||
unsigned char | b | ||
) |
Definition at line 425 of file blf.c.
References usdtokens::b(), blf_get(), FontBLF::color, usdtokens::g(), and r.
Referenced by ED_image_draw_info().
void BLF_color3ubv | ( | int | fontid, |
const unsigned char | rgb[3] | ||
) |
Definition at line 407 of file blf.c.
References BLF_color3ubv_alpha(), and usdtokens::rgb().
Referenced by drawAutoKeyWarning(), ED_image_draw_info(), blender::ed::space_node::frame_node_draw_label(), gizmo_ruler_draw(), knifetool_draw_angle(), knifetool_draw_visible_distances(), slider_draw(), UI_panel_category_draw_all(), and UI_view2d_text_cache_draw().
void BLF_color3ubv_alpha | ( | int | fontid, |
const unsigned char | rgb[3], | ||
unsigned char | alpha | ||
) |
Definition at line 395 of file blf.c.
References blf_get(), FontBLF::color, and usdtokens::rgb().
Referenced by BLF_color3ubv().
Definition at line 446 of file blf.c.
References Freestyle::a, usdtokens::b(), BLF_color4fv(), usdtokens::g(), r, and usdtokens::rgba().
Referenced by playanim_toscreen().
Definition at line 437 of file blf.c.
References blf_get(), FontBLF::color, usdtokens::rgba(), and rgba_float_to_uchar().
Referenced by BLF_color3f(), BLF_color3fv_alpha(), BLF_color4f(), gizmo_axis_draw(), icon_draw_rect_input_symbol(), icon_draw_rect_input_text(), py_blf_color(), radial_control_paint_cursor(), and UI_fontstyle_draw_simple_backdrop().
void BLF_color4ub | ( | int | fontid, |
unsigned char | r, | ||
unsigned char | g, | ||
unsigned char | b, | ||
unsigned char | alpha | ||
) |
Definition at line 412 of file blf.c.
References usdtokens::b(), blf_get(), FontBLF::color, usdtokens::g(), and r.
void BLF_color4ubv | ( | int | fontid, |
const unsigned char | rgba[4] | ||
) |
Definition at line 383 of file blf.c.
References blf_get(), FontBLF::color, and usdtokens::rgba().
Referenced by draw_marker_texts(), draw_view_axis(), drw_text_cache_draw_ex(), textview_draw_string(), UI_fontstyle_draw_ex(), UI_fontstyle_draw_rotated(), UI_fontstyle_draw_simple(), UI_FontThemeColor(), and widget_draw_text().
int BLF_descender | ( | int | fontid | ) |
Definition at line 744 of file blf.c.
References blf_font_descender(), and blf_get().
Referenced by BKE_image_stamp_buf(), do_text_effect(), metadata_draw_imbuf(), textview_draw(), UI_fontstyle_draw_ex(), UI_fontstyle_draw_rotated(), and UI_fontstyle_draw_simple_backdrop().
void BLF_disable | ( | int | fontid, |
int | option | ||
) |
Definition at line 279 of file blf.c.
References blf_get(), and FontBLF::flags.
Referenced by BKE_image_stamp_buf(), do_text_effect(), draw_grid_unit_name(), draw_selected_name(), draw_vertical_scale_indicators(), draw_viewport_name(), DRW_draw_region_engine_info(), DRW_stats_draw(), ED_info_draw_stats(), ED_region_image_metadata_draw(), ED_region_info_draw_multiline(), ED_scene_draw_fps(), file_draw_string_multiline(), blender::ed::space_node::frame_node_draw_label(), gizmo_axis_draw(), gizmo_ruler_draw(), knifetool_draw_angle(), knifetool_draw_visible_distances(), metadata_box_height_get(), metadata_draw_imbuf(), py_blf_disable(), UI_fontstyle_draw_ex(), UI_fontstyle_draw_rotated(), UI_panel_category_draw_all(), ui_tooltip_create_with_data(), ui_tooltip_region_draw_cb(), UI_view2d_text_cache_draw(), uiStyleInit(), and widget_draw_text_icon().
char* BLF_display_name_from_file | ( | const char * | filepath | ) |
Definition at line 886 of file blf.c.
References blf_display_name(), blf_font_free(), blf_font_new(), and NULL.
Referenced by fileentry_uiname().
void BLF_draw | ( | int | fontid, |
const char * | str, | ||
const size_t | str_len | ||
) |
Definition at line 538 of file blf.c.
References BLF_draw_ex(), GPU_bgl_end(), NULL, and str.
Referenced by BLF_draw_default(), clip_draw_dopesheet_channels(), draw_marker_texts(), drw_text_cache_draw_ex(), ED_image_draw_info(), ED_region_cache_draw_curfra_label(), ED_region_info_draw_multiline(), blender::ed::space_node::frame_node_draw_label(), gizmo_axis_draw(), gizmo_ruler_draw(), icon_draw_rect_input_symbol(), icon_draw_rect_input_text(), knifetool_draw_angle(), knifetool_draw_visible_distances(), loggerwindow_do_draw(), metadata_custom_draw_fields(), metadata_draw_imbuf(), playanim_toscreen(), py_blf_draw(), radial_control_paint_cursor(), region_draw_status_text(), slider_draw(), UI_fontstyle_draw_rotated(), UI_fontstyle_draw_simple(), UI_fontstyle_draw_simple_backdrop(), UI_panel_category_draw_all(), voxel_size_edit_draw(), and widget_draw_text().
void BLF_draw_buffer | ( | int | fontid, |
const char * | str, | ||
const size_t | str_len | ||
) |
Definition at line 881 of file blf.c.
References BLF_draw_buffer_ex(), NULL, and str.
Referenced by BKE_image_stamp_buf(), checker_board_text(), and do_text_effect().
Definition at line 859 of file blf.c.
Referenced by BLF_draw_buffer_ex(), and BLF_thumb_preview().
Definition at line 845 of file blf.c.
References FontBLF::buf_info, FontBufInfoBLF::col_char, FontBufInfoBLF::col_float, FontBufInfoBLF::col_init, copy_v4_v4(), FontBufInfoBLF::display, IMB_colormanagement_display_to_scene_linear_v3(), rgba_float_to_uchar(), and srgb_to_linearrgb_v4().
Referenced by BLF_draw_buffer_ex(), and BLF_thumb_preview().
Draw the string into the buffer, this function draw in both buffer, float and unsigned char BUT it's not necessary set both buffer, NULL is valid here.
Definition at line 863 of file blf.c.
References blf_draw_buffer__end(), blf_draw_buffer__start(), blf_font_draw_buffer(), blf_font_draw_buffer__wrap(), blf_get(), BLF_WORD_WRAP, FontBLF::buf_info, FontBufInfoBLF::cbuf, FontBufInfoBLF::fbuf, FontBLF::flags, and str.
Referenced by BLF_draw_buffer().
Draw the string using the current font.
Definition at line 521 of file blf.c.
References blf_draw_gl__end(), blf_draw_gl__start(), blf_font_draw(), blf_font_draw__wrap(), blf_get(), BLF_RESULT_CHECK_INIT, BLF_WORD_WRAP, FontBLF::flags, and str.
Referenced by BLF_draw(), blender::ed::space_node::frame_node_draw_label(), metadata_draw_imbuf(), and UI_fontstyle_draw_ex().
Definition at line 514 of file blf.c.
References BLF_ASPECT, BLF_MATRIX, BLF_ROTATION, FontBLF::flags, and GPU_matrix_pop().
Referenced by BLF_draw_ex(), and BLF_draw_mono().
Definition at line 486 of file blf.c.
References FontBLF::angle, FontBLF::aspect, BLF_ASPECT, BLF_MATRIX, BLF_ROTATION, FontBLF::flags, GPU_matrix_mul, GPU_matrix_push(), GPU_matrix_rotate_2d(), GPU_matrix_scale_3fv(), GPU_matrix_translate_3f(), FontBLF::m, FontBLF::pos, and RAD2DEG.
Referenced by BLF_draw_ex(), and BLF_draw_mono().
int BLF_draw_mono | ( | int | fontid, |
const char * | str, | ||
const size_t | str_len, | ||
int | cwidth | ||
) |
Definition at line 550 of file blf.c.
References blf_draw_gl__end(), blf_draw_gl__start(), blf_font_draw_mono(), blf_get(), and str.
Referenced by text_font_draw(), text_font_draw_character(), text_font_draw_character_utf8(), and textview_draw_string().
void BLF_enable | ( | int | fontid, |
int | option | ||
) |
Definition at line 270 of file blf.c.
References blf_get(), and FontBLF::flags.
Referenced by BKE_image_stamp_buf(), BLF_load_default(), BLF_load_font_stack(), BLF_load_mono_default(), do_text_effect(), draw_grid_unit_name(), draw_selected_name(), draw_vertical_scale_indicators(), draw_viewport_name(), DRW_draw_region_engine_info(), DRW_stats_draw(), ED_info_draw_stats(), ED_region_image_metadata_draw(), ED_region_info_draw_multiline(), ED_scene_draw_fps(), file_draw_string_multiline(), blender::ed::space_node::frame_node_draw_label(), gizmo_axis_draw(), gizmo_ruler_draw(), knifetool_draw_angle(), knifetool_draw_visible_distances(), metadata_box_height_get(), metadata_draw_imbuf(), playanim_toscreen(), py_blf_enable(), UI_fontstyle_draw_ex(), UI_fontstyle_draw_rotated(), UI_panel_category_draw_all(), ui_tooltip_create_with_data(), UI_view2d_text_cache_draw(), and uiStyleInit().
Definition at line 70 of file blf.c.
References blf_font_exit(), blf_font_free(), BLF_MAX_FONT, global_font, and NULL.
Referenced by multitestapp_free(), WM_exit_ex(), and wm_main_playanim_intern().
float BLF_fixed_width | ( | int | fontid | ) |
For fixed width fonts only, returns the width of a character.
Definition at line 693 of file blf.c.
References blf_font_fixed_width(), and blf_get().
Referenced by textview_draw().
bool blf_font_id_is_valid | ( | int | fontid | ) |
Definition at line 93 of file blf.c.
References blf_get(), and NULL.
Referenced by BLF_default_set().
|
static |
Definition at line 51 of file blf.c.
References BLF_MAX_FONT, global_font, and NULL.
Referenced by BLF_ascender(), BLF_aspect(), BLF_boundbox_ex(), BLF_boundbox_foreach_glyph_ex(), BLF_buffer(), BLF_buffer_col(), BLF_clipping(), BLF_color3ub(), BLF_color3ubv_alpha(), BLF_color4fv(), BLF_color4ub(), BLF_color4ubv(), BLF_descender(), BLF_disable(), BLF_draw_buffer_ex(), BLF_draw_ex(), BLF_draw_mono(), BLF_enable(), BLF_fixed_width(), blf_font_id_is_valid(), BLF_has_glyph(), BLF_height_ex(), BLF_height_max(), BLF_matrix(), BLF_metrics_attach(), BLF_position(), BLF_rotation(), BLF_shadow(), BLF_shadow_offset(), BLF_size(), BLF_unload_id(), BLF_width_and_height(), BLF_width_ex(), BLF_width_max(), BLF_width_to_rstrlen(), BLF_width_to_strlen(), and BLF_wordwrap().
bool BLF_has_glyph | ( | int | fontid, |
unsigned int | unicode | ||
) |
Check if font supports a particular glyph.
Definition at line 121 of file blf.c.
References blf_get(), and FontBLF::face.
Referenced by key_event_glyph_or_text().
float BLF_height | ( | int | fontid, |
const char * | str, | ||
const size_t | str_len | ||
) |
Definition at line 717 of file blf.c.
References BLF_height_ex(), NULL, and str.
Referenced by clip_draw_dopesheet_channels(), draw_vertical_scale_indicators(), file_font_pointsize(), loggerwindow_new(), and UI_view2d_text_cache_draw().
float BLF_height_ex | ( | int | fontid, |
const char * | str, | ||
const size_t | str_len, | ||
struct ResultBLF * | r_info | ||
) |
Definition at line 704 of file blf.c.
References blf_font_height(), blf_get(), BLF_RESULT_CHECK_INIT, and str.
Referenced by BLF_height().
int BLF_height_max | ( | int | fontid | ) |
Return dimensions of the font without any sample text.
Definition at line 722 of file blf.c.
References blf_font_height_max(), and blf_get().
Referenced by BKE_image_stamp_buf(), do_text_effect(), draw_marker_texts(), blender::ed::space_node::frame_node_draw_label(), metadata_box_height_get(), metadata_draw_imbuf(), UI_fontstyle_draw_ex(), UI_fontstyle_draw_simple_backdrop(), UI_fontstyle_height_max(), and ui_tooltip_create_with_data().
int BLF_init | ( | void | ) |
Definition at line 59 of file blf.c.
References BLF_default_dpi(), blf_font_init(), BLF_MAX_FONT, global_font, and NULL.
Referenced by main(), WM_init(), and wm_main_playanim_intern().
bool BLF_is_loaded | ( | const char * | name | ) |
int BLF_load | ( | const char * | name | ) |
Loads a font, or returns an already loaded font and increments its reference count.
Definition at line 135 of file blf.c.
References BLF_load_unique(), blf_search(), global_font, and FontBLF::reference_count.
Referenced by blf_load_font_default(), BLF_load_font_stack(), py_blf_load(), SEQ_effect_text_font_load(), and uiStyleInit().
int BLF_load_mem | ( | const char * | name, |
const unsigned char * | mem, | ||
int | mem_size | ||
) |
Definition at line 187 of file blf.c.
References BLF_load_mem_unique(), and blf_search().
Referenced by SEQ_effect_text_font_load().
int BLF_load_mem_unique | ( | const char * | name, |
const unsigned char * | mem, | ||
int | mem_size | ||
) |
Definition at line 197 of file blf.c.
References blf_font_new_from_mem(), blf_search_available(), global_font, and FontBLF::reference_count.
Referenced by BLF_load_mem().
int BLF_load_unique | ( | const char * | name | ) |
Definition at line 148 of file blf.c.
References blf_dir_search(), blf_font_new(), blf_search_available(), global_font, MEM_freeN, and FontBLF::reference_count.
Referenced by BLF_load(), blf_load_font_default(), and uiStyleInit().
Set a 4x4 matrix to be multiplied before draw the text. Remember that you need call BLF_enable(BLF_MATRIX) to enable this.
The order of the matrix is like GL:
Definition at line 299 of file blf.c.
References blf_get(), and FontBLF::m.
void BLF_metrics_attach | ( | int | fontid, |
unsigned char * | mem, | ||
int | mem_size | ||
) |
Attach a file with metrics information from memory.
Definition at line 178 of file blf.c.
References blf_font_attach_from_mem(), and blf_get().
Definition at line 308 of file blf.c.
References FontBLF::aspect, BLF_ASPECT, blf_get(), FontBLF::flags, floorf, FontBLF::pos, round_fl_to_int(), x, y, and z.
Referenced by BKE_image_stamp_buf(), BLF_draw_default(), checker_board_text(), clip_draw_dopesheet_channels(), do_text_effect(), draw_marker_texts(), drw_text_cache_draw_ex(), ED_image_draw_info(), ED_region_cache_draw_curfra_label(), ED_region_info_draw_multiline(), blender::ed::space_node::frame_node_draw_label(), gizmo_axis_draw(), gizmo_ruler_draw(), icon_draw_rect_input_symbol(), icon_draw_rect_input_text(), knifetool_draw_angle(), knifetool_draw_visible_distances(), loggerwindow_do_draw(), metadata_custom_draw_fields(), metadata_draw_imbuf(), playanim_toscreen(), py_blf_position(), radial_control_paint_cursor(), region_draw_status_text(), slider_draw(), text_font_draw(), text_font_draw_character(), text_font_draw_character_utf8(), textview_draw_string(), UI_fontstyle_draw_ex(), UI_fontstyle_draw_rotated(), UI_fontstyle_draw_simple(), UI_fontstyle_draw_simple_backdrop(), UI_panel_category_draw_all(), voxel_size_edit_draw(), and widget_draw_text().
By default, rotation and clipping are disable and have to be enable/disable using BLF_enable/disable.
Definition at line 766 of file blf.c.
References angle(), FontBLF::angle, and blf_get().
Referenced by gizmo_ruler_draw(), knifetool_draw_angle(), knifetool_draw_visible_distances(), py_blf_rotation(), slider_draw(), UI_fontstyle_draw_rotated(), and UI_panel_category_draw_all().
|
static |
Definition at line 98 of file blf.c.
References BLF_MAX_FONT, global_font, FontBLF::name, and STREQ.
Referenced by BLF_is_loaded(), BLF_load(), and BLF_load_mem().
|
static |
Definition at line 110 of file blf.c.
References BLF_MAX_FONT, and global_font.
Referenced by BLF_load_mem_unique(), and BLF_load_unique().
Shadow options, level is the blur level, can be 3, 5 or 0 and the other argument are the RGBA color. Take care that shadow need to be enable using BLF_enable!
Definition at line 796 of file blf.c.
References blf_get(), usdtokens::rgba(), rgba_float_to_uchar(), FontBLF::shadow, and FontBLF::shadow_color.
Referenced by draw_grid_unit_name(), draw_selected_name(), draw_vertical_scale_indicators(), draw_viewport_name(), DRW_draw_region_engine_info(), DRW_stats_draw(), ED_info_draw_stats(), ED_scene_draw_fps(), py_blf_shadow(), UI_fontstyle_draw_ex(), and UI_fontstyle_draw_rotated().
void BLF_shadow_offset | ( | int | fontid, |
int | x, | ||
int | y | ||
) |
Set the offset for shadow text, this is the current cursor position plus this offset, don't need call BLF_position before this function, the current position is calculate only on BLF_draw, so it's safe call this whenever you like.
Definition at line 806 of file blf.c.
References blf_get(), FontBLF::shadow_x, FontBLF::shadow_y, x, and y.
Referenced by draw_grid_unit_name(), draw_selected_name(), draw_vertical_scale_indicators(), draw_viewport_name(), DRW_draw_region_engine_info(), DRW_stats_draw(), ED_info_draw_stats(), ED_scene_draw_fps(), py_blf_shadow_offset(), UI_fontstyle_draw_ex(), and UI_fontstyle_draw_rotated().
Definition at line 363 of file blf.c.
References blf_font_size(), blf_get(), and size().
Referenced by BKE_image_stamp_buf(), BLF_draw_default(), BLF_set_default(), checker_board_text(), clip_draw_dopesheet_channels(), do_text_effect(), draw_marker_texts(), drw_text_cache_draw_ex(), ED_image_draw_info(), ED_region_cache_draw_curfra_label(), ED_region_image_metadata_draw(), blender::ed::space_node::frame_node_draw_label(), get_column_width(), get_index_column_width(), gizmo_axis_draw(), gizmo_ruler_draw(), icon_draw_rect_input_symbol(), icon_draw_rect_input_text(), knifetool_draw_angle(), knifetool_draw_visible_distances(), loggerwindow_new(), py_blf_size(), radial_control_paint_cursor(), text_font_begin(), textview_font_begin(), UI_fontstyle_set(), UI_panel_category_draw_all(), ui_tooltip_create_with_data(), ui_tooltip_region_draw_cb(), voxel_size_edit_draw(), and wm_main_playanim_intern().
void BLF_unload | ( | const char * | name | ) |
Definition at line 225 of file blf.c.
References blf_font_free(), BLF_MAX_FONT, BLI_assert, global_font, FontBLF::name, NULL, FontBLF::reference_count, and STREQ.
Referenced by py_blf_unload().
Definition at line 256 of file blf.c.
References BLF_default_set(), blf_font_free(), BLF_MAX_FONT, blf_mono_font, blf_mono_font_render, global_font, and NULL.
Referenced by uiStyleInit().
void BLF_unload_id | ( | int | fontid | ) |
Definition at line 242 of file blf.c.
References blf_font_free(), blf_get(), BLI_assert, global_font, NULL, and FontBLF::reference_count.
Referenced by BKE_blender_userdef_data_free(), and SEQ_effect_text_font_unload().
float BLF_width | ( | int | fontid, |
const char * | str, | ||
const size_t | str_len | ||
) |
Definition at line 688 of file blf.c.
References BLF_width_ex(), NULL, and str.
Referenced by draw_horizontal_scale_indicators(), draw_seq_handle(), ED_image_draw_info(), ED_info_draw_stats(), ED_region_info_draw_multiline(), file_string_width(), blender::ed::space_node::frame_node_draw_label(), get_column_width(), get_index_column_width(), metadata_draw_imbuf(), region_draw_status_text(), ui_block_bounds_calc_text(), ui_draw_menu_item(), UI_fontstyle_draw_ex(), UI_fontstyle_draw_rotated(), UI_fontstyle_draw_simple_backdrop(), UI_fontstyle_string_width(), UI_panel_category_draw_all(), ui_text_clip_cursor(), UI_text_clip_middle_ex(), ui_text_clip_right_label(), ui_textedit_set_cursor_pos(), ui_tooltip_create_with_data(), uiTemplateReportsBanner(), uiTemplateStatusInfo(), and widget_draw_text().
void BLF_width_and_height | ( | int | fontid, |
const char * | str, | ||
size_t | str_len, | ||
float * | r_width, | ||
float * | r_height | ||
) |
The following function return the width and height of the string, but just in one call, so avoid extra freetype2 stuff.
Definition at line 662 of file blf.c.
References blf_font_width_and_height(), blf_get(), NULL, and str.
Referenced by draw_backdrop(), drawAutoKeyWarning(), ED_region_cache_draw_curfra_label(), gizmo_axis_draw(), gizmo_ruler_draw(), icon_draw_rect_input_text(), knifetool_draw_angle(), knifetool_draw_visible_distances(), py_blf_dimensions(), radial_control_paint_cursor(), slider_draw(), ui_draw_preview_item_stateless(), and voxel_size_edit_draw().
The next both function return the width and height of the string, using the current font and both value are multiplied by the aspect of the font.
Definition at line 675 of file blf.c.
References blf_font_width(), blf_get(), BLF_RESULT_CHECK_INIT, and str.
Referenced by BLF_width(), and ui_tooltip_create_with_data().
int BLF_width_max | ( | int | fontid | ) |
Definition at line 733 of file blf.c.
References blf_font_width_max(), and blf_get().
Referenced by BKE_image_stamp_buf(), and do_text_effect().
size_t BLF_width_to_rstrlen | ( | int | fontid, |
const char * | str, | ||
size_t | str_len, | ||
float | width, | ||
float * | r_width | ||
) |
Same as BLF_width_to_strlen but search from the string end.
Definition at line 618 of file blf.c.
References FontBLF::aspect, BLF_ASPECT, blf_font_width_to_rstrlen(), blf_get(), FontBLF::flags, float(), ret, str, and width.
Referenced by UI_text_clip_middle_ex().
size_t BLF_width_to_strlen | ( | int | fontid, |
const char * | str, | ||
size_t | str_len, | ||
float | width, | ||
float * | r_width | ||
) |
Get the string byte offset that fits within a given width.
Definition at line 596 of file blf.c.
References FontBLF::aspect, BLF_ASPECT, blf_font_width_to_strlen(), blf_get(), FontBLF::flags, float(), ret, str, and width.
Referenced by UI_panel_category_draw_all(), UI_text_clip_middle_ex(), ui_text_clip_right_ex(), and ui_text_clip_right_label().
void BLF_wordwrap | ( | int | fontid, |
int | wrap_width | ||
) |
Definition at line 787 of file blf.c.
References blf_get(), FontBLF::wrap_width, and wrap_width().
Referenced by BKE_image_stamp_buf(), do_text_effect(), file_draw_string_multiline(), blender::ed::space_node::frame_node_draw_label(), metadata_box_height_get(), metadata_draw_imbuf(), py_blf_word_wrap(), ui_tooltip_create_with_data(), and ui_tooltip_region_draw_cb().
int blf_mono_font = -1 |
Definition at line 48 of file blf.c.
Referenced by BLF_unload_all(), ED_image_draw_info(), ED_region_image_metadata_draw(), gizmo_ruler_draw(), icon_draw_rect_input_symbol(), knifetool_draw_angle(), knifetool_draw_visible_distances(), text_draw_context_init(), textview_draw(), ui_tooltip_create_with_data(), ui_tooltip_region_draw_cb(), and uiStyleInit().
int blf_mono_font_render = -1 |
Definition at line 49 of file blf.c.
Referenced by BKE_image_stamp_buf(), BLF_unload_all(), checker_board_text(), do_text_effect(), and uiStyleInit().
FontBLF* global_font[BLF_MAX_FONT] = {NULL} |
Definition at line 44 of file blf.c.
Referenced by BLF_cache_clear(), BLF_exit(), blf_get(), blf_glyph_index_from_charcode(), BLF_init(), BLF_load(), BLF_load_mem_unique(), BLF_load_unique(), blf_search(), blf_search_available(), BLF_unload(), BLF_unload_all(), and BLF_unload_id().