summaryrefslogtreecommitdiff
path: root/legacy/ecore/src/lib/ecore_imf/ecore_imf_private.h
blob: 8980172fdabe9b0addb1dbdce7feabea5e4470b7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef _ECORE_IMF_PRIVATE_H
#define _ECORE_IMF_PRIVATE_H

#include "Ecore_IMF.h"

#include "ecore_private.h"

#define ECORE_MAGIC_CONTEXT 0x56c1b39a

typedef struct _Ecore_IMF_Module Ecore_IMF_Module;

struct _Ecore_IMF_Context
{
   ECORE_MAGIC;
   const Ecore_IMF_Context_Class *klass;
   void                          *data;
   int                            input_mode;
   int                          (*retrieve_surrounding_func)(void *data, Ecore_IMF_Context *ctx, char **text, int *cursor_pos);
   void                          *retrieve_surrounding_data;
};

struct _Ecore_IMF_Module
{
   Ecore_Plugin                 *plugin;
   const Ecore_IMF_Context_Info *info;
   Ecore_IMF_Context            *(*create)(void);
};

void               ecore_imf_module_init(void);
void               ecore_imf_module_shutdown(void);
Ecore_List        *ecore_imf_module_available_get(void);
Ecore_IMF_Module  *ecore_imf_module_get(const char *ctx_id);
Ecore_IMF_Context *ecore_imf_module_context_create(const char *ctx_id);
Ecore_List        *ecore_imf_module_context_ids_get(void);

#endif