diff options
author | David Walter Seikel | 2012-01-04 18:41:13 +1000 |
---|---|---|
committer | David Walter Seikel | 2012-01-04 18:41:13 +1000 |
commit | dd7595a3475407a7fa96a97393bae8c5220e8762 (patch) | |
tree | e341e911d7eb911a51684a7412ef7f7c7605d28e /libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h | |
parent | Add the skeleton. (diff) | |
download | SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.zip SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.gz SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.bz2 SledjHamr-dd7595a3475407a7fa96a97393bae8c5220e8762.tar.xz |
Add the base Enlightenment Foundation Libraries - eina, eet, evas, ecore, embryo, and edje.
Note that embryo wont be used, but I'm not sure yet if you can build edje without it.
Diffstat (limited to 'libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h')
-rw-r--r-- | libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h | 418 |
1 files changed, 418 insertions, 0 deletions
diff --git a/libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h b/libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h new file mode 100644 index 0000000..21df2a0 --- /dev/null +++ b/libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h | |||
@@ -0,0 +1,418 @@ | |||
1 | #ifndef _ECORE_IMF_H | ||
2 | #define _ECORE_IMF_H | ||
3 | |||
4 | #include <Eina.h> | ||
5 | |||
6 | #ifdef EAPI | ||
7 | # undef EAPI | ||
8 | #endif | ||
9 | |||
10 | #ifdef _WIN32 | ||
11 | # ifdef EFL_ECORE_IMF_BUILD | ||
12 | # ifdef DLL_EXPORT | ||
13 | # define EAPI __declspec(dllexport) | ||
14 | # else | ||
15 | # define EAPI | ||
16 | # endif /* ! DLL_EXPORT */ | ||
17 | # else | ||
18 | # define EAPI __declspec(dllimport) | ||
19 | # endif /* ! EFL_ECORE_IMF_BUILD */ | ||
20 | #else | ||
21 | # ifdef __GNUC__ | ||
22 | # if __GNUC__ >= 4 | ||
23 | # define EAPI __attribute__ ((visibility("default"))) | ||
24 | # else | ||
25 | # define EAPI | ||
26 | # endif | ||
27 | # else | ||
28 | # define EAPI | ||
29 | # endif | ||
30 | #endif /* ! _WIN32 */ | ||
31 | |||
32 | #ifdef __cplusplus | ||
33 | extern "C" { | ||
34 | #endif | ||
35 | |||
36 | /* Events sent by the Input Method */ | ||
37 | typedef struct _Ecore_IMF_Event_Preedit_Start Ecore_IMF_Event_Preedit_Start; | ||
38 | typedef struct _Ecore_IMF_Event_Preedit_End Ecore_IMF_Event_Preedit_End; | ||
39 | typedef struct _Ecore_IMF_Event_Preedit_Changed Ecore_IMF_Event_Preedit_Changed; | ||
40 | typedef struct _Ecore_IMF_Event_Commit Ecore_IMF_Event_Commit; | ||
41 | typedef struct _Ecore_IMF_Event_Delete_Surrounding Ecore_IMF_Event_Delete_Surrounding; | ||
42 | |||
43 | /* Events to filter */ | ||
44 | typedef struct _Ecore_IMF_Event_Mouse_Down Ecore_IMF_Event_Mouse_Down; | ||
45 | typedef struct _Ecore_IMF_Event_Mouse_Up Ecore_IMF_Event_Mouse_Up; | ||
46 | typedef struct _Ecore_IMF_Event_Mouse_In Ecore_IMF_Event_Mouse_In; | ||
47 | typedef struct _Ecore_IMF_Event_Mouse_Out Ecore_IMF_Event_Mouse_Out; | ||
48 | typedef struct _Ecore_IMF_Event_Mouse_Move Ecore_IMF_Event_Mouse_Move; | ||
49 | typedef struct _Ecore_IMF_Event_Mouse_Wheel Ecore_IMF_Event_Mouse_Wheel; | ||
50 | typedef struct _Ecore_IMF_Event_Key_Down Ecore_IMF_Event_Key_Down; | ||
51 | typedef struct _Ecore_IMF_Event_Key_Up Ecore_IMF_Event_Key_Up; | ||
52 | typedef union _Ecore_IMF_Event Ecore_IMF_Event; | ||
53 | |||
54 | typedef struct _Ecore_IMF_Context Ecore_IMF_Context; /**< An Input Method Context */ | ||
55 | typedef struct _Ecore_IMF_Context_Class Ecore_IMF_Context_Class; /**< An Input Method Context class */ | ||
56 | typedef struct _Ecore_IMF_Context_Info Ecore_IMF_Context_Info; /**< An Input Method Context info */ | ||
57 | |||
58 | /* Preedit attribute info */ | ||
59 | typedef struct _Ecore_IMF_Preedit_Attr Ecore_IMF_Preedit_Attr; | ||
60 | |||
61 | EAPI extern int ECORE_IMF_EVENT_PREEDIT_START; | ||
62 | EAPI extern int ECORE_IMF_EVENT_PREEDIT_END; | ||
63 | EAPI extern int ECORE_IMF_EVENT_PREEDIT_CHANGED; | ||
64 | EAPI extern int ECORE_IMF_EVENT_COMMIT; | ||
65 | EAPI extern int ECORE_IMF_EVENT_DELETE_SURROUNDING; | ||
66 | |||
67 | typedef enum | ||
68 | { | ||
69 | ECORE_IMF_EVENT_MOUSE_DOWN, | ||
70 | ECORE_IMF_EVENT_MOUSE_UP, | ||
71 | ECORE_IMF_EVENT_MOUSE_IN, | ||
72 | ECORE_IMF_EVENT_MOUSE_OUT, | ||
73 | ECORE_IMF_EVENT_MOUSE_MOVE, | ||
74 | ECORE_IMF_EVENT_MOUSE_WHEEL, | ||
75 | ECORE_IMF_EVENT_KEY_DOWN, | ||
76 | ECORE_IMF_EVENT_KEY_UP | ||
77 | } Ecore_IMF_Event_Type; | ||
78 | |||
79 | typedef enum | ||
80 | { | ||
81 | ECORE_IMF_KEYBOARD_MODIFIER_NONE = 0, /**< No active modifiers */ | ||
82 | ECORE_IMF_KEYBOARD_MODIFIER_CTRL = 1 << 0, /**< "Control" is pressed */ | ||
83 | ECORE_IMF_KEYBOARD_MODIFIER_ALT = 1 << 1, /**< "Alt" is pressed */ | ||
84 | ECORE_IMF_KEYBOARD_MODIFIER_SHIFT = 1 << 2, /**< "Shift" is pressed */ | ||
85 | ECORE_IMF_KEYBOARD_MODIFIER_WIN = 1 << 3 /**< "Win" (between "Ctrl" and "Alt") is pressed */ | ||
86 | } Ecore_IMF_Keyboard_Modifiers; | ||
87 | |||
88 | typedef enum | ||
89 | { | ||
90 | ECORE_IMF_KEYBOARD_LOCK_NONE = 0, /**< No locks are active */ | ||
91 | ECORE_IMF_KEYBOARD_LOCK_NUM = 1 << 0, /**< "Num" lock is active */ | ||
92 | ECORE_IMF_KEYBOARD_LOCK_CAPS = 1 << 1, /**< "Caps" lock is active */ | ||
93 | ECORE_IMF_KEYBOARD_LOCK_SCROLL = 1 << 2 /**< "Scroll" lock is active */ | ||
94 | } Ecore_IMF_Keyboard_Locks; | ||
95 | |||
96 | typedef enum | ||
97 | { | ||
98 | ECORE_IMF_MOUSE_NONE = 0, /**< A single click */ | ||
99 | ECORE_IMF_MOUSE_DOUBLE_CLICK = 1 << 0, /**< A double click */ | ||
100 | ECORE_IMF_MOUSE_TRIPLE_CLICK = 1 << 1 /**< A triple click */ | ||
101 | } Ecore_IMF_Mouse_Flags; | ||
102 | |||
103 | typedef enum | ||
104 | { | ||
105 | ECORE_IMF_INPUT_MODE_ALPHA = 1 << 0, | ||
106 | ECORE_IMF_INPUT_MODE_NUMERIC = 1 << 1, | ||
107 | ECORE_IMF_INPUT_MODE_SPECIAL = 1 << 2, | ||
108 | ECORE_IMF_INPUT_MODE_HEXA = 1 << 3, | ||
109 | ECORE_IMF_INPUT_MODE_TELE = 1 << 4, | ||
110 | ECORE_IMF_INPUT_MODE_FULL = (ECORE_IMF_INPUT_MODE_ALPHA | ECORE_IMF_INPUT_MODE_NUMERIC | ECORE_IMF_INPUT_MODE_SPECIAL), | ||
111 | ECORE_IMF_INPUT_MODE_INVISIBLE = 1 << 29, | ||
112 | ECORE_IMF_INPUT_MODE_AUTOCAP = 1 << 30 | ||
113 | } Ecore_IMF_Input_Mode; | ||
114 | |||
115 | typedef enum | ||
116 | { | ||
117 | ECORE_IMF_PREEDIT_TYPE_NONE, | ||
118 | ECORE_IMF_PREEDIT_TYPE_SUB1, | ||
119 | ECORE_IMF_PREEDIT_TYPE_SUB2, | ||
120 | ECORE_IMF_PREEDIT_TYPE_SUB3 | ||
121 | } Ecore_IMF_Preedit_Type; | ||
122 | |||
123 | typedef enum | ||
124 | { | ||
125 | ECORE_IMF_AUTOCAPITAL_TYPE_NONE, | ||
126 | ECORE_IMF_AUTOCAPITAL_TYPE_WORD, | ||
127 | ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE, | ||
128 | ECORE_IMF_AUTOCAPITAL_TYPE_ALLCHARACTER | ||
129 | } Ecore_IMF_Autocapital_Type; | ||
130 | |||
131 | typedef enum | ||
132 | { | ||
133 | ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL, /**< Default layout */ | ||
134 | ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBER, /**< Number layout */ | ||
135 | ECORE_IMF_INPUT_PANEL_LAYOUT_EMAIL, /**< Email layout */ | ||
136 | ECORE_IMF_INPUT_PANEL_LAYOUT_URL, /**< URL layout */ | ||
137 | ECORE_IMF_INPUT_PANEL_LAYOUT_PHONENUMBER, /**< Phone Number layout */ | ||
138 | ECORE_IMF_INPUT_PANEL_LAYOUT_IP, /**< IP layout */ | ||
139 | ECORE_IMF_INPUT_PANEL_LAYOUT_MONTH, /**< Month layout */ | ||
140 | ECORE_IMF_INPUT_PANEL_LAYOUT_NUMBERONLY, /**< Number Only layout */ | ||
141 | ECORE_IMF_INPUT_PANEL_LAYOUT_INVALID | ||
142 | } Ecore_IMF_Input_Panel_Layout; | ||
143 | |||
144 | typedef enum | ||
145 | { | ||
146 | ECORE_IMF_INPUT_PANEL_LANG_AUTOMATIC, /**< Automatic */ | ||
147 | ECORE_IMF_INPUT_PANEL_LANG_ALPHABET /**< Alphabet */ | ||
148 | } Ecore_IMF_Input_Panel_Lang; | ||
149 | |||
150 | struct _Ecore_IMF_Event_Preedit_Start | ||
151 | { | ||
152 | Ecore_IMF_Context *ctx; | ||
153 | }; | ||
154 | |||
155 | struct _Ecore_IMF_Event_Preedit_End | ||
156 | { | ||
157 | Ecore_IMF_Context *ctx; | ||
158 | }; | ||
159 | |||
160 | struct _Ecore_IMF_Event_Preedit_Changed | ||
161 | { | ||
162 | Ecore_IMF_Context *ctx; | ||
163 | }; | ||
164 | |||
165 | struct _Ecore_IMF_Event_Commit | ||
166 | { | ||
167 | Ecore_IMF_Context *ctx; | ||
168 | char *str; | ||
169 | }; | ||
170 | |||
171 | struct _Ecore_IMF_Event_Delete_Surrounding | ||
172 | { | ||
173 | Ecore_IMF_Context *ctx; | ||
174 | int offset; | ||
175 | int n_chars; | ||
176 | }; | ||
177 | |||
178 | struct _Ecore_IMF_Event_Mouse_Down | ||
179 | { | ||
180 | int button; /**< The button which has been pressed */ | ||
181 | struct { | ||
182 | int x, y; | ||
183 | } output; | ||
184 | struct { | ||
185 | int x, y; | ||
186 | } canvas; | ||
187 | Ecore_IMF_Keyboard_Modifiers modifiers; /**< The keyboard modifiers active when the event has been emitted */ | ||
188 | Ecore_IMF_Keyboard_Locks locks; /**< The keyboard locks active when the event has been emitted */ | ||
189 | Ecore_IMF_Mouse_Flags flags; /**< The flags corresponding the mouse click (single, double or triple click) */ | ||
190 | unsigned int timestamp; /**< The timestamp when the event occurred */ | ||
191 | }; | ||
192 | |||
193 | struct _Ecore_IMF_Event_Mouse_Up | ||
194 | { | ||
195 | int button; /**< The button which has been pressed */ | ||
196 | struct { | ||
197 | int x, y; | ||
198 | } output; | ||
199 | struct { | ||
200 | int x, y; | ||
201 | } canvas; | ||
202 | Ecore_IMF_Keyboard_Modifiers modifiers; /**< The keyboard modifiers active when the event has been emitted */ | ||
203 | Ecore_IMF_Keyboard_Locks locks; /**< The keyboard locks active when the event has been emitted */ | ||
204 | Ecore_IMF_Mouse_Flags flags; /**< The flags corresponding the mouse click (single, double or triple click) */ | ||
205 | unsigned int timestamp; /**< The timestamp when the event occurred */ | ||
206 | }; | ||
207 | |||
208 | struct _Ecore_IMF_Event_Mouse_In | ||
209 | { | ||
210 | int buttons; | ||
211 | struct { | ||
212 | int x, y; | ||
213 | } output; | ||
214 | struct { | ||
215 | int x, y; | ||
216 | } canvas; | ||
217 | Ecore_IMF_Keyboard_Modifiers modifiers; /**< The keyboard modifiers active when the event has been emitted */ | ||
218 | Ecore_IMF_Keyboard_Locks locks; /**< The keyboard locks active when the event has been emitted */ | ||
219 | unsigned int timestamp; /**< The timestamp when the event occurred */ | ||
220 | }; | ||
221 | |||
222 | struct _Ecore_IMF_Event_Mouse_Out | ||
223 | { | ||
224 | int buttons; | ||
225 | struct { | ||
226 | int x, y; | ||
227 | } output; | ||
228 | struct { | ||
229 | int x, y; | ||
230 | } canvas; | ||
231 | Ecore_IMF_Keyboard_Modifiers modifiers; /**< The keyboard modifiers active when the event has been emitted */ | ||
232 | Ecore_IMF_Keyboard_Locks locks; /**< The keyboard locks active when the event has been emitted */ | ||
233 | unsigned int timestamp; /**< The timestamp when the event occurred */ | ||
234 | }; | ||
235 | |||
236 | struct _Ecore_IMF_Event_Mouse_Move | ||
237 | { | ||
238 | int buttons; | ||
239 | struct { | ||
240 | struct { | ||
241 | int x, y; | ||
242 | } output; | ||
243 | struct { | ||
244 | int x, y; | ||
245 | } canvas; | ||
246 | } cur, prev; | ||
247 | Ecore_IMF_Keyboard_Modifiers modifiers; /**< The keyboard modifiers active when the event has been emitted */ | ||
248 | Ecore_IMF_Keyboard_Locks locks; /**< The keyboard locks active when the event has been emitted */ | ||
249 | unsigned int timestamp; /**< The timestamp when the event occurred */ | ||
250 | }; | ||
251 | |||
252 | struct _Ecore_IMF_Event_Mouse_Wheel | ||
253 | { | ||
254 | int direction; /* 0 = default up/down wheel */ | ||
255 | int z; /* ...,-2,-1 = down, 1,2,... = up */ | ||
256 | struct { | ||
257 | int x, y; | ||
258 | } output; | ||
259 | struct { | ||
260 | int x, y; | ||
261 | } canvas; | ||
262 | Ecore_IMF_Keyboard_Modifiers modifiers; /**< The keyboard modifiers active when the event has been emitted */ | ||
263 | Ecore_IMF_Keyboard_Locks locks; /**< The keyboard locks active when the event has been emitted */ | ||
264 | unsigned int timestamp; /**< The timestamp when the event occurred */ | ||
265 | }; | ||
266 | |||
267 | struct _Ecore_IMF_Event_Key_Down | ||
268 | { | ||
269 | const char *keyname; /**< The string name of the key pressed */ | ||
270 | Ecore_IMF_Keyboard_Modifiers modifiers; /**< The keyboard modifiers active when the event has been emitted */ | ||
271 | Ecore_IMF_Keyboard_Locks locks; /**< The keyboard locks active when the event has been emitted */ | ||
272 | const char *key; /**< The logical key : (eg shift+1 == exclamation) */ | ||
273 | const char *string; /**< A UTF8 string if this keystroke has produced a visible string to be ADDED */ | ||
274 | const char *compose; /**< A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */ | ||
275 | unsigned int timestamp; /**< The timestamp when the event occurred */ | ||
276 | }; | ||
277 | |||
278 | struct _Ecore_IMF_Event_Key_Up | ||
279 | { | ||
280 | const char *keyname; /**< The string name of the key pressed */ | ||
281 | Ecore_IMF_Keyboard_Modifiers modifiers; /**< The keyboard modifiers active when the event has been emitted */ | ||
282 | Ecore_IMF_Keyboard_Locks locks; /**< The keyboard locks active when the event has been emitted */ | ||
283 | const char *key; /**< The logical key : (eg shift+1 == exclamation) */ | ||
284 | const char *string; /**< A UTF8 string if this keystroke has produced a visible string to be ADDED */ | ||
285 | const char *compose; /**< A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */ | ||
286 | unsigned int timestamp; /**< The timestamp when the event occurred */ | ||
287 | }; | ||
288 | |||
289 | union _Ecore_IMF_Event | ||
290 | { | ||
291 | Ecore_IMF_Event_Mouse_Down mouse_down; | ||
292 | Ecore_IMF_Event_Mouse_Up mouse_up; | ||
293 | Ecore_IMF_Event_Mouse_In mouse_in; | ||
294 | Ecore_IMF_Event_Mouse_Out mouse_out; | ||
295 | Ecore_IMF_Event_Mouse_Move mouse_move; | ||
296 | Ecore_IMF_Event_Mouse_Wheel mouse_wheel; | ||
297 | Ecore_IMF_Event_Key_Down key_down; | ||
298 | Ecore_IMF_Event_Key_Up key_up; | ||
299 | }; | ||
300 | |||
301 | struct _Ecore_IMF_Preedit_Attr | ||
302 | { | ||
303 | Ecore_IMF_Preedit_Type preedit_type; | ||
304 | unsigned int start_index; | ||
305 | unsigned int end_index; | ||
306 | }; | ||
307 | |||
308 | struct _Ecore_IMF_Context_Class | ||
309 | { | ||
310 | void (*add) (Ecore_IMF_Context *ctx); | ||
311 | void (*del) (Ecore_IMF_Context *ctx); | ||
312 | void (*client_window_set) (Ecore_IMF_Context *ctx, void *window); | ||
313 | void (*client_canvas_set) (Ecore_IMF_Context *ctx, void *canvas); | ||
314 | void (*show) (Ecore_IMF_Context *ctx); | ||
315 | void (*hide) (Ecore_IMF_Context *ctx); | ||
316 | void (*preedit_string_get) (Ecore_IMF_Context *ctx, char **str, int *cursor_pos); | ||
317 | void (*focus_in) (Ecore_IMF_Context *ctx); | ||
318 | void (*focus_out) (Ecore_IMF_Context *ctx); | ||
319 | void (*reset) (Ecore_IMF_Context *ctx); | ||
320 | void (*cursor_position_set) (Ecore_IMF_Context *ctx, int cursor_pos); | ||
321 | void (*use_preedit_set) (Ecore_IMF_Context *ctx, Eina_Bool use_preedit); | ||
322 | void (*input_mode_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode); | ||
323 | Eina_Bool (*filter_event) (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event); | ||
324 | void (*preedit_string_with_attributes_get) (Ecore_IMF_Context *ctx, char **str, Eina_List **attrs, int *cursor_pos); | ||
325 | void (*prediction_allow_set)(Ecore_IMF_Context *ctx, Eina_Bool prediction); | ||
326 | void (*autocapital_type_set)(Ecore_IMF_Context *ctx, Ecore_IMF_Autocapital_Type autocapital_type); | ||
327 | void (*control_panel_show) (Ecore_IMF_Context *ctx); | ||
328 | void (*control_panel_hide) (Ecore_IMF_Context *ctx); | ||
329 | void (*input_panel_layout_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout); | ||
330 | Ecore_IMF_Input_Panel_Layout (*input_panel_layout_get) (Ecore_IMF_Context *ctx); | ||
331 | void (*input_panel_language_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang); | ||
332 | Ecore_IMF_Input_Panel_Lang (*input_panel_language_get) (Ecore_IMF_Context *ctx); | ||
333 | void (*cursor_location_set) (Ecore_IMF_Context *ctx, int x, int y, int w, int h); | ||
334 | }; | ||
335 | |||
336 | struct _Ecore_IMF_Context_Info | ||
337 | { | ||
338 | const char *id; /* ID */ | ||
339 | const char *description; /* Human readable description */ | ||
340 | const char *default_locales; /* Languages for which this context is the default, separated by : */ | ||
341 | const char *canvas_type; /* The canvas type used by the input method. Eg.: evas */ | ||
342 | int canvas_required; /* Whether the canvas usage is required for this input method */ | ||
343 | }; | ||
344 | |||
345 | EAPI int ecore_imf_init(void); | ||
346 | EAPI int ecore_imf_shutdown(void); | ||
347 | |||
348 | EAPI void ecore_imf_module_register(const Ecore_IMF_Context_Info *info, Ecore_IMF_Context *(*imf_module_create)(void), Ecore_IMF_Context *(*imf_module_exit)(void)); | ||
349 | |||
350 | EAPI Eina_List *ecore_imf_context_available_ids_get(void); | ||
351 | EAPI Eina_List *ecore_imf_context_available_ids_by_canvas_type_get(const char *canvas_type); | ||
352 | EAPI const char *ecore_imf_context_default_id_get(void); | ||
353 | EAPI const char *ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type); | ||
354 | EAPI const Ecore_IMF_Context_Info *ecore_imf_context_info_by_id_get(const char *id); | ||
355 | |||
356 | EAPI Ecore_IMF_Context *ecore_imf_context_add(const char *id); | ||
357 | EAPI const Ecore_IMF_Context_Info *ecore_imf_context_info_get(Ecore_IMF_Context *ctx); | ||
358 | EAPI void ecore_imf_context_del(Ecore_IMF_Context *ctx); | ||
359 | EAPI void ecore_imf_context_client_window_set(Ecore_IMF_Context *ctx, void *window); | ||
360 | EAPI void *ecore_imf_context_client_window_get(Ecore_IMF_Context *ctx); | ||
361 | EAPI void ecore_imf_context_client_canvas_set(Ecore_IMF_Context *ctx, void *canvas); | ||
362 | EAPI void *ecore_imf_context_client_canvas_get(Ecore_IMF_Context *ctx); | ||
363 | EAPI void ecore_imf_context_show(Ecore_IMF_Context *ctx); | ||
364 | EAPI void ecore_imf_context_hide(Ecore_IMF_Context *ctx); | ||
365 | EAPI void ecore_imf_context_preedit_string_get(Ecore_IMF_Context *ctx, char **str, int *cursor_pos); | ||
366 | EAPI void ecore_imf_context_preedit_string_with_attributes_get(Ecore_IMF_Context *ctx, char **str, Eina_List **attrs, int *cursor_pos); | ||
367 | EAPI void ecore_imf_context_focus_in(Ecore_IMF_Context *ctx); | ||
368 | EAPI void ecore_imf_context_focus_out(Ecore_IMF_Context *ctx); | ||
369 | EAPI void ecore_imf_context_reset(Ecore_IMF_Context *ctx); | ||
370 | EAPI void ecore_imf_context_cursor_position_set(Ecore_IMF_Context *ctx, int cursor_pos); | ||
371 | EAPI void ecore_imf_context_cursor_location_set(Ecore_IMF_Context *ctx, int x, int y, int w, int h); | ||
372 | EAPI void ecore_imf_context_use_preedit_set(Ecore_IMF_Context *ctx, Eina_Bool use_preedit); | ||
373 | EAPI void ecore_imf_context_retrieve_surrounding_callback_set(Ecore_IMF_Context *ctx, Eina_Bool (*func)(void *data, Ecore_IMF_Context *ctx, char **text, int *cursor_pos), const void *data); | ||
374 | EAPI void ecore_imf_context_input_mode_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode); | ||
375 | EAPI Ecore_IMF_Input_Mode ecore_imf_context_input_mode_get(Ecore_IMF_Context *ctx); | ||
376 | EAPI Eina_Bool ecore_imf_context_filter_event(Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event); | ||
377 | |||
378 | /* plugin specific functions */ | ||
379 | EAPI Ecore_IMF_Context *ecore_imf_context_new(const Ecore_IMF_Context_Class *ctxc); | ||
380 | EAPI void ecore_imf_context_data_set(Ecore_IMF_Context *ctx, void *data); | ||
381 | EAPI void *ecore_imf_context_data_get(Ecore_IMF_Context *ctx); | ||
382 | EAPI Eina_Bool ecore_imf_context_surrounding_get(Ecore_IMF_Context *ctx, char **text, int *cursor_pos); | ||
383 | EAPI void ecore_imf_context_preedit_start_event_add(Ecore_IMF_Context *ctx); | ||
384 | EAPI void ecore_imf_context_preedit_end_event_add(Ecore_IMF_Context *ctx); | ||
385 | EAPI void ecore_imf_context_preedit_changed_event_add(Ecore_IMF_Context *ctx); | ||
386 | EAPI void ecore_imf_context_commit_event_add(Ecore_IMF_Context *ctx, const char *str); | ||
387 | EAPI void ecore_imf_context_delete_surrounding_event_add(Ecore_IMF_Context *ctx, int offset, int n_chars); | ||
388 | EAPI void ecore_imf_context_prediction_allow_set(Ecore_IMF_Context *ctx, Eina_Bool prediction); | ||
389 | EAPI Eina_Bool ecore_imf_context_prediction_allow_get(Ecore_IMF_Context *ctx); | ||
390 | EAPI void ecore_imf_context_autocapital_type_set(Ecore_IMF_Context *ctx, Ecore_IMF_Autocapital_Type autocapital_type); | ||
391 | EAPI Ecore_IMF_Autocapital_Type ecore_imf_context_autocapital_type_get(Ecore_IMF_Context *ctx); | ||
392 | |||
393 | EAPI void ecore_imf_context_control_panel_show(Ecore_IMF_Context *ctx); | ||
394 | EAPI void ecore_imf_context_control_panel_hide(Ecore_IMF_Context *ctx); | ||
395 | |||
396 | EAPI void ecore_imf_context_input_panel_show(Ecore_IMF_Context *ctx); | ||
397 | EAPI void ecore_imf_context_input_panel_hide(Ecore_IMF_Context *ctx); | ||
398 | EAPI void ecore_imf_context_input_panel_layout_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout); | ||
399 | EAPI Ecore_IMF_Input_Panel_Layout ecore_imf_context_input_panel_layout_get(Ecore_IMF_Context *ctx); | ||
400 | EAPI void ecore_imf_context_input_panel_language_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang); | ||
401 | EAPI Ecore_IMF_Input_Panel_Lang ecore_imf_context_input_panel_language_get(Ecore_IMF_Context *ctx); | ||
402 | EAPI void ecore_imf_context_input_panel_enabled_set(Ecore_IMF_Context *ctx, Eina_Bool enable); | ||
403 | EAPI Eina_Bool ecore_imf_context_input_panel_enabled_get(Ecore_IMF_Context *ctx); | ||
404 | |||
405 | /* The following entry points must be exported by each input method module | ||
406 | */ | ||
407 | |||
408 | /* | ||
409 | * int imf_module_init (const Ecore_IMF_Context_Info **info); | ||
410 | * void imf_module_exit (void); | ||
411 | * Ecore_IMF_Context *imf_module_create (void); | ||
412 | */ | ||
413 | |||
414 | #ifdef __cplusplus | ||
415 | } | ||
416 | #endif | ||
417 | |||
418 | #endif | ||