27#define LV_BIDI_LRO "\xE2\x80\xAD"
28#define LV_BIDI_RLO "\xE2\x80\xAE"
34 LV_BASE_DIR_LTR = 0x00,
35 LV_BASE_DIR_RTL = 0x01,
36 LV_BASE_DIR_AUTO = 0x02,
38 LV_BASE_DIR_NEUTRAL = 0x20,
39 LV_BASE_DIR_WEAK = 0x21,
42typedef uint8_t lv_base_dir_t;
56void _lv_bidi_process(
const char * str_in,
char * str_out, lv_base_dir_t base_dir);
63lv_base_dir_t _lv_bidi_detect_base_dir(
const char * txt);
77uint16_t _lv_bidi_get_logical_pos(
const char * str_in,
char ** bidi_txt, uint32_t len, lv_base_dir_t base_dir,
78 uint32_t visual_pos,
bool * is_rtl);
92uint16_t _lv_bidi_get_visual_pos(
const char * str_in,
char ** bidi_txt, uint16_t len, lv_base_dir_t base_dir,
93 uint32_t logical_pos,
bool * is_rtl);
105void _lv_bidi_process_paragraph(
const char * str_in,
char * str_out, uint32_t len, lv_base_dir_t base_dir,
106 uint16_t * pos_conv_out, uint16_t pos_conv_len);
114void lv_bidi_calculate_align(lv_text_align_t * align, lv_base_dir_t * base_dir,
const char * txt);
129static inline void lv_bidi_calculate_align(lv_text_align_t * align, lv_base_dir_t * base_dir,
const char * txt)
@ LV_TEXT_ALIGN_LEFT
Definition lv_txt.h:62
@ LV_TEXT_ALIGN_AUTO
Definition lv_txt.h:61