move around - flatter.
[profile/ivi/ecore.git] / src / lib / ecore_imf / ecore_imf_private.h
1 #ifndef _ECORE_IMF_PRIVATE_H
2 #define _ECORE_IMF_PRIVATE_H
3
4 #include "Ecore_IMF.h"
5
6 #include "ecore_private.h"
7
8 #define ECORE_MAGIC_CONTEXT 0x56c1b39a
9
10 typedef struct _Ecore_IMF_Module Ecore_IMF_Module;
11
12 struct _Ecore_IMF_Context
13 {
14    ECORE_MAGIC;
15    const Ecore_IMF_Module        *module;
16    const Ecore_IMF_Context_Class *klass;
17    void                          *data;
18    int                            input_mode;
19    int                          (*retrieve_surrounding_func)(void *data, Ecore_IMF_Context *ctx, char **text, int *cursor_pos);
20    void                          *retrieve_surrounding_data;
21 };
22
23 struct _Ecore_IMF_Module
24 {
25    Ecore_Plugin                 *plugin;
26    const Ecore_IMF_Context_Info *info;
27    Ecore_IMF_Context            *(*create)(void);
28 };
29
30 void               ecore_imf_module_init(void);
31 void               ecore_imf_module_shutdown(void);
32 Ecore_List        *ecore_imf_module_available_get(void);
33 Ecore_IMF_Module  *ecore_imf_module_get(const char *ctx_id);
34 Ecore_IMF_Context *ecore_imf_module_context_create(const char *ctx_id);
35 Ecore_List        *ecore_imf_module_context_ids_get(void);
36 Ecore_List        *ecore_imf_module_context_ids_by_canvas_type_get(const char *canvas_type);
37
38 #endif