svn update: 48958 (latest:48959)
[framework/uifw/ecore.git] / src / lib / ecore_imf / ecore_imf_private.h
1 #ifndef _ECORE_IMF_PRIVATE_H
2 #define _ECORE_IMF_PRIVATE_H
3
4 #define ECORE_MAGIC_CONTEXT 0x56c1b39a
5
6 #ifdef ECORE_IMF_DEFAULT_LOG_COLOR
7 #undef ECORE_IMF_DEFAULT_LOG_COLOR
8 #endif
9 #define ECORE_IMF_DEFAULT_LOG_COLOR EINA_COLOR_BLUE
10
11 extern int _ecore_imf_log_dom;
12 #ifdef ERR
13 # undef ERR
14 #endif
15 #define ERR(...) EINA_LOG_DOM_ERR(_ecore_imf_log_dom, __VA_ARGS__)
16
17 #ifdef DBG
18 # undef DBG
19 #endif
20 #define DBG(...) EINA_LOG_DOM_DBG(_ecore_imf_log_dom, __VA_ARGS__)
21
22 #ifdef INF
23 # undef INF
24 #endif
25 #define INF(...) EINA_LOG_DOM_INFO(_ecore_imf_log_dom, __VA_ARGS__)
26
27 #ifdef WRN
28 # undef WRN
29 #endif
30 #define WRN(...) EINA_LOG_DOM_WARN(_ecore_imf_log_dom, __VA_ARGS__)
31
32 #ifdef CRIT
33 # undef CRIT
34 #endif
35 #define CRIT(...) EINA_LOG_DOM_CRIT(_ecore_imf_log_dom, __VA_ARGS__)
36
37 typedef struct _Ecore_IMF_Module Ecore_IMF_Module;
38
39 struct _Ecore_IMF_Context
40 {
41    ECORE_MAGIC;
42    const Ecore_IMF_Module        *module;
43    const Ecore_IMF_Context_Class *klass;
44    void                          *data;
45    int                            input_mode;
46    int                          (*retrieve_surrounding_func)(void *data, Ecore_IMF_Context *ctx, char **text, int *cursor_pos);
47    void                          *retrieve_surrounding_data;
48 };
49
50 struct _Ecore_IMF_Module
51 {
52    const Ecore_IMF_Context_Info *info;
53    Ecore_IMF_Context            *(*create)(void);
54    Ecore_IMF_Context            *(*exit)(void);
55 };
56
57 void               ecore_imf_module_init(void);
58 void               ecore_imf_module_shutdown(void);
59 Eina_List         *ecore_imf_module_available_get(void);
60 Ecore_IMF_Module  *ecore_imf_module_get(const char *ctx_id);
61 Ecore_IMF_Context *ecore_imf_module_context_create(const char *ctx_id);
62 Eina_List         *ecore_imf_module_context_ids_get(void);
63 Eina_List         *ecore_imf_module_context_ids_by_canvas_type_get(const char *canvas_type);
64
65 #endif