Tizen Native API
5.5
|
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.
To input Chinese, Japanese, Korean and other complex languages, the editor widget (as known as entry) should be connected with input method framework.
Each editor widget should have each input context to connect with input service framework.
Key event is processed by input method engine. The result is notified to application through ECORE_IMF_CALLBACK_PREEDIT_CHANGED and ECORE_IMF_CALLBACK_COMMIT event.
The following example demonstrates how to connect input method framework and handle preedit and commit string from input method framework.
Users sometimes wants to send images and other rich content with their input method editor (as known as virtual keyboard or soft keyboard).
According to this requirement, the way to receive the media content URI such as images and other rich content as well as text have been provided since 1.20.
The following code shows how to receive the media content URI.
#include <glib.h> static void _imf_event_commit_content_cb(void *data, Ecore_IMF_Context *ctx, void *event_info) { Ecore_IMF_Event_Commit_Content *commit_content = (Ecore_IMF_Event_Commit_Content *)event_info; if (!commit_content) return; // convert URI to filename gchar *filepath = g_filename_from_uri(commit_content->content_uri, NULL, NULL); printf("filepath : %s, description : %s, mime types : %s\n", filepath, commit_content->description, commit_content->mime_types); // do something to use filepath if (filepath) g_free(filepath); } ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_COMMIT_CONTENT, _imf_event_commit_content_cb, data);
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. | |
EINA_DEPRECATED void | ecore_imf_context_show (Ecore_IMF_Context *ctx) |
Asks the Input Method Context to show itself. | |
EINA_DEPRECATED 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. | |
EINA_DEPRECATED 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. | |
EINA_DEPRECATED 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. | |
Ecore_IMF_Input_Panel_Keyboard_Mode | ecore_imf_context_keyboard_mode_get (Ecore_IMF_Context *ctx) |
Get the keyboard mode on the input panel. | |
void | ecore_imf_context_prediction_hint_set (Ecore_IMF_Context *ctx, const char *prediction_hint) |
Set the prediction hint string to deliver to the input panel. | |
void | ecore_imf_context_mime_type_accept_set (Ecore_IMF_Context *ctx, const char *mime_type) |
Sets the allowed MIME type to deliver to the input panel. | |
void | ecore_imf_context_input_panel_position_set (Ecore_IMF_Context *ctx, int x, int y) |
Sets the x,y coordinates of the input panel. | |
Eina_Bool | ecore_imf_context_prediction_hint_hash_set (Ecore_IMF_Context *ctx, const char *key, const char *value) |
Sets the prediction hint data at the specified key. | |
Eina_Bool | ecore_imf_context_prediction_hint_hash_del (Ecore_IMF_Context *ctx, const char *key) |
Removes the prediction hint data identified by a key. | |
const Eina_Hash * | ecore_imf_context_prediction_hint_hash_get (Ecore_IMF_Context *ctx) |
Gets the hash table of prediction hint data. | |
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 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
typedef enum _Ecore_IMF_Device_Subclass Ecore_IMF_Device_Subclass |
A general subclass of device
Called when a Ecore_IMF event happens.
Enumeration for defining the types of Ecore_IMF_Device_Class.
Enumeration for defining the types of Ecore_IMF_Device_Subclass.
Autocapitalization Types.
Enumeration for defining the types of Ecore_IMF bidirectionality.
Ecore IMF Event callback types.
enum Ecore_IMF_Event_Type |
Ecore IMF event types.
Enumeration for defining the types of Ecore_IMF Input Hints.
ECORE_IMF_INPUT_HINT_NONE |
No active hints
|
ECORE_IMF_INPUT_HINT_AUTO_COMPLETE |
Suggest word auto completion
|
ECORE_IMF_INPUT_HINT_SENSITIVE_DATA |
Typed text should not be stored.
|
ECORE_IMF_INPUT_HINT_MULTILINE |
Multiline text
|
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_DATE |
Autofill hint for a credit card expiration date
|
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_DAY |
Autofill hint for a credit card expiration day
|
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_MONTH |
Autofill hint for a credit card expiration month
|
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_YEAR |
Autofill hint for a credit card expiration year
|
ECORE_IMF_INPUT_HINT_AUTOFILL_CREDIT_CARD_NUMBER |
Autofill hint for a credit card number
|
ECORE_IMF_INPUT_HINT_AUTOFILL_EMAIL_ADDRESS |
Autofill hint for an email address
|
ECORE_IMF_INPUT_HINT_AUTOFILL_NAME |
Autofill hint for a user's real name
|
ECORE_IMF_INPUT_HINT_AUTOFILL_PHONE |
Autofill hint for a phone number
|
ECORE_IMF_INPUT_HINT_AUTOFILL_POSTAL_ADDRESS |
Autofill hint for a postal address
|
ECORE_IMF_INPUT_HINT_AUTOFILL_POSTAL_CODE |
Autofill hint for a postal code
|
ECORE_IMF_INPUT_HINT_AUTOFILL_ID |
Autofill hint for a user's ID
|
enum Ecore_IMF_Input_Mode |
Types for Ecore_IMF input mode
Enum containing input panel events.
Input panel (virtual keyboard) language modes.
Input panel (virtual keyboard) layout types.
Enumeration for defining the types of Ecore_IMF Input Panel layout for normal variation.
Enumeration for defining the types of Ecore_IMF Input Panel layout for numberonly variation.
Enumeration for defining the types of Ecore_IMF Input Panel layout for password variation.
"Return" Key types on the input panel (virtual keyboard).
Enum containing input panel state notifications.
Types for Ecore_IMF keyboard modifiers
Ecore IMF Preedit style types
Ecore_IMF_Context* ecore_imf_context_add | ( | const char * | id | ) |
Creates a new Input Method Context defined by the given id.
id | The Input Method Context id. |
Gets the autocapitalization type.
ctx | An Ecore_IMF_Context. |
ctx
. void ecore_imf_context_autocapital_type_set | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_Autocapital_Type | autocapital_type | ||
) |
Sets the autocapitalization type on the immodule.
ctx | An Ecore_IMF_Context. |
autocapital_type | the autocapitalization type. |
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.
canvas_type | A string containing the canvas type. |
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.
Gets the bidirectionality at the current cursor position.
[in] | ctx | An Ecore_IMF_Context |
void ecore_imf_context_bidi_direction_set | ( | Ecore_IMF_Context * | ctx, |
Ecore_IMF_BiDi_Direction | direction | ||
) |
Sets the bidirectionality at the current cursor position.
[in] | ctx | An Ecore_IMF_Context |
[in] | direction | The direction mode |
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.
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 |
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.
ctx | An Ecore_IMF_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.
ctx | An Ecore_IMF_Context. |
canvas | The client canvas. This may be NULL to indicate that the previous client canvas no longer exists. |
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.
ctx | An Ecore_IMF_Context. |
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.
ctx | An Ecore_IMF_Context. |
window | The client window. This may be NULL to indicate that the previous client window no longer exists. |
Asks the Input Method Context to hide the control panel of using Input Method.
ctx | An Ecore_IMF_Context. |
Asks the Input Method Context to show the control panel of using Input Method.
ctx | An Ecore_IMF_Context. |
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.
ctx | An Ecore_IMF_Context. |
x | cursor x position. |
y | cursor y position. |
w | cursor width. |
h | cursor height. |
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.
ctx | An Ecore_IMF_Context. |
cursor_pos | New cursor position in characters. |
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.
canvas_type | A string containing the 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.
void ecore_imf_context_del | ( | Ecore_IMF_Context * | ctx | ) |
Deletes the given Input Method Context and free its memory.
ctx | An Ecore_IMF_Context. |
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, ECORE_IMF_CALLBACK_DELETE_SURROUNDING, ECORE_IMF_CALLBACK_SELECTION_SET, ECORE_IMF_CALLBACK_PRIVATE_COMMAND_SEND, ECORE_IMF_CALLBACK_COMMIT_CONTENT, ECORE_IMF_CALLBACK_TRANSACTION_START, and ECORE_IMF_CALLBACK_TRANSACTION_END.
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 |
Example
#include <glib.h> // example for handling commit event from input framework 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); // example for receiving media content URI from input framework @code #include <glib.h> static void _imf_event_commit_content_cb(void *data, Ecore_IMF_Context *ctx, void *event_info) { Ecore_IMF_Event_Commit_Content *commit_content = (Ecore_IMF_Event_Commit_Content *)event; if (!commit_content) return; // convert URI to filename gchar *filepath = g_filename_from_uri(commit_content->content_uri, NULL, NULL); printf("filepath : %s, description : %s, mime types : %s\n", filepath, commit_content->description, commit_content->mime_types); // do something to use filepath if (filepath) g_free(filepath); } ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_COMMIT_CONTENT, _imf_event_commit_content_cb, data);
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
.
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 |
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.
ctx | An Ecore_IMF_Context. |
type | The type of event defined by Ecore_IMF_Event_Type. |
event | The event itself. |
EINA_TRUE
if the event was handled; otherwise EINA_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);
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.
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);
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.
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);
EINA_DEPRECATED void ecore_imf_context_hide | ( | Ecore_IMF_Context * | ctx | ) |
Asks the Input Method Context to hide itself.
ctx | An Ecore_IMF_Context. |
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
.
id | The Input Method Context id to query for. |
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); } } }
const Ecore_IMF_Context_Info* ecore_imf_context_info_get | ( | Ecore_IMF_Context * | ctx | ) |
Retrieves the info for the given Input Method Context.
ctx | An Ecore_IMF_Context. |
Gets the value of input hint.
ctx | An Ecore_IMF_Context |
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.
ctx | An Ecore_IMF_Context |
hints | Input hint |
ECORE_IMF_INPUT_HINT_AUTO_COMPLETE
. Gets the input mode being used by the Ecore Input Context.
See ecore_imf_context_input_mode_set for more details.
ctx | An Ecore_IMF_Context. |
ctx
. 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.
ctx | An Ecore_IMF_Context. |
input_mode | The input mode to be used by ctx . |
Gets the caps lock mode on the input panel.
ctx | An Ecore_IMF_Context. |
EINA_TRUE
if the caps lock is turned on. 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.
ctx | An Ecore_IMF_Context. |
mode | Turn on caps lock on the input panel if EINA_TRUE . |
Gets whether the Input Method Context requests to show the input panel automatically.
ctx | An Ecore_IMF_Context. |
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.
ctx | An Ecore_IMF_Context. |
enabled | If true, the input panel will be shown when the widget is clicked or has focus. |
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.
ctx | An Ecore_IMF_Context |
type | event type |
func | the callback function |
data | application-input panel specific data. |
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
.
ctx | Ecore_IMF_Context. |
type | The type of event that will trigger the callback |
value | the event value |
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()
ctx | Ecore_IMF_Context. |
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.
ctx | An Ecore_IMF_Context. |
type | An Ecore_IMF_Input_Panel_Event. |
func | the callback function |
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.
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 |
void ecore_imf_context_input_panel_hide | ( | Ecore_IMF_Context * | ctx | ) |
Asks the Input Method Context to hide the input panel.
ctx | An Ecore_IMF_Context. |
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.
ctx | An Ecore_IMF_Context. |
data | The specific data to be got from the input panel |
len | The length of data |
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.
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 |
Gets the language of the input panel.
See ecore_imf_context_input_panel_language_set for more details.
ctx | An Ecore_IMF_Context. |
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
ctx | An Ecore_IMF_Context. |
lang | Location to store the retrieved language string. The string retrieved must be freed with free(). |
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.
ctx | An Ecore_IMF_Context. |
lang | the language to be set to the input panel. |
Gets the layout of the current active input panel.
ctx | An Ecore_IMF_Context. |
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.
ctx | An Ecore_IMF_Context. |
layout | see Ecore_IMF_Input_Panel_Layout |
Gets the layout variation of the current active input panel.
ctx | An Ecore_IMF_Context. |
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.
ctx | An Ecore_IMF_Context. |
variation | the layout variation |
void ecore_imf_context_input_panel_position_set | ( | Ecore_IMF_Context * | ctx, |
int | x, | ||
int | y | ||
) |
Sets the x,y coordinates of the input panel.
[in] | ctx | An Ecore_IMF_Context |
x | top-left x coordinate of the input panel | |
y | top-left y coordinate of the input panel |
Gets whether the return key on the input panel should be disabled or not.
ctx | An Ecore_IMF_Context. |
EINA_TRUE
if it should be disabled. 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.
ctx | An Ecore_IMF_Context. |
disabled | The state |
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.
ctx | An Ecore_IMF_Context. |
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.
ctx | An Ecore_IMF_Context. |
return_key_type | The type of "return" key on the input panel |
void ecore_imf_context_input_panel_show | ( | Ecore_IMF_Context * | ctx | ) |
Asks the Input Method Context to show the input panel (virtual keyboard).
ctx | An Ecore_IMF_Context. |
Gets whether the Input Method Context should request to show the input panel in case of only an user's explicit Mouse Up event.
ctx | An Ecore_IMF_Context. |
EINA_TRUE
if the input panel will be shown in case of only Mouse up event. 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.
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.) |
Gets state of current active input panel.
ctx | An Ecore_IMF_Context. |
Get the keyboard mode on the input panel.
[in] | ctx | An Ecore_IMF_Context |
void ecore_imf_context_mime_type_accept_set | ( | Ecore_IMF_Context * | ctx, |
const char * | mime_type | ||
) |
Sets the allowed MIME type to deliver to the input panel.
[in] | ctx | An Ecore_IMF_Context |
[in] | mime_type | The allowed MIME type in entry |
Example
const char *mime_type = "text/plain,image/png,application/pdf"; ecore_imf_context_mime_type_accept_set(imf_context, mime_type);
Gets whether the IM context should allow to use the text prediction.
ctx | An Ecore_IMF_Context. |
EINA_TRUE
if it allows to use the text prediction, otherwise EINA_FALSE
. 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.
ctx | An Ecore_IMF_Context. |
prediction | Whether the IM context should allow to use the text prediction. |
Eina_Bool ecore_imf_context_prediction_hint_hash_del | ( | Ecore_IMF_Context * | ctx, |
const char * | key | ||
) |
Removes the prediction hint data identified by a key.
[in] | ctx | An Ecore_IMF_Context |
key | The key of the prediction hint |
EINA_TRUE
on success, EINA_FALSE
otherwiseThis function removes the entry identified by key
from the hash associated ctx
.
const Eina_Hash* ecore_imf_context_prediction_hint_hash_get | ( | Ecore_IMF_Context * | ctx | ) |
Gets the hash table of prediction hint data.
[in] | ctx | An Ecore_IMF_Context |
Eina_Bool ecore_imf_context_prediction_hint_hash_set | ( | Ecore_IMF_Context * | ctx, |
const char * | key, | ||
const char * | value | ||
) |
Sets the prediction hint data at the specified key.
[in] | ctx | An Ecore_IMF_Context |
key | The key of the prediction hint | |
data | The data to replace |
EINA_TRUE
on success, EINA_FALSE
otherwiseThis function modifies the data of key
with data
in the hash associated ctx
. If no entry is found, data
is added to the hash associated ctx
with the key key
. On success this function returns EINA_TRUE, otherwise it returns EINA_FALSE
.
void ecore_imf_context_prediction_hint_set | ( | Ecore_IMF_Context * | ctx, |
const char * | prediction_hint | ||
) |
Set the prediction hint string to deliver to the input panel.
This API can be used when you want to set prediction hint to use intelligent reply suggestion service. The intelligent reply suggestion service generates reply candidates for given prediction hint. Example prediction hint: How are you? -> result: I'm fine, Not bad, I'm all right.
[in] | ctx | An Ecore_IMF_Context |
[in] | prediction_hint | The prediction hint string. |
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.
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. |
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.
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);
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.
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);
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.
ctx | An Ecore_IMF_Context. |
func | The callback to be called. |
data | The data pointer to be passed to func |
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.
ctx | An Ecore_IMF_Context. |
func | The callback to be called. |
data | The data pointer to be passed to func |
EINA_DEPRECATED void ecore_imf_context_show | ( | Ecore_IMF_Context * | ctx | ) |
Asks the Input Method Context to show itself.
ctx | An Ecore_IMF_Context. |
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.
ctx | An Ecore_IMF_Context. |
use_preedit | Whether the IM context should use the preedit string. |