Blender V5.0
BKE_vfont.hh File Reference

Go to the source code of this file.

Classes

struct  CharTrans
struct  EditFontSelBox
struct  EditFont

Macros

#define FO_CURS_IS_MOTION(mode)

Enumerations

enum  eEditFontMode {
  FO_EDIT = 0 , FO_CURS = 1 , FO_CURSUP = 2 , FO_CURSDOWN = 3 ,
  FO_DUPLI = 4 , FO_PAGEUP = 8 , FO_PAGEDOWN = 9 , FO_LINE_BEGIN = 10 ,
  FO_LINE_END = 11 , FO_SELCHANGE = 12
}

Functions

VFont API

See vfont.c.

bool BKE_vfont_is_builtin (const VFont *vfont)
void BKE_vfont_builtin_register (const void *mem, int size)
VFontBKE_vfont_builtin_ensure ()
void BKE_vfont_data_ensure (VFont *vfont)
void BKE_vfont_data_free (VFont *vfont)
VFontBKE_vfont_load (Main *bmain, const char *filepath)
VFontBKE_vfont_load_exists_ex (Main *bmain, const char *filepath, bool *r_exists)
VFontBKE_vfont_load_exists (Main *bmain, const char *filepath)
int BKE_vfont_select_get (const Curve *cu, int *r_start, int *r_end)
void BKE_vfont_select_clamp (Curve *cu)
void BKE_vfont_clipboard_free ()
void BKE_vfont_clipboard_set (const char32_t *text_buf, const CharInfo *info_buf, size_t len)
void BKE_vfont_clipboard_get (char32_t **r_text_buf, CharInfo **r_info_buf, size_t *r_len_utf8, size_t *r_len_utf32)
VFont Curve & Text Layout API

See vfont_curve.c.

int BKE_vfont_cursor_to_text_index (Object *ob, const blender::float2 &cursor_location)
bool BKE_vfont_to_curve (Object *ob, eEditFontMode mode)
void BKE_vfont_char_build (const Curve &cu, ListBase *nubase, unsigned int charcode, const CharInfo *info, bool is_smallcaps, const blender::float2 &offset, float rotate, int charidx, float fsize)
bool BKE_vfont_to_curve_ex (Object *ob, const Curve &cu, eEditFontMode mode, ListBase *r_nubase, const char32_t **r_text, int *r_text_len, bool *r_text_free, CharTrans **r_chartransdata, float *r_font_size_eval)
bool BKE_vfont_to_curve_nubase (Object *ob, eEditFontMode mode, ListBase *r_nubase)

Macro Definition Documentation

◆ FO_CURS_IS_MOTION

#define FO_CURS_IS_MOTION ( mode)
Value:
@ FO_PAGEUP
Definition BKE_vfont.hh:83
@ FO_CURSUP
Definition BKE_vfont.hh:80
@ FO_LINE_END
Definition BKE_vfont.hh:86
@ FO_LINE_BEGIN
Definition BKE_vfont.hh:85
@ FO_CURSDOWN
Definition BKE_vfont.hh:81
@ FO_PAGEDOWN
Definition BKE_vfont.hh:84
#define ELEM(...)

BKE_vfont_to_curve will move the cursor in these cases.

Definition at line 91 of file BKE_vfont.hh.

Referenced by move_cursor(), and vfont_to_curve().

Enumeration Type Documentation

◆ eEditFontMode

Enumerator
FO_EDIT 
FO_CURS 
FO_CURSUP 
FO_CURSDOWN 
FO_DUPLI 
FO_PAGEUP 
FO_PAGEDOWN 
FO_LINE_BEGIN 
FO_LINE_END 
FO_SELCHANGE 

Definition at line 77 of file BKE_vfont.hh.

Function Documentation

◆ BKE_vfont_builtin_ensure()

VFont * BKE_vfont_builtin_ensure ( )

Return the built-in VFont, without adding a user (the user-count may be zero). The caller is responsible for adding a user.

Definition at line 386 of file vfont.cc.

References BKE_vfont_is_builtin(), BKE_vfont_load(), BLI_assert, FO_BUILTIN_NAME, G_MAIN, VFont::id, id_us_min(), LISTBASE_FOREACH, and ID::us.

Referenced by BKE_curve_init(), font_unlink_exec(), blender::nodes::node_geo_string_to_curves_cc::node_init(), and txt_add_object().

◆ BKE_vfont_builtin_register()

void BKE_vfont_builtin_register ( const void * mem,
int size )

Definition at line 282 of file vfont.cc.

References builtin_font_data, builtin_font_size, and size().

Referenced by main(), and BlendfileLoadingBaseTest::SetUpTestCase().

◆ BKE_vfont_char_build()

void BKE_vfont_char_build ( const Curve & cu,
ListBase * nubase,
unsigned int charcode,
const CharInfo * info,
bool is_smallcaps,
const blender::float2 & offset,
float rotate,
int charidx,
float fsize )

◆ BKE_vfont_clipboard_free()

void BKE_vfont_clipboard_free ( )

Definition at line 471 of file vfont.cc.

References g_vfont_clipboard, and MEM_SAFE_FREE.

Referenced by BKE_vfont_clipboard_set(), paste_text_exec(), and WM_exit_ex().

◆ BKE_vfont_clipboard_get()

void BKE_vfont_clipboard_get ( char32_t ** r_text_buf,
CharInfo ** r_info_buf,
size_t * r_len_utf8,
size_t * r_len_utf32 )

Definition at line 509 of file vfont.cc.

References g_vfont_clipboard.

Referenced by copy_selection(), paste_selection(), and paste_text_exec().

◆ BKE_vfont_clipboard_set()

void BKE_vfont_clipboard_set ( const char32_t * text_buf,
const CharInfo * info_buf,
size_t len )

◆ BKE_vfont_cursor_to_text_index()

◆ BKE_vfont_data_ensure()

◆ BKE_vfont_data_free()

◆ BKE_vfont_is_builtin()

◆ BKE_vfont_load()

◆ BKE_vfont_load_exists()

VFont * BKE_vfont_load_exists ( Main * bmain,
const char * filepath )

Definition at line 381 of file vfont.cc.

References BKE_vfont_load_exists_ex().

◆ BKE_vfont_load_exists_ex()

VFont * BKE_vfont_load_exists_ex ( Main * bmain,
const char * filepath,
bool * r_exists )

◆ BKE_vfont_select_clamp()

void BKE_vfont_select_clamp ( Curve * cu)

◆ BKE_vfont_select_get()

◆ BKE_vfont_to_curve()

bool BKE_vfont_to_curve ( Object * ob,
eEditFontMode mode )
Warning
Expects to have access to evaluated data (i.e. passed object should be evaluated one).

Definition at line 1921 of file vfont_curve.cc.

References BKE_vfont_to_curve_ex(), Object::data, and Curve::nurb.

Referenced by move_cursor(), and text_update_edited().

◆ BKE_vfont_to_curve_ex()

bool BKE_vfont_to_curve_ex ( Object * ob,
const Curve & cu,
eEditFontMode mode,
ListBase * r_nubase,
const char32_t ** r_text,
int * r_text_len,
bool * r_text_free,
CharTrans ** r_chartransdata,
float * r_font_size_eval )

◆ BKE_vfont_to_curve_nubase()

bool BKE_vfont_to_curve_nubase ( Object * ob,
eEditFontMode mode,
ListBase * r_nubase )