2 * Copyright (c) 2014-2017 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef __TIZEN_UIX_INPUTMETHOD_INTERNAL_H__
18 #define __TIZEN_UIX_INPUTMETHOD_INTERNAL_H__
21 * @file inputmethod_internal.h
22 * @brief This file contains input method internal APIs and related enumeration.
34 * @brief Enumeration for input method optimization hint.
39 IME_OPTIMIZATION_HINT_NONE = 0, /**< No hint provided */
40 IME_OPTIMIZATION_HINT_SHOW_PREPARE, /**< This IME is going to be displayed on screen soon */
41 } ime_optimization_hint_e;
43 typedef struct _ime_context *ime_context_h;
46 * @brief Called when an caps mode is changed.
50 * @privilege %http://tizen.org/privilege/ime
52 * @param[in] mode caps mode
53 * @param[in] user_data User data to be passed from the callback registration function
55 typedef void (*ime_caps_mode_changed_cb)(int mode, void *user_data);
58 * @brief Called when a candidate list provided by IMEngine should be shown.
62 * @privilege %http://tizen.org/privilege/ime
64 * @param[in] context_id The input context identification value of an associated text input UI control
65 * @param[in] user_data User data to be passed from the callback registration function
67 typedef void (*ime_candidate_show_cb)(int context_id, void *user_data);
70 * @brief Called when a candidate list provided by IMEngine should be hidden.
74 * @privilege %http://tizen.org/privilege/ime
76 * @param[in] context_id The input context identification value of an associated text input UI control
77 * @param[in] user_data User data to be passed from the callback registration function
79 typedef void (*ime_candidate_hide_cb)(int context_id, void *user_data);
82 * @brief Called when a candidate list provided by IMEngine is changed.
86 * @privilege %http://tizen.org/privilege/ime
88 * @remarks @a list should not be released.
90 * @param[in] list candidate list
91 * @param[in] user_data User data to be passed from the callback registration function
93 typedef void (*ime_lookup_table_changed_cb)(Eina_List *list, void *user_data);
96 * @brief Called when a optimization hint value is set.
100 * @privilege %http://tizen.org/privilege/ime
102 * @param[in] hint The hint value used for optimization
103 * @param[in] user_data User data to be passed from the callback registration function
105 typedef void (*ime_optimization_hint_set_cb)(ime_optimization_hint_e hint, void *user_data);
108 * @brief Called when a key event is received from external devices or ime_send_key_event().
112 * @privilege %http://tizen.org/privilege/ime
114 * @param[in] key The key event of the keyboard
115 * @param[in] user_data User data to be passed from the callback registration function
117 typedef bool (*ime_process_key_event_with_imengine_cb)(scim::KeyEvent &key, void *user_data);
120 * @brief Called when a autocapital type is set.
124 * @privilege %http://tizen.org/privilege/ime
126 * @param[in] type The autocapital type to be set to the input panel
127 * @param[in] user_data User data to be passed to the callback function
129 typedef void (*ime_autocapital_type_set_cb)(uint32_t type, void *user_data);
132 * @brief Called when a prediction allow is set.
136 * @privilege %http://tizen.org/privilege/ime
138 * @param[in] prediction_allow The prediction allow to be set to the input panel
139 * @param[in] user_data User data to be passed to the callback function
141 typedef void (*ime_prediction_allow_set_cb)(uint32_t prediction_allow, void *user_data);
144 * @brief Called when a trigger property value is set.
148 * @privilege %http://tizen.org/privilege/ime
150 * @param[in] property The trigger property
151 * @param[in] user_data User data to be passed to the callback function
153 typedef void (*ime_trigger_property_set_cb)(const char *property, void *user_data);
156 * @brief Called when a candidate more window is shown.
160 * @privilege %http://tizen.org/privilege/ime
162 * @param[in] user_data User data to be passed to the callback function
164 typedef void (*ime_candidate_more_window_show_cb)(void *user_data);
167 * @brief Called when a candidate more window is hidden.
171 * @privilege %http://tizen.org/privilege/ime
173 * @param[in] user_data User data to be passed to the callback function
175 typedef void (*ime_candidate_more_window_hide_cb)(void *user_data);
178 * @brief Called when an AUX item is selected
182 * @privilege %http://tizen.org/privilege/ime
184 * @param[in] item The AUX item
185 * @param[in] user_data User data to be passed to the callback function
187 typedef void (*ime_aux_select_cb)(uint32_t item, void *user_data);
190 * @brief Called when a candidate item is selected
194 * @privilege %http://tizen.org/privilege/ime
196 * @param[in] item The cadidate item
197 * @param[in] user_data User data to be passed to the callback function
199 typedef void (*ime_candidate_select_cb)(uint32_t item, void *user_data);
202 * @brief Called when a candidate table page is up
206 * @privilege %http://tizen.org/privilege/ime
208 * @param[in] user_data User data to be passed to the callback function
210 typedef void (*ime_candidate_table_page_up_cb)(void *user_data);
213 * @brief Called when a candidate table page is down
217 * @privilege %http://tizen.org/privilege/ime
219 * @param[in] user_data User data to be passed to the callback function
221 typedef void (*ime_candidate_table_page_down_cb)(void *user_data);
224 * @brief Called when a page size of the candidate window is changed.
228 * @privilege %http://tizen.org/privilege/ime
230 * @param[in] size The page size of the candidate window
231 * @param[in] user_data User data to be passed from the callback registration function
233 typedef void (*ime_candidate_table_page_size_chaned_cb)(uint32_t size, void *user_data);
236 * @brief Called when a candidate item layout is set.
240 * @privilege %http://tizen.org/privilege/ime
242 * @param[in] item The candidate item layout
243 * @param[in] user_data User data to be passed to the callback function
245 typedef void (*ime_candidate_item_layout_set_cb)(std::vector<uint32_t> item, void *user_data);
248 * @brief Called when a displayed candidate number is changed.
252 * @privilege %http://tizen.org/privilege/ime
254 * @param[in] page_num The displayed candidate number
255 * @param[in] user_data User data to be passed from the callback registration function
257 typedef void (*ime_displayed_candidate_number_chaned_cb)(uint32_t page_num, void *user_data);
260 * @brief Called when the candidate item is long pressed.
264 * @privilege %http://tizen.org/privilege/ime
266 * @param[in] index The index of the candidate item
267 * @param[in] user_data User data to be passed from the callback registration function
269 typedef void (*ime_candidate_item_long_pressed_cb)(uint32_t index, void *user_data);
272 * @brief Sets @c ime_caps_mode_changed_cb() event callback function.
276 * @privilege %http://tizen.org/privilege/ime
278 * @remarks The ime_caps_mode_changed_cb() callback function is called when an associated text input
279 * UI control sends the change of caps mode.
281 * @param[in] callback_func @c ime_caps_mode_changed_cb() event callback function
282 * @param[in] user_data User data to be passed to the callback function
284 * @return 0 on success, otherwise a negative error value
285 * @retval #IME_ERROR_NONE No error
286 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
287 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
288 * @retval #IME_ERROR_OPERATION_FAILED Operation failed
290 * @post The ime_run() function should be called to start to run IME application's main loop.
294 int ime_event_set_caps_mode_changed_cb(ime_caps_mode_changed_cb callback_func, void *user_data);
297 * @brief Sets @c ime_candidate_show_cb() event callback function.
301 * @privilege %http://tizen.org/privilege/ime
303 * @param[in] callback_func @c ime_candidate_show_cb() event callback function
304 * @param[in] user_data User data to be passed to the callback function
306 * @return 0 on success, otherwise a negative error value
307 * @retval #IME_ERROR_NONE No error
308 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
309 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
310 * @retval #IME_ERROR_OPERATION_FAILED Operation failed
312 * @post The ime_run() function should be called to start to run IME application's main loop.
316 int ime_event_set_candidate_show_cb(ime_candidate_show_cb callback_func, void *user_data);
318 int ime_event_set_candidate_hide_cb(ime_candidate_hide_cb callback_func, void *user_data);
321 * @brief Sets @c ime_lookup_table_changed_cb() event callback function.
325 * @privilege %http://tizen.org/privilege/ime
327 * @remarks The ime_lookup_table_changed_cb() callback function is called when an associated text input
328 * UI control sends the change of caps mode.
330 * @param[in] callback_func @c ime_lookup_table_changed_cb() event callback function
331 * @param[in] user_data User data to be passed to the callback function
333 * @return 0 on success, otherwise a negative error value
334 * @retval #IME_ERROR_NONE No error
335 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
336 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
337 * @retval #IME_ERROR_OPERATION_FAILED Operation failed
339 * @post The ime_run() function should be called to start to run IME application's main loop.
343 int ime_event_set_lookup_table_changed_cb(ime_lookup_table_changed_cb callback_func, void *user_data);
346 * @brief Gets the caps mode information from the given input context.
348 * @details Each edit field has various attributes for input panel. This function can be
349 * called to get the caps mode information in ime_show_cb() callback function.
353 * @privilege %http://tizen.org/privilege/ime
355 * @param[in] context The input context information of an associated text input UI control
356 * @param[out] caps_mode Caps mode information \n @c true to turn on shift mode
357 * text feature if available, @c false to disable the predictive text feature
359 * @return 0 on success, otherwise a negative error value
360 * @retval #IME_ERROR_NONE No error
361 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
362 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
363 * @retval #IME_ERROR_NOT_RUNNING IME main loop isn't started yet
365 * @post Input panel UI should be drawn or operated by this information accordingly.
369 int ime_context_get_caps_mode(ime_context_h context, bool *caps_mode);
372 * @brief Sets keyboard engine.
376 * @privilege %http://tizen.org/privilege/ime
378 * @param[in] engine_id The engine UUID
380 * @return 0 on success, otherwise a negative error value
381 * @retval #IME_ERROR_NONE No error
382 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
383 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
384 * @retval #IME_ERROR_NOT_RUNNING IME main loop isn't started yet
386 int ime_set_imengine(const char *engine_id);
389 * @brief Flushes state in Input Method engine.
393 * @privilege %http://tizen.org/privilege/ime
395 * @return 0 on success, otherwise a negative error value
396 * @retval #IME_ERROR_NONE No error
397 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
398 * @retval #IME_ERROR_NOT_RUNNING IME main loop isn't started yet
400 int ime_flush_imengine(void);
403 * @brief Resets state in Input Method engine.
407 * @privilege %http://tizen.org/privilege/ime
409 * @return 0 on success, otherwise a negative error value
410 * @retval #IME_ERROR_NONE No error
411 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
412 * @retval #IME_ERROR_NOT_RUNNING IME main loop isn't started yet
414 int ime_reset_imengine(void);
417 * @brief Send an Event to IMEngine
421 * @privilege %http://tizen.org/privilege/ime
423 * @return 0 on success, otherwise a negative error value
424 * @param[in] command The command to be sent.
425 * @param[in] value The value corresponding to the command.
427 int ime_send_imengine_event(int command, unsigned int value);
430 * @brief Sends the selected item index in the candidate list.
434 * @privilege %http://tizen.org/privilege/ime
436 * @param[in] index the selected index in the candidate list
438 * @return 0 on success, otherwise a negative error value
439 * @retval #IME_ERROR_NONE No error
440 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
441 * @retval #IME_ERROR_NOT_RUNNING IME main loop isn't started yet
443 int ime_select_candidate(unsigned int index);
446 * @brief Sends the input context event.
450 * @privilege %http://tizen.org/privilege/ime
452 * @param[in] type the event type
453 * @param[in] value the event value
455 * @return 0 on success, otherwise a negative error value
456 * @retval #IME_ERROR_NONE No error
457 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
458 * @retval #IME_ERROR_NOT_RUNNING IME main loop isn't started yet
460 int ime_update_input_context(unsigned int type, unsigned int value);
463 * @brief Requests IME to initialize explicitly.
465 * @details When using ime_run() API, the initialize / prepare / finalize procedures
466 * are processed automatically inside the IME application loop.
467 * But in case of not using ime_run() API, which means the IME application has
468 * its own main loop, these procedures need to be requested explicitly.
472 * @privilege %http://tizen.org/privilege/ime
474 * @return 0 on success, otherwise a negative error value
475 * @retval #IME_ERROR_NONE No error
476 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
478 int ime_initialize(void);
481 * @brief Requests IME to prepare resources such as IME window and socket connection.
483 * @details Like ime_initialize() function, this procedure is automatically processed
484 * when using ime_run() API. Call this function only when ime_run() is not used and
485 * the IME application has to handle main loop by itself.
489 * @privilege %http://tizen.org/privilege/ime
491 * @return 0 on success, otherwise a negative error value
492 * @retval #IME_ERROR_NONE No error
493 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
494 * @retval #IME_ERROR_OPERATION_FAILED Operation failed
496 int ime_prepare(void);
499 * @brief Requests IME to finalize explicitly.
503 * @privilege %http://tizen.org/privilege/ime
505 * @return 0 on success, otherwise a negative error value
506 * @retval #IME_ERROR_NONE No error
507 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
509 int ime_finalize(void);
512 * @brief Sets flag whether IME is called from dotnet.
516 * @privilege %http://tizen.org/privilege/ime
518 * @param[in] set Set with Dotnet mode
519 * @return 0 on success, otherwise a negative error value
520 * @retval #IME_ERROR_NONE No error
521 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
523 int ime_set_dotnet_flag(bool set);
526 * @brief Sets flag whether creating IME window should be deferred until there is a access request.
530 * @privilege %http://tizen.org/privilege/ime
532 * @param[in] flag true if deferring window creation is desired
533 * @return 0 on success, otherwise a negative error value
534 * @retval #IME_ERROR_NONE No error
535 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
537 int ime_set_window_creation_defer_flag(bool flag);
540 * @brief Sets @c ime_optimization_hint_set_cb() event callback function.
544 * @privilege %http://tizen.org/privilege/ime
546 * @remarks The ime_optimization_hint_set_cb() callback function is called when an optimization hint is set
548 * @param[in] callback_func @c ime_optimization_hint_set_cb() event callback function
549 * @param[in] user_data User data to be passed to the callback function
551 * @return 0 on success, otherwise a negative error value
552 * @retval #IME_ERROR_NONE No error
553 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
554 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
555 * @retval #IME_ERROR_OPERATION_FAILED Operation failed
557 * @post The ime_run() function should be called to start to run IME application's main loop.
561 int ime_event_set_optimization_hint_set_cb(ime_optimization_hint_set_cb callback_func, void *user_data);
564 * @brief Sets @c ime_process_key_event_with_imengine_cb() event callback function.
568 * @privilege %http://tizen.org/privilege/ime
570 * @remarks The ime_process_key_event_cb() callback function is called when the key event
571 * is received from the external keyboard devices or ime_send_key_event() function.
573 * @param[in] callback_func @c ime_process_key_event_with_imengine_cb() event callback function
574 * @param[in] user_data User data to be passed to the callback function
576 * @return 0 on success, otherwise a negative error value
577 * @retval #IME_ERROR_NONE No error
578 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
579 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
581 * @post The ime_run() function should be called to start to run IME application's main loop.
585 int ime_event_set_process_key_event_with_imengine_cb(ime_process_key_event_with_imengine_cb callback_func, void *user_data);
588 * @brief Sets @c ime_autocapital_type_set_cb() event callback function.
592 * @privilege %http://tizen.org/privilege/ime
594 * @remarks The ime_autocapital_type_set_cb() callback function is called when an optimization hint is set
596 * @param[in] callback_func @c ime_autocapital_type_set_cb() event callback function
597 * @param[in] user_data User data to be passed to the callback function
599 * @return 0 on success, otherwise a negative error value
600 * @retval #IME_ERROR_NONE No error
601 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
602 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
604 * @post The ime_run() function should be called to start to run IME application's main loop.
608 int ime_event_set_autocapital_type_set_cb(ime_autocapital_type_set_cb callback_func, void *user_data);
611 * @brief Sets @c ime_prediction_allow_set_cb() event callback function.
615 * @privilege %http://tizen.org/privilege/ime
617 * @remarks The ime_prediction_allow_set_cb() callback function is called when an optimization hint is set
619 * @param[in] callback_func @c ime_prediction_allow_set_cb() event callback function
620 * @param[in] user_data User data to be passed to the callback function
622 * @return 0 on success, otherwise a negative error value
623 * @retval #IME_ERROR_NONE No error
624 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
625 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
627 * @post The ime_run() function should be called to start to run IME application's main loop.
631 int ime_event_set_prediction_allow_set_cb(ime_prediction_allow_set_cb callback_func, void *user_data);
634 * @brief Sets @c ime_trigger_property_set_cb() event callback function.
638 * @privilege %http://tizen.org/privilege/ime
640 * @param[in] callback_func @c ime_trigger_property_set_cb() event callback function
641 * @param[in] user_data User data to be passed to the callback function
643 * @return 0 on success, otherwise a negative error value
644 * @retval #IME_ERROR_NONE No error
645 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
646 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
648 * @post The ime_run() function should be called to start to run IME application's main loop.
652 int ime_event_set_trigger_property_set_cb(ime_trigger_property_set_cb callback_func, void *user_data);
655 * @brief Sets @c ime_candidate_more_window_show_cb() event callback function.
659 * @privilege %http://tizen.org/privilege/ime
661 * @param[in] callback_func @c ime_candidate_more_window_show_cb() event callback function
662 * @param[in] user_data User data to be passed to the callback function
664 * @return 0 on success, otherwise a negative error value
665 * @retval #IME_ERROR_NONE No error
666 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
667 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
669 * @post The ime_run() function should be called to start to run IME application's main loop.
673 int ime_event_set_candidate_more_window_show_cb(ime_candidate_more_window_show_cb callback_func, void *user_data);
676 * @brief Sets @c ime_candidate_more_window_hide_cb() event callback function.
680 * @privilege %http://tizen.org/privilege/ime
682 * @param[in] callback_func @c ime_candidate_more_window_hide_cb() event callback function
683 * @param[in] user_data User data to be passed to the callback function
685 * @return 0 on success, otherwise a negative error value
686 * @retval #IME_ERROR_NONE No error
687 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
688 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
690 * @post The ime_run() function should be called to start to run IME application's main loop.
694 int ime_event_set_candidate_more_window_hide_cb(ime_candidate_more_window_hide_cb callback_func, void *user_data);
697 * @brief Sets @c ime_aux_select_cb() event callback function.
701 * @privilege %http://tizen.org/privilege/ime
703 * @param[in] callback_func @c ime_aux_select_cb() event callback function
704 * @param[in] user_data User data to be passed to the callback function
706 * @return 0 on success, otherwise a negative error value
707 * @retval #IME_ERROR_NONE No error
708 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
709 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
711 * @post The ime_run() function should be called to start to run IME application's main loop.
715 int ime_event_set_aux_select_cb(ime_aux_select_cb callback_func, void *user_data);
718 * @brief Sets @c ime_candidate_select_cb() event callback function.
722 * @privilege %http://tizen.org/privilege/ime
724 * @param[in] callback_func @c ime_candidate_select_cb() event callback function
725 * @param[in] user_data User data to be passed to the callback function
727 * @return 0 on success, otherwise a negative error value
728 * @retval #IME_ERROR_NONE No error
729 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
730 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
732 * @post The ime_run() function should be called to start to run IME application's main loop.
736 int ime_event_set_candidate_select_cb(ime_candidate_select_cb callback_func, void *user_data);
739 * @brief Sets @c ime_candidate_table_page_up_cb() event callback function.
743 * @privilege %http://tizen.org/privilege/ime
745 * @param[in] callback_func @c ime_candidate_table_page_up_cb() event callback function
746 * @param[in] user_data User data to be passed to the callback function
748 * @return 0 on success, otherwise a negative error value
749 * @retval #IME_ERROR_NONE No error
750 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
751 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
753 * @post The ime_run() function should be called to start to run IME application's main loop.
757 int ime_event_set_candidate_table_page_up_cb(ime_candidate_table_page_up_cb callback_func, void *user_data);
760 * @brief Sets @c ime_candidate_table_page_down_cb() event callback function.
764 * @privilege %http://tizen.org/privilege/ime
766 * @param[in] callback_func @c ime_candidate_table_page_down_cb() event callback function
767 * @param[in] user_data User data to be passed to the callback function
769 * @return 0 on success, otherwise a negative error value
770 * @retval #IME_ERROR_NONE No error
771 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
772 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
774 * @post The ime_run() function should be called to start to run IME application's main loop.
778 int ime_event_set_candidate_table_page_down_cb(ime_candidate_table_page_down_cb callback_func, void *user_data);
781 * @brief Sets @c ime_candidate_table_page_size_chaned_cb() event callback function.
785 * @privilege %http://tizen.org/privilege/ime
787 * @param[in] callback_func @c ime_candidate_table_page_size_chaned_cb() event callback function
788 * @param[in] user_data User data to be passed to the callback function
790 * @return 0 on success, otherwise a negative error value
791 * @retval #IME_ERROR_NONE No error
792 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
793 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
795 * @post The ime_run() function should be called to start to run IME application's main loop.
799 int ime_event_set_candidate_table_page_size_chaned_cb(ime_candidate_table_page_size_chaned_cb callback_func, void *user_data);
802 * @brief Sets @c ime_candidate_item_layout_set_cb() event callback function.
806 * @privilege %http://tizen.org/privilege/ime
808 * @param[in] callback_func @c ime_candidate_item_layout_set_cb() event callback function
809 * @param[in] user_data User data to be passed to the callback function
811 * @return 0 on success, otherwise a negative error value
812 * @retval #IME_ERROR_NONE No error
813 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
814 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
816 * @post The ime_run() function should be called to start to run IME application's main loop.
820 int ime_event_set_candidate_item_layout_set_cb(ime_candidate_item_layout_set_cb callback_func, void *user_data);
823 * @brief Sets @c ime_displayed_candidate_number_chaned_cb() event callback function.
827 * @privilege %http://tizen.org/privilege/ime
829 * @param[in] callback_func @c ime_displayed_candidate_number_chaned_cb() event callback function
830 * @param[in] user_data User data to be passed to the callback function
832 * @return 0 on success, otherwise a negative error value
833 * @retval #IME_ERROR_NONE No error
834 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
835 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
837 * @post The ime_run() function should be called to start to run IME application's main loop.
841 int ime_event_set_displayed_candidate_number_chaned_cb(ime_displayed_candidate_number_chaned_cb callback_func, void *user_data);
844 * @brief Sets @c ime_candidate_item_long_pressed_cb() event callback function.
848 * @privilege %http://tizen.org/privilege/ime
850 * @param[in] callback_func @c ime_candidate_item_long_pressed_cb() event callback function
851 * @param[in] user_data User data to be passed to the callback function
853 * @return 0 on success, otherwise a negative error value
854 * @retval #IME_ERROR_NONE No error
855 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
856 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
858 * @post The ime_run() function should be called to start to run IME application's main loop.
862 int ime_event_set_candidate_item_long_pressed_cb(ime_candidate_item_long_pressed_cb callback_func, void *user_data);
865 * @brief Requests to show aux string.
869 * @privilege %http://tizen.org/privilege/ime
871 * @return 0 on success, otherwise a negative error value
872 * @retval #IME_ERROR_NONE No error
873 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
875 int ime_show_aux_string(void);
878 * @brief Requests to hide aux string.
882 * @privilege %http://tizen.org/privilege/ime
884 * @return 0 on success, otherwise a negative error value
885 * @retval #IME_ERROR_NONE No error
886 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
888 int ime_hide_aux_string(void);
891 * @brief Requests to show lookup table.
895 * @privilege %http://tizen.org/privilege/ime
897 * @return 0 on success, otherwise a negative error value
898 * @retval #IME_ERROR_NONE No error
899 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
901 int ime_show_lookup_table(void);
904 * @brief Requests to hide lookup table.
908 * @privilege %http://tizen.org/privilege/ime
910 * @return 0 on success, otherwise a negative error value
911 * @retval #IME_ERROR_NONE No error
912 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
914 int ime_hide_lookup_table(void);
917 * @brief Requests to update preedit caret.
921 * @privilege %http://tizen.org/privilege/ime
923 * @param[in] caret The preedit caret
925 * @return 0 on success, otherwise a negative error value
926 * @retval #IME_ERROR_NONE No error
927 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
928 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
930 int ime_update_preedit_caret(int caret);
933 * @brief Requests to update preedit string with commit string.
937 * @privilege %http://tizen.org/privilege/ime
939 * @param[in] preedit The UTF-8 string to be updated in preedit
940 * @param[in] commit The UTF-8 string to be committed
941 * @param[in] attrs @a preedit can be composed of multiple string attributes: underline, highlight color and reversal color
942 * @param[in] caret The preedit caret
944 * @return 0 on success, otherwise a negative error value
945 * @retval #IME_ERROR_NONE No error
946 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
947 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
949 int ime_update_preedit_string_with_commit(const char *preedit, const char *commit, scim::AttributeList &attrs, int caret);
952 * @brief Requests to update aux string.
956 * @privilege %http://tizen.org/privilege/ime
958 * @param[in] str The aux string
960 * @return 0 on success, otherwise a negative error value
961 * @retval #IME_ERROR_NONE No error
962 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
963 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
965 int ime_update_aux_string(const char *str);
968 * @brief Requests to update recapture string.
972 * @privilege %http://tizen.org/privilege/ime
974 * @param[in] offset The offset value from the cursor position
975 * @param[in] len The length of the preedit
976 * @param[in] preedit The UTF-8 string to be updated in preedit
977 * @param[in] commit The UTF-8 string to be committed
978 * @param[in] attrs @a preedit can be composed of multiple string attributes: underline, highlight color and reversal color
980 * @return 0 on success, otherwise a negative error value
981 * @retval #IME_ERROR_NONE No error
982 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
983 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
985 int ime_recapture_string(int offset, int len, const char *preedit, const char *commit, scim::AttributeList &attrs);
988 * @brief Requests to update lookup table.
992 * @privilege %http://tizen.org/privilege/ime
994 * @param[in] table The lookup table
996 * @return 0 on success, otherwise a negative error value
997 * @retval #IME_ERROR_NONE No error
998 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
1000 int ime_update_lookup_table(scim::LookupTable &table);
1003 * @brief Requests to register properties.
1007 * @privilege %http://tizen.org/privilege/ime
1009 * @param[in] properties The property list
1011 * @return 0 on success, otherwise a negative error value
1012 * @retval #IME_ERROR_NONE No error
1013 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
1015 int ime_register_properties(scim::PropertyList &properties);
1018 * @brief Requests to update property.
1022 * @privilege %http://tizen.org/privilege/ime
1024 * @param[in] property The imengine property
1026 * @return 0 on success, otherwise a negative error value
1027 * @retval #IME_ERROR_NONE No error
1028 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
1030 int ime_update_property(scim::Property &property);
1033 * @brief Requests to expand candidate.
1037 * @privilege %http://tizen.org/privilege/ime
1039 * @return 0 on success, otherwise a negative error value
1040 * @retval #IME_ERROR_NONE No error
1041 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
1043 int ime_expand_candidate(void);
1046 * @brief Requests to contract candidate.
1050 * @privilege %http://tizen.org/privilege/ime
1052 * @return 0 on success, otherwise a negative error value
1053 * @retval #IME_ERROR_NONE No error
1054 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
1056 int ime_contract_candidate(void);
1059 * @brief Requests to set candidate sytle.
1063 * @privilege %http://tizen.org/privilege/ime
1065 * @param[in] portrait_line The candidate portrait line
1066 * @param[in] mode The candidate mode
1068 * @return 0 on success, otherwise a negative error value
1069 * @retval #IME_ERROR_NONE No error
1070 * @retval #IME_ERROR_PERMISSION_DENIED The application does not have the privilege to call this function
1071 * @retval #IME_ERROR_INVALID_PARAMETER Invalid parameter
1073 int ime_set_candidate_style(scim::ISF_CANDIDATE_PORTRAIT_LINE_T portrait_line, scim::ISF_CANDIDATE_MODE_T mode);
1079 #endif /* __TIZEN_UIX_INPUTMETHOD_INTERNAL_H__ */