Blender V4.5
BKE_vfont.hh File Reference
#include "BLI_sys_types.h"

Go to the source code of this file.

Classes

struct  CharTrans
 
struct  EditFontSelBox
 
struct  EditFont
 

Macros

#define FO_CURS_IS_MOTION(mode)    (ELEM(mode, FO_CURSUP, FO_CURSDOWN, FO_PAGEUP, FO_PAGEDOWN, FO_LINE_BEGIN, FO_LINE_END))
 

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 float cursor_location[2])
 
bool BKE_vfont_to_curve (Object *ob, eEditFontMode mode)
 
void BKE_vfont_char_build (Curve *cu, ListBase *nubase, unsigned int charcode, const CharInfo *info, bool is_smallcaps, float ofsx, float ofsy, float rot, int charidx, float fsize)
 
bool BKE_vfont_to_curve_ex (Object *ob, 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)     (ELEM(mode, FO_CURSUP, FO_CURSDOWN, FO_PAGEUP, FO_PAGEDOWN, FO_LINE_BEGIN, FO_LINE_END))

BKE_vfont_to_curve will move the cursor in these cases.

Definition at line 90 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 76 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 382 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 278 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 ( Curve * cu,
ListBase * nubase,
unsigned int charcode,
const CharInfo * info,
bool is_smallcaps,
float ofsx,
float ofsy,
float rot,
int charidx,
float fsize )

◆ BKE_vfont_clipboard_free()

void BKE_vfont_clipboard_free ( )

Definition at line 467 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 505 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 377 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 1927 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()

◆ BKE_vfont_to_curve_nubase()

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