1 /* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ 2 3 #ifndef __VT_CTL_LOADER_H__ 4 #define __VT_CTL_LOADER_H__ 5 6 #include "vt_line.h" 7 #include "vt_logical_visual.h" 8 #include "vt_shape.h" 9 10 typedef enum vt_ctl_bidi_id { 11 CTL_BIDI_API_COMPAT_CHECK, 12 VT_LINE_SET_USE_BIDI, 13 VT_LINE_BIDI_CONVERT_LOGICAL_CHAR_INDEX_TO_VISUAL, 14 VT_LINE_BIDI_CONVERT_VISUAL_CHAR_INDEX_TO_LOGICAL, 15 VT_LINE_BIDI_COPY_LOGICAL_STR, 16 VT_LINE_BIDI_IS_RTL, 17 VT_SHAPE_ARABIC, 18 VT_IS_ARABIC_COMBINING, 19 VT_IS_RTL_CHAR, 20 VT_BIDI_COPY, 21 VT_BIDI_RESET, 22 VT_LINE_BIDI_NEED_SHAPE, 23 VT_LINE_BIDI_RENDER, 24 VT_LINE_BIDI_VISUAL, 25 VT_LINE_BIDI_LOGICAL, 26 MAX_CTL_BIDI_FUNCS, 27 28 } vt_ctl_bidi_id_t; 29 30 typedef enum vt_ctl_iscii_id { 31 CTL_ISCII_API_COMPAT_CHECK, 32 VT_ISCIIKEY_STATE_NEW, 33 VT_ISCIIKEY_STATE_DESTROY, 34 VT_CONVERT_ASCII_TO_ISCII, 35 VT_LINE_SET_USE_ISCII, 36 VT_LINE_ISCII_CONVERT_LOGICAL_CHAR_INDEX_TO_VISUAL, 37 VT_LINE_ISCII_CONVERT_VISUAL_CHAR_INDEX_TO_LOGICAL, 38 VT_SHAPE_ISCII, 39 VT_ISCII_COPY, 40 VT_ISCII_RESET, 41 VT_LINE_ISCII_NEED_SHAPE, 42 VT_LINE_ISCII_RENDER, 43 VT_LINE_ISCII_VISUAL, 44 VT_LINE_ISCII_LOGICAL, 45 MAX_CTL_ISCII_FUNCS, 46 47 } vt_ctl_iscii_id_t; 48 49 #define CTL_API_VERSION 0x02 50 #define CTL_API_COMPAT_CHECK_MAGIC \ 51 (((CTL_API_VERSION & 0x0f) << 28) | ((sizeof(vt_line_t) & 0xff) << 20)) 52 53 void *vt_load_ctl_bidi_func(vt_ctl_bidi_id_t id); 54 55 void *vt_load_ctl_iscii_func(vt_ctl_iscii_id_t id); 56 57 #endif 58