Tizen Native API
3.0
|
Functions that operate on Ecore Input Method Context objects.
Ecore Input Method Context Function defines the interface for EFL input methods. An input method is used by EFL text input widgets like elm_entry (based on edje_entry) to map from key events to Unicode character strings.
The default input method can be set through setting the ECORE_IMF_MODULE environment variable. eg) export ECORE_IMF_MODULE=xim (or scim or ibus)
An input method may consume multiple key events in sequence and finally output the composed result. This is called preediting, and an input method may provide feedback about this process by displaying the intermediate composition states as preedit text.
Immodule is plugin to connect your application and input method framework such as SCIM, ibus, and so on.
ecore_imf_init() should be called to initialize and load immodule.
ecore_imf_shutdown() is used for shutdowning and unloading immodule.
An example of usage of these functions can be found at:
Functions | |
Eina_List * | ecore_imf_context_available_ids_get (void) |
Gets the list of the available Input Method Context ids. | |
Eina_List * | ecore_imf_context_available_ids_by_canvas_type_get (const char *canvas_type) |
Gets the list of the available Input Method Context ids by canvas type. | |
const char * | ecore_imf_context_default_id_get (void) |
Gets the id of the default Input Method Context. The id may to used to create a new instance of an Input Method Context object. | |
const char * | ecore_imf_context_default_id_by_canvas_type_get (const char *canvas_type) |
Gets the id of the default Input Method Context corresponding to a canvas type. The id may be used to create a new instance of an Input Method Context object. | |
const Ecore_IMF_Context_Info * | ecore_imf_context_info_by_id_get (const char *id) |
Retrieves the info for the Input Method Context with id . | |
Ecore_IMF_Context * | ecore_imf_context_add (const char *id) |
Creates a new Input Method Context defined by the given id. | |
const Ecore_IMF_Context_Info * | ecore_imf_context_info_get (Ecore_IMF_Context *ctx) |
Retrieves the info for the given Input Method Context. | |
void | ecore_imf_context_del (Ecore_IMF_Context *ctx) |
Deletes the given Input Method Context and free its memory. | |
void | ecore_imf_context_client_window_set (Ecore_IMF_Context *ctx, void *window) |
Sets the client window for the Input Method Context; this is the Ecore_X_Window when using X11, Ecore_Win32_Window when using Win32, etc. This window is used in order to correctly position status windows, and may also be used for purposes internal to the Input Method Context. | |
void * | ecore_imf_context_client_window_get (Ecore_IMF_Context *ctx) |
Gets the client window of the Input Method Context. | |
void | ecore_imf_context_client_canvas_set (Ecore_IMF_Context *ctx, void *canvas) |
Sets the client canvas for the Input Method Context; this is the canvas in which the input appears. The canvas type can be determined by using the context canvas type. Actually only canvas with type "evas" (Evas *) is supported. This canvas may be used in order to correctly position status windows, and may also be used for purposes internal to the Input Method Context. | |
void * | ecore_imf_context_client_canvas_get (Ecore_IMF_Context *ctx) |
Gets the client canvas of the Input Method Context. | |
void | ecore_imf_context_show (Ecore_IMF_Context *ctx) |
Asks the Input Method Context to show itself. | |
void | ecore_imf_context_hide (Ecore_IMF_Context *ctx) |
Asks the Input Method Context to hide itself. | |
void | ecore_imf_context_preedit_string_get (Ecore_IMF_Context *ctx, char **str, int *cursor_pos) |
Retrieves the current preedit string and cursor position for the Input Method Context. | |
void | ecore_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char **str, Eina_List **attrs, int *cursor_pos) |
Retrieves the current preedit string, attributes and cursor position for the Input Method Context. | |
void | ecore_imf_context_focus_in (Ecore_IMF_Context *ctx) |
Notifies the Input Method Context that the widget to which its correspond has gained focus. | |
void | ecore_imf_context_focus_out (Ecore_IMF_Context *ctx) |
Notifies the Input Method Context that the widget to which its correspond has lost focus. | |
void | ecore_imf_context_reset (Ecore_IMF_Context *ctx) |
Notifies the Input Method Context that a change such as a change in cursor position has been made. This will typically cause the Input Method Context to clear the preedit state or commit the preedit string. | |
void | ecore_imf_context_cursor_position_set (Ecore_IMF_Context *ctx, int cursor_pos) |
Notifies the Input Method Context that a change in the cursor position has been made. | |
void | ecore_imf_context_cursor_location_set (Ecore_IMF_Context *ctx, int x, int y, int w, int h) |
Notifies the Input Method Context that a change in the cursor location has been made. The location is relative to the canvas. The cursor location can be used to determine the position of candidate word window in the immodule. | |
void | ecore_imf_context_use_preedit_set (Ecore_IMF_Context *ctx, Eina_Bool use_preedit) |
Sets whether the IM context should use the preedit string to display feedback. If use_preedit is EINA_FALSE (default is EINA_TRUE ), then the IM context may use some other method to display feedback, such as displaying it in a child of the root window. | |
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) |
Sets the callback to be used on surrounding_get request. | |
void | ecore_imf_context_retrieve_selection_callback_set (Ecore_IMF_Context *ctx, Eina_Bool(*func)(void *data, Ecore_IMF_Context *ctx, char **text), const void *data) |
Sets the callback to be used on selection_get request. | |
void | ecore_imf_context_input_mode_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode) |
Sets the input mode used by the Ecore Input Context. | |
Ecore_IMF_Input_Mode | ecore_imf_context_input_mode_get (Ecore_IMF_Context *ctx) |
Gets the input mode being used by the Ecore Input Context. | |
Eina_Bool | ecore_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event) |
Allows an Ecore Input Context to internally handle an event. If this function returns EINA_TRUE , then no further processing should be done for this event. | |
void | ecore_imf_context_event_callback_add (Ecore_IMF_Context *ctx, Ecore_IMF_Callback_Type type, Ecore_IMF_Event_Cb func, const void *data) |
Adds (registers) a callback function to a given context event. | |
void * | ecore_imf_context_event_callback_del (Ecore_IMF_Context *ctx, Ecore_IMF_Callback_Type type, Ecore_IMF_Event_Cb func) |
Deletes (unregisters) a callback function registered to a given context event. | |
void | ecore_imf_context_prediction_allow_set (Ecore_IMF_Context *ctx, Eina_Bool prediction) |
Sets whether the IM context should allow to use the text prediction. If prediction is EINA_FALSE (default is EINA_TRUE ), then the IM context will not display the text prediction window. | |
Eina_Bool | ecore_imf_context_prediction_allow_get (Ecore_IMF_Context *ctx) |
Gets whether the IM context should allow to use the text prediction. | |
void | ecore_imf_context_autocapital_type_set (Ecore_IMF_Context *ctx, Ecore_IMF_Autocapital_Type autocapital_type) |
Sets the autocapitalization type on the immodule. | |
Ecore_IMF_Autocapital_Type | ecore_imf_context_autocapital_type_get (Ecore_IMF_Context *ctx) |
Gets the autocapitalization type. | |
void | ecore_imf_context_input_hint_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Hints hints) |
Sets the input hint which allows input methods to fine-tune their behavior. | |
Ecore_IMF_Input_Hints | ecore_imf_context_input_hint_get (Ecore_IMF_Context *ctx) |
Gets the value of input hint. | |
void | ecore_imf_context_control_panel_show (Ecore_IMF_Context *ctx) |
Asks the Input Method Context to show the control panel of using Input Method. | |
void | ecore_imf_context_control_panel_hide (Ecore_IMF_Context *ctx) |
Asks the Input Method Context to hide the control panel of using Input Method. | |
void | ecore_imf_context_input_panel_show (Ecore_IMF_Context *ctx) |
Asks the Input Method Context to show the input panel (virtual keyboard). | |
void | ecore_imf_context_input_panel_hide (Ecore_IMF_Context *ctx) |
Asks the Input Method Context to hide the input panel. | |
void | ecore_imf_context_input_panel_layout_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout) |
Sets the layout of the input panel. | |
Ecore_IMF_Input_Panel_Layout | ecore_imf_context_input_panel_layout_get (Ecore_IMF_Context *ctx) |
Gets the layout of the current active input panel. | |
void | ecore_imf_context_input_panel_layout_variation_set (Ecore_IMF_Context *ctx, int variation) |
Sets the layout variation of the current active input panel. | |
int | ecore_imf_context_input_panel_layout_variation_get (Ecore_IMF_Context *ctx) |
Gets the layout variation of the current active input panel. | |
void | ecore_imf_context_input_panel_language_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang) |
Sets the language of the input panel. This API can be used when you want to show the English keyboard. | |
Ecore_IMF_Input_Panel_Lang | ecore_imf_context_input_panel_language_get (Ecore_IMF_Context *ctx) |
Gets the language of the input panel. | |
void | ecore_imf_context_input_panel_enabled_set (Ecore_IMF_Context *ctx, Eina_Bool enabled) |
Sets whether the Input Method Context should request to show the input panel automatically when the widget has focus. | |
Eina_Bool | ecore_imf_context_input_panel_enabled_get (Ecore_IMF_Context *ctx) |
Gets whether the Input Method Context requests to show the input panel automatically. | |
void | ecore_imf_context_input_panel_imdata_set (Ecore_IMF_Context *ctx, const void *data, int len) |
Sets the input panel-specific data to deliver to the input panel. This API is used by applications to deliver specific data to the input panel. The data format MUST be negotiated by both application and the input panel. The size and format of data are defined by the input panel. | |
void | ecore_imf_context_input_panel_imdata_get (Ecore_IMF_Context *ctx, void *data, int *len) |
Gets the specific data of the current active input panel. | |
void | ecore_imf_context_input_panel_return_key_type_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type) |
Sets the "return" key type. This type is used to set string or icon on the "return" key of the input panel. | |
Ecore_IMF_Input_Panel_Return_Key_Type | ecore_imf_context_input_panel_return_key_type_get (Ecore_IMF_Context *ctx) |
Gets the "return" key type. | |
void | ecore_imf_context_input_panel_return_key_disabled_set (Ecore_IMF_Context *ctx, Eina_Bool disabled) |
Sets the return key on the input panel to be disabled. | |
Eina_Bool | ecore_imf_context_input_panel_return_key_disabled_get (Ecore_IMF_Context *ctx) |
Gets whether the return key on the input panel should be disabled or not. | |
void | ecore_imf_context_input_panel_caps_lock_mode_set (Ecore_IMF_Context *ctx, Eina_Bool mode) |
Sets the caps lock mode on the input panel. | |
Eina_Bool | ecore_imf_context_input_panel_caps_lock_mode_get (Ecore_IMF_Context *ctx) |
Gets the caps lock mode on the input panel. | |
void | ecore_imf_context_input_panel_geometry_get (Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h) |
Gets the position of the current active input panel. | |
Ecore_IMF_Input_Panel_State | ecore_imf_context_input_panel_state_get (Ecore_IMF_Context *ctx) |
Gets state of current active input panel. | |
void | ecore_imf_context_input_panel_event_callback_add (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, void(*func)(void *data, Ecore_IMF_Context *ctx, int value), const void *data) |
Registers a callback function which will be called if there is change in input panel state,language,mode etc. In order to deregister the callback function Use ecore_imf_context_input_panel_event_callback_del. | |
void | ecore_imf_context_input_panel_event_callback_del (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, void(*func)(void *data, Ecore_IMF_Context *ctx, int value)) |
Unregisters a callback function which will be called if there is change in input panel state, language, mode etc. | |
void | ecore_imf_context_input_panel_event_callback_call (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, int value) |
Calls a given input panel callback on the context ctx . | |
void | ecore_imf_context_input_panel_event_callback_clear (Ecore_IMF_Context *ctx) |
Deletes all input panel callback on the context ctx . | |
void | ecore_imf_context_input_panel_language_locale_get (Ecore_IMF_Context *ctx, char **lang) |
Gets the current language locale of the input panel. | |
void | ecore_imf_context_candidate_panel_geometry_get (Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h) |
Gets the geometry information of the candidate panel. | |
void | ecore_imf_context_input_panel_show_on_demand_set (Ecore_IMF_Context *ctx, Eina_Bool ondemand) |
Sets whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event. It doesn't request to show the input panel even though the Input Method Context has focus. | |
Eina_Bool | ecore_imf_context_input_panel_show_on_demand_get (Ecore_IMF_Context *ctx) |
Gets whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event. | |
void | ecore_imf_context_bidi_direction_set (Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Direction direction) |
Sets the bidirectionality at the current cursor position. | |
Ecore_IMF_BiDi_Direction | ecore_imf_context_bidi_direction_get (Ecore_IMF_Context *ctx) |
Gets the bidirectionality at the current cursor position. | |
Typedefs | |
typedef struct _Ecore_IMF_Context | Ecore_IMF_Context |
typedef struct _Ecore_IMF_Context_Class | Ecore_IMF_Context_Class |
typedef struct _Ecore_IMF_Context_Info | Ecore_IMF_Context_Info |
typedef void(* | Ecore_IMF_Event_Cb )(void *data, Ecore_IMF_Context *ctx, void *event_info) |
Called when a Ecore_IMF event happens. | |
typedef enum _Ecore_IMF_Device_Class | Ecore_IMF_Device_Class |
typedef enum _Ecore_IMF_Device_Subclass | Ecore_IMF_Device_Subclass |
Typedef Documentation
typedef struct _Ecore_IMF_Context Ecore_IMF_Context |
An Input Method Context
typedef struct _Ecore_IMF_Context_Class Ecore_IMF_Context_Class |
An Input Method Context class
typedef struct _Ecore_IMF_Context_Info Ecore_IMF_Context_Info |
An Input Method Context info
typedef enum _Ecore_IMF_Device_Class Ecore_IMF_Device_Class |
A general class of device
- Since (EFL) :
- 1.14
typedef enum _Ecore_IMF_Device_Subclass Ecore_IMF_Device_Subclass |
A general subclass of device
- Since (EFL) :
- 1.14
Called when a Ecore_IMF event happens.
Enumeration Type Documentation
anonymous enum |
- Enumerator:
anonymous enum |
- Enumerator:
anonymous enum |
- Enumerator:
- Enumerator:
Autocapitalization Types.
- Enumerator:
Enumeration for defining the types of Ecore_IMF bidirectionality.
- Since (EFL) :
- 1.12
Ecore IMF Event callback types.
- Enumerator:
enum Ecore_IMF_Event_Type |
Ecore IMF event types.
- See also:
- ecore_imf_context_filter_event()
- Enumerator:
Enumeration for defining the types of Ecore_IMF Input Hints.
- Since (EFL) :
- 1.12
- Enumerator:
enum Ecore_IMF_Input_Mode |
Types for Ecore_IMF input mode
Enum containing input panel events.
- Enumerator:
Input panel (virtual keyboard) language modes.
Input panel (virtual keyboard) layout types.
- Enumerator:
"Return" Key types on the input panel (virtual keyboard).
- Enumerator:
Enum containing input panel state notifications.
- Enumerator:
Types for Ecore_IMF keyboard modifiers
- Enumerator:
Ecore IMF Preedit style types
- Enumerator:
Function Documentation
Ecore_IMF_Context* ecore_imf_context_add | ( | const char * | id | ) |
Creates a new Input Method Context defined by the given id.
- Parameters:
-
id The Input Method Context id.
- Returns:
- A newly allocated Input Method Context; on failure it returns NULL.
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
Gets the autocapitalization type.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
- The autocapital type being used by
ctx
.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
void ecore_imf_context_autocapital_type_set | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Autocapital_Type | autocapital_type | ||
) |
Sets the autocapitalization type on the immodule.
- Parameters:
-
ctx An Ecore_IMF_Context. autocapital_type the autocapitalization type.
- Note:
- Default type is ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
Eina_List* ecore_imf_context_available_ids_by_canvas_type_get | ( | const char * | canvas_type | ) |
Gets the list of the available Input Method Context ids by canvas type.
Note that the caller is responsible for freeing the Eina_List when finished with it. There is no need to finish the list strings.
- Parameters:
-
canvas_type A string containing the canvas type.
- Returns:
- Return an Eina_List of strings; on failure it returns NULL.
- Since :
- 2.3.1
Eina_List* ecore_imf_context_available_ids_get | ( | void | ) |
Gets the list of the available Input Method Context ids.
Note that the caller is responsible for freeing the Eina_List when finished with it. There is no need to finish the list strings.
- Returns:
- Return an Eina_List of strings; on failure it returns NULL.
- Since :
- 2.3.1
Gets the bidirectionality at the current cursor position.
- Since (EFL) :
- 1.12.0
- Parameters:
-
[in] ctx An Ecore_IMF_Context
- Returns:
- The direction mode
- Since :
- 2.3.1
void ecore_imf_context_bidi_direction_set | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_BiDi_Direction | direction | ||
) |
Sets the bidirectionality at the current cursor position.
- Since (EFL) :
- 1.12.0
- Parameters:
-
[in] ctx An Ecore_IMF_Context [in] direction The direction mode
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
void ecore_imf_context_candidate_panel_geometry_get | ( | Ecore_IMF_Context * | ctx, |
int * | x, | ||
int * | y, | ||
int * | w, | ||
int * | h | ||
) |
Gets the geometry information of the candidate panel.
- Parameters:
-
ctx An Ecore_IMF_Context. x top-left x co-ordinate of the candidate panel y top-left y co-ordinate of the candidate panel w width of the candidate panel h height of the candidate panel
- Since (EFL) :
- 1.3
- Since :
- 2.3.1
void* ecore_imf_context_client_canvas_get | ( | Ecore_IMF_Context * | ctx | ) |
Gets the client canvas of the Input Method Context.
See ecore_imf_context_client_canvas_set for more details.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
- Return the client canvas.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
void ecore_imf_context_client_canvas_set | ( | Ecore_IMF_Context * | ctx, |
void * | canvas | ||
) |
Sets the client canvas for the Input Method Context; this is the canvas in which the input appears. The canvas type can be determined by using the context canvas type. Actually only canvas with type "evas" (Evas *) is supported. This canvas may be used in order to correctly position status windows, and may also be used for purposes internal to the Input Method Context.
- Parameters:
-
ctx An Ecore_IMF_Context. canvas The client canvas. This may be NULL
to indicate that the previous client canvas no longer exists.
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
void* ecore_imf_context_client_window_get | ( | Ecore_IMF_Context * | ctx | ) |
Gets the client window of the Input Method Context.
See ecore_imf_context_client_window_set for more details.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
- Return the client window.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
void ecore_imf_context_client_window_set | ( | Ecore_IMF_Context * | ctx, |
void * | window | ||
) |
Sets the client window for the Input Method Context; this is the Ecore_X_Window when using X11, Ecore_Win32_Window when using Win32, etc. This window is used in order to correctly position status windows, and may also be used for purposes internal to the Input Method Context.
- Parameters:
-
ctx An Ecore_IMF_Context. window The client window. This may be NULL
to indicate that the previous client window no longer exists.
- Since :
- 2.3.1
void ecore_imf_context_control_panel_hide | ( | Ecore_IMF_Context * | ctx | ) |
Asks the Input Method Context to hide the control panel of using Input Method.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
void ecore_imf_context_control_panel_show | ( | Ecore_IMF_Context * | ctx | ) |
Asks the Input Method Context to show the control panel of using Input Method.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
void ecore_imf_context_cursor_location_set | ( | Ecore_IMF_Context * | ctx, |
int | x, | ||
int | y, | ||
int | w, | ||
int | h | ||
) |
Notifies the Input Method Context that a change in the cursor location has been made. The location is relative to the canvas. The cursor location can be used to determine the position of candidate word window in the immodule.
- Parameters:
-
ctx An Ecore_IMF_Context. x cursor x position. y cursor y position. w cursor width. h cursor height.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
void ecore_imf_context_cursor_position_set | ( | Ecore_IMF_Context * | ctx, |
int | cursor_pos | ||
) |
Notifies the Input Method Context that a change in the cursor position has been made.
This function should be called when cursor position is changed or mouse up event is generated. Some input methods that do a heavy job using this event can give a critical performance latency problem. For better typing performance, we suggest that the cursor position change events need to be occurred only if the cursor position is on a confirmed status not on moving status.
- Parameters:
-
ctx An Ecore_IMF_Context. cursor_pos New cursor position in characters.
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
const char* ecore_imf_context_default_id_by_canvas_type_get | ( | const char * | canvas_type | ) |
Gets the id of the default Input Method Context corresponding to a canvas type. The id may be used to create a new instance of an Input Method Context object.
- Parameters:
-
canvas_type A string containing the canvas type.
- Returns:
- Return a string containing the id of the default Input Method Context; on failure it returns NULL.
- Since :
- 2.3.1
const char* ecore_imf_context_default_id_get | ( | void | ) |
Gets the id of the default Input Method Context. The id may to used to create a new instance of an Input Method Context object.
- Returns:
- Return a string containing the id of the default Input Method Context; on failure it returns NULL.
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
void ecore_imf_context_del | ( | Ecore_IMF_Context * | ctx | ) |
Deletes the given Input Method Context and free its memory.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
void ecore_imf_context_event_callback_add | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Callback_Type | type, | ||
Ecore_IMF_Event_Cb | func, | ||
const void * | data | ||
) |
Adds (registers) a callback function to a given context event.
This function adds a function callback to the context ctx
when the event of type type
occurs on it. The function pointer is func
.
The event type type
to trigger the function may be one of ECORE_IMF_CALLBACK_PREEDIT_START, ECORE_IMF_CALLBACK_PREEDIT_END, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, ECORE_IMF_CALLBACK_COMMIT and ECORE_IMF_CALLBACK_DELETE_SURROUNDING.
- Parameters:
-
ctx Ecore_IMF_Context to attach a callback to. type The type of event that will trigger the callback func The (callback) function to be called when the event is triggered data The data pointer to be passed to func
- Since (EFL) :
- 1.2.0
Example
static void _imf_event_commit_cb(void *data, Ecore_IMF_Context *ctx, void *event_info) { char *commit_str = event_info; // something to do } ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_COMMIT, _imf_event_commit_cb, data);
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
void* ecore_imf_context_event_callback_del | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Callback_Type | type, | ||
Ecore_IMF_Event_Cb | func | ||
) |
Deletes (unregisters) a callback function registered to a given context event.
This function removes a function callback from the context ctx
when the event of type type
occurs on it. The function pointer is func
.
- See also:
- ecore_imf_context_event_callback_add() for more details
- Parameters:
-
ctx Ecore_IMF_Context to remove a callback from. type The type of event that was triggering the callback func The (callback) function that was to be called when the event was triggered
- Returns:
- the data pointer
- Since (EFL) :
- 1.2.0
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
Eina_Bool ecore_imf_context_filter_event | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Event_Type | type, | ||
Ecore_IMF_Event * | event | ||
) |
Allows an Ecore Input Context to internally handle an event. If this function returns EINA_TRUE
, then no further processing should be done for this event.
Input methods must be able to accept all types of events (simply returning EINA_FALSE
if the event was not handled), but there is no obligation of any events to be submitted to this function.
- Parameters:
-
ctx An Ecore_IMF_Context. type The type of event defined by Ecore_IMF_Event_Type. event The event itself.
- Returns:
EINA_TRUE
if the event was handled; otherwiseEINA_FALSE
.
Example
static void _key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Key_Down *ev = event_info; if (!ev->key) return; if (imf_context) { Ecore_IMF_Event_Key_Down ecore_ev; ecore_imf_evas_event_key_down_wrap(ev, &ecore_ev); if (ecore_imf_context_filter_event(imf_context, ECORE_IMF_EVENT_KEY_DOWN, (Ecore_IMF_Event *)&ecore_ev)) return; } } evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_DOWN, _key_down_cb, data);
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
void ecore_imf_context_focus_in | ( | Ecore_IMF_Context * | ctx | ) |
Notifies the Input Method Context that the widget to which its correspond has gained focus.
- Parameters:
-
ctx An Ecore_IMF_Context.
Example
static void _focus_in_cb(void *data, Evas_Object *o, const char *emission, const char *source) { Ecore_IMF_Context *imf_context = data; ecore_imf_context_focus_in(imf_context); } evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_IN, _focus_in_cb, imf_context);
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
void ecore_imf_context_focus_out | ( | Ecore_IMF_Context * | ctx | ) |
Notifies the Input Method Context that the widget to which its correspond has lost focus.
- Parameters:
-
ctx An Ecore_IMF_Context.
Example
static void _focus_out_cb(void *data, Evas_Object *o, const char *emission, const char *source) { Ecore_IMF_Context *imf_context = data; ecore_imf_context_reset(imf_context); ecore_imf_context_focus_out(imf_context); } evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_OUT, _focus_out_cb, ed);
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
void ecore_imf_context_hide | ( | Ecore_IMF_Context * | ctx | ) |
const Ecore_IMF_Context_Info* ecore_imf_context_info_by_id_get | ( | const char * | id | ) |
Retrieves the info for the Input Method Context with id
.
- Parameters:
-
id The Input Method Context id to query for.
- Returns:
- Return a Ecore_IMF_Context_Info for the Input Method Context with
id
; on failure it returns NULL.
Example
const char *ctx_id; const Ecore_IMF_Context_Info *ctx_info; Ecore_IMF_Context *imf_context; ctx_id = ecore_imf_context_default_id_get(); if (ctx_id) { ctx_info = ecore_imf_context_info_by_id_get(ctx_id); if (!ctx_info->canvas_type || strcmp(ctx_info->canvas_type, "evas") == 0) { imf_context = ecore_imf_context_add(ctx_id); } else { ctx_id = ecore_imf_context_default_id_by_canvas_type_get("evas"); if (ctx_id) { imf_context = ecore_imf_context_add(ctx_id); } } }
- Since :
- 2.3.1
const Ecore_IMF_Context_Info* ecore_imf_context_info_get | ( | Ecore_IMF_Context * | ctx | ) |
Retrieves the info for the given Input Method Context.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
- Return a Ecore_IMF_Context_Info for the given Input Method Context; on failure it returns NULL.
- Since :
- 2.3.1
Gets the value of input hint.
- Parameters:
-
ctx An Ecore_IMF_Context
- Returns:
- The value of input hint
- Since (EFL) :
- 1.12
- Since :
- 2.3.1
void ecore_imf_context_input_hint_set | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Input_Hints | hints | ||
) |
Sets the input hint which allows input methods to fine-tune their behavior.
- Parameters:
-
ctx An Ecore_IMF_Context hints Input hint
- Note:
- The default input hint is
ECORE_IMF_INPUT_HINT_AUTO_COMPLETE
.
- Since (EFL) :
- 1.12
- Since :
- 2.3.1
Gets the input mode being used by the Ecore Input Context.
See ecore_imf_context_input_mode_set for more details.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
- The input mode being used by
ctx
.
- Since :
- 2.3.1
void ecore_imf_context_input_mode_set | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Input_Mode | input_mode | ||
) |
Sets the input mode used by the Ecore Input Context.
The input mode can be one of the input modes defined in Ecore_IMF_Input_Mode. The default input mode is ECORE_IMF_INPUT_MODE_FULL.
- Parameters:
-
ctx An Ecore_IMF_Context. input_mode The input mode to be used by ctx
.
- Since :
- 2.3.1
Gets the caps lock mode on the input panel.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
EINA_TRUE
if the caps lock is turned on.
- Since (EFL) :
- 1.2.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_caps_lock_mode_set | ( | Ecore_IMF_Context * | ctx, |
Eina_Bool | mode | ||
) |
Sets the caps lock mode on the input panel.
- Parameters:
-
ctx An Ecore_IMF_Context. mode Turn on caps lock on the input panel if EINA_TRUE
.
- Since (EFL) :
- 1.2.0
- Since :
- 2.3.1
Gets whether the Input Method Context requests to show the input panel automatically.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
- Return the attribute to show the input panel automatically
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_enabled_set | ( | Ecore_IMF_Context * | ctx, |
Eina_Bool | enabled | ||
) |
Sets whether the Input Method Context should request to show the input panel automatically when the widget has focus.
- Parameters:
-
ctx An Ecore_IMF_Context. enabled If true, the input panel will be shown when the widget is clicked or has focus.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_event_callback_add | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Input_Panel_Event | type, | ||
void(*)(void *data, Ecore_IMF_Context *ctx, int value) | func, | ||
const void * | data | ||
) |
Registers a callback function which will be called if there is change in input panel state,language,mode etc. In order to deregister the callback function Use ecore_imf_context_input_panel_event_callback_del.
- Parameters:
-
ctx An Ecore_IMF_Context type event type func the callback function data application-input panel specific data.
- Since (EFL) :
- 1.3
- Since :
- 2.3.1
void ecore_imf_context_input_panel_event_callback_call | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Input_Panel_Event | type, | ||
int | value | ||
) |
Calls a given input panel callback on the context ctx
.
- Parameters:
-
ctx Ecore_IMF_Context. type The type of event that will trigger the callback value the event value
- Since (EFL) :
- 1.8.0
- Since :
- 2.3.1
Deletes all input panel callback on the context ctx
.
Deletes all input panel callback to be registered by ecore_imf_context_input_panel_event_callback_add()
- Parameters:
-
ctx Ecore_IMF_Context.
- Since (EFL) :
- 1.8.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_event_callback_del | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Input_Panel_Event | type, | ||
void(*)(void *data, Ecore_IMF_Context *ctx, int value) | func | ||
) |
Unregisters a callback function which will be called if there is change in input panel state, language, mode etc.
- Parameters:
-
ctx An Ecore_IMF_Context. type An Ecore_IMF_Input_Panel_Event. func the callback function
- Since (EFL) :
- 1.3
- Since :
- 2.3.1
void ecore_imf_context_input_panel_geometry_get | ( | Ecore_IMF_Context * | ctx, |
int * | x, | ||
int * | y, | ||
int * | w, | ||
int * | h | ||
) |
Gets the position of the current active input panel.
- Parameters:
-
ctx An Ecore_IMF_Context. x top-left x co-ordinate of the input panel y top-left y co-ordinate of the input panel w width of the input panel h height of the input panel
- Since (EFL) :
- 1.3
- Since :
- 2.3.1
void ecore_imf_context_input_panel_hide | ( | Ecore_IMF_Context * | ctx | ) |
Asks the Input Method Context to hide the input panel.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_imdata_get | ( | Ecore_IMF_Context * | ctx, |
void * | data, | ||
int * | len | ||
) |
Gets the specific data of the current active input panel.
- Parameters:
-
ctx An Ecore_IMF_Context. data The specific data to be got from the input panel len The length of data
- Since (EFL) :
- 1.2.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_imdata_set | ( | Ecore_IMF_Context * | ctx, |
const void * | data, | ||
int | len | ||
) |
Sets the input panel-specific data to deliver to the input panel. This API is used by applications to deliver specific data to the input panel. The data format MUST be negotiated by both application and the input panel. The size and format of data are defined by the input panel.
- Parameters:
-
ctx An Ecore_IMF_Context. data The specific data to be set to the input panel. len the length of data, in bytes, to send to the input panel
- Since (EFL) :
- 1.2.0
- Since :
- 2.3.1
Gets the language of the input panel.
See ecore_imf_context_input_panel_language_set for more details.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
- Ecore_IMF_Input_Panel_Lang
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_language_locale_get | ( | Ecore_IMF_Context * | ctx, |
char ** | lang | ||
) |
Gets the current language locale of the input panel.
ex) fr_FR
- Parameters:
-
ctx An Ecore_IMF_Context. lang Location to store the retrieved language string. The string retrieved must be freed with free().
- Since (EFL) :
- 1.3
- Since :
- 2.3.1
void ecore_imf_context_input_panel_language_set | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Input_Panel_Lang | lang | ||
) |
Sets the language of the input panel. This API can be used when you want to show the English keyboard.
- Parameters:
-
ctx An Ecore_IMF_Context. lang the language to be set to the input panel.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
Gets the layout of the current active input panel.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
- layout see Ecore_IMF_Input_Panel_Layout
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_layout_set | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Input_Panel_Layout | layout | ||
) |
Sets the layout of the input panel.
- Parameters:
-
ctx An Ecore_IMF_Context. layout see Ecore_IMF_Input_Panel_Layout
- Note:
- Default layout type is ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
Gets the layout variation of the current active input panel.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
- the layout variation
- Since (EFL) :
- 1.8.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_layout_variation_set | ( | Ecore_IMF_Context * | ctx, |
int | variation | ||
) |
Sets the layout variation of the current active input panel.
- Parameters:
-
ctx An Ecore_IMF_Context. variation the layout variation
- Note:
- Default layout variation type is NORMAL.
- Since (EFL) :
- 1.8.0
- Since :
- 2.3.1
Gets whether the return key on the input panel should be disabled or not.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
EINA_TRUE
if it should be disabled.
- Since (EFL) :
- 1.2.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_return_key_disabled_set | ( | Ecore_IMF_Context * | ctx, |
Eina_Bool | disabled | ||
) |
Sets the return key on the input panel to be disabled.
- Parameters:
-
ctx An Ecore_IMF_Context. disabled The state
- Since (EFL) :
- 1.2.0
- Since :
- 2.3.1
Ecore_IMF_Input_Panel_Return_Key_Type ecore_imf_context_input_panel_return_key_type_get | ( | Ecore_IMF_Context * | ctx | ) |
Gets the "return" key type.
- See also:
- ecore_imf_context_input_panel_return_key_type_set() for more details
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
- The type of "return" key on the input panel
- Since (EFL) :
- 1.2.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_return_key_type_set | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Input_Panel_Return_Key_Type | return_key_type | ||
) |
Sets the "return" key type. This type is used to set string or icon on the "return" key of the input panel.
An input panel displays the string or icon associated with this type.
Regardless of return key type, return key event will be generated when pressing return key.
- Parameters:
-
ctx An Ecore_IMF_Context. return_key_type The type of "return" key on the input panel
- Note:
- Default type is ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT.
- Since (EFL) :
- 1.2.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_show | ( | Ecore_IMF_Context * | ctx | ) |
Asks the Input Method Context to show the input panel (virtual keyboard).
- Parameters:
-
ctx An Ecore_IMF_Context.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
Gets whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
EINA_TRUE
if the input panel will be shown in case of only Mouse up event.
- Since (EFL) :
- 1.8.0
- Since :
- 2.3.1
void ecore_imf_context_input_panel_show_on_demand_set | ( | Ecore_IMF_Context * | ctx, |
Eina_Bool | ondemand | ||
) |
Sets whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event. It doesn't request to show the input panel even though the Input Method Context has focus.
- Parameters:
-
ctx An Ecore_IMF_Context. ondemand If true, the input panel will be shown in case of only Mouse up event. (Focus event will be ignored.)
- Since (EFL) :
- 1.8.0
- Since :
- 2.3.1
Gets state of current active input panel.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
- The state of input panel.
- Since (EFL) :
- 1.3
- Since :
- 2.3.1
Gets whether the IM context should allow to use the text prediction.
- Parameters:
-
ctx An Ecore_IMF_Context.
- Returns:
EINA_TRUE
if it allows to use the text prediction, otherwiseEINA_FALSE
.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
void ecore_imf_context_prediction_allow_set | ( | Ecore_IMF_Context * | ctx, |
Eina_Bool | prediction | ||
) |
Sets whether the IM context should allow to use the text prediction. If prediction
is EINA_FALSE
(default is EINA_TRUE
), then the IM context will not display the text prediction window.
- Parameters:
-
ctx An Ecore_IMF_Context. prediction Whether the IM context should allow to use the text prediction.
- Note:
- Default value is EINA_TRUE.
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
void ecore_imf_context_preedit_string_get | ( | Ecore_IMF_Context * | ctx, |
char ** | str, | ||
int * | cursor_pos | ||
) |
Retrieves the current preedit string and cursor position for the Input Method Context.
- Parameters:
-
ctx An Ecore_IMF_Context. str Location to store the retrieved string. The string retrieved must be freed with free(). cursor_pos Location to store position of cursor (in characters) within the preedit string.
- Since :
- 2.3.1
void ecore_imf_context_preedit_string_with_attributes_get | ( | Ecore_IMF_Context * | ctx, |
char ** | str, | ||
Eina_List ** | attrs, | ||
int * | cursor_pos | ||
) |
Retrieves the current preedit string, attributes and cursor position for the Input Method Context.
- Parameters:
-
ctx An Ecore_IMF_Context. str Location to store the retrieved string. The string retrieved must be freed with free(). attrs An Eina_List of attributes cursor_pos Location to store position of cursor (in characters) within the preedit string.
Example
char *preedit_string; int cursor_pos; Eina_List *attrs = NULL, *l = NULL; Ecore_IMF_Preedit_Attr *attr; ecore_imf_context_preedit_string_with_attributes_get(imf_context, &preedit_string, &attrs, &cursor_pos); if (!preedit_string) return; if (strlen(preedit_string) > 0) { if (attrs) { EINA_LIST_FOREACH(attrs, l, attr) { if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB1) { // Something to do } else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB2) { // Something to do } else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB3) { // Something to do } } } } // delete attribute list EINA_LIST_FREE(attrs, attr) free(attr); free(preedit_string);
- Since (EFL) :
- 1.1.0
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
void ecore_imf_context_reset | ( | Ecore_IMF_Context * | ctx | ) |
Notifies the Input Method Context that a change such as a change in cursor position has been made. This will typically cause the Input Method Context to clear the preedit state or commit the preedit string.
The operation of ecore_imf_context_reset() depends on the specific characteristics of each language. For example, the preedit string is cleared in the Chinese and Japanese Input Method Engine. However, The preedit string is committed and then cleared in the Korean Input Method Engine.
This function should be called in case of the focus-out and mouse down event callback function. In addition, it should be called before inserting some text.
- Parameters:
-
ctx An Ecore_IMF_Context.
Example
static void _focus_out_cb(void *data, Evas_Object *o, const char *emission, const char *source) { Ecore_IMF_Context *imf_context = data; ecore_imf_context_reset(imf_context); ecore_imf_context_focus_out(imf_context); } evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_OUT, _focus_out_cb, imf_context);
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
void ecore_imf_context_retrieve_selection_callback_set | ( | Ecore_IMF_Context * | ctx, |
Eina_Bool(*)(void *data, Ecore_IMF_Context *ctx, char **text) | func, | ||
const void * | data | ||
) |
Sets the callback to be used on selection_get request.
This callback will be called when the Input Method Context module requests the selection context.
- Parameters:
-
ctx An Ecore_IMF_Context. func The callback to be called. data The data pointer to be passed to func
- Since (EFL) :
- 1.9.0
- Since :
- 2.3.1
void ecore_imf_context_retrieve_surrounding_callback_set | ( | Ecore_IMF_Context * | ctx, |
Eina_Bool(*)(void *data, Ecore_IMF_Context *ctx, char **text, int *cursor_pos) | func, | ||
const void * | data | ||
) |
Sets the callback to be used on surrounding_get request.
This callback will be called when the Input Method Context module requests the surrounding context. Input methods typically want context in order to constrain input text based on existing text; this is important for languages such as Thai where only some sequences of characters are allowed.
- Parameters:
-
ctx An Ecore_IMF_Context. func The callback to be called. data The data pointer to be passed to func
- Since :
- 2.3.1
- Examples:
- ecore_imf_example.c.
void ecore_imf_context_show | ( | Ecore_IMF_Context * | ctx | ) |
void ecore_imf_context_use_preedit_set | ( | Ecore_IMF_Context * | ctx, |
Eina_Bool | use_preedit | ||
) |
Sets whether the IM context should use the preedit string to display feedback. If use_preedit
is EINA_FALSE
(default is EINA_TRUE
), then the IM context may use some other method to display feedback, such as displaying it in a child of the root window.
- Parameters:
-
ctx An Ecore_IMF_Context. use_preedit Whether the IM context should use the preedit string.
- Since :
- 2.3.1