ecore_imf: update missing Ecore_IMF.h API documentation.

This commit is contained in:
Pierre Le Magourou 2014-10-03 18:28:51 +02:00 committed by Cedric BAIL
parent 55623537ea
commit 4a71cb268f
1 changed files with 172 additions and 37 deletions

View File

@ -78,6 +78,11 @@ extern "C" {
*/
/* ecore_imf_context_input_panel_event_callback_add() flag */
/**
* @typedef Ecore_IMF_Input_Panel_Event
* Enum containing input panel events.
*/
typedef enum
{
ECORE_IMF_INPUT_PANEL_STATE_EVENT, /**< called when the state of the input panel is changed. @since 1.7 */
@ -88,6 +93,10 @@ typedef enum
ECORE_IMF_CANDIDATE_PANEL_GEOMETRY_EVENT /**< called when the size of the candidate word panel is changed. @since 1.7 */
} Ecore_IMF_Input_Panel_Event;
/**
* @typedef Ecore_IMF_Input_Panel_State
* Enum containing input panel state notifications.
*/
typedef enum
{
ECORE_IMF_INPUT_PANEL_STATE_SHOW, /**< Notification after the display of the input panel @since 1.7 */
@ -95,12 +104,20 @@ typedef enum
ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW /**< Notification prior to the display of the input panel @since 1.7 */
} Ecore_IMF_Input_Panel_State;
/**
* @typedef Ecore_IMF_Input_Panel_Shift_Mode
* Enum containing input shift mode states.
*/
typedef enum
{
ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF, /**< @since 1.7 */
ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON /**< @since 1.7 */
} Ecore_IMF_Input_Panel_Shift_Mode;
/**
* @typedef Ecore_IMF_Candidate_Panel_State
* Enum containing candidate word panel state notifications.
*/
typedef enum
{
ECORE_IMF_CANDIDATE_PANEL_SHOW, /**< Notification after the display of the candidate word panel @since 1.7 */
@ -139,6 +156,13 @@ EAPI extern int ECORE_IMF_EVENT_PREEDIT_CHANGED;
EAPI extern int ECORE_IMF_EVENT_COMMIT;
EAPI extern int ECORE_IMF_EVENT_DELETE_SURROUNDING;
/**
* @typedef Ecore_IMF_Event_Cb
*
* @brief Called when a Ecore_IMF event happens.
*
* @see ecore_imf_context_event_callback_add()
*/
typedef void (*Ecore_IMF_Event_Cb) (void *data, Ecore_IMF_Context *ctx, void *event_info);
/**
@ -214,6 +238,10 @@ typedef enum
ECORE_IMF_MOUSE_TRIPLE_CLICK = 1 << 1 /**< A triple click */
} Ecore_IMF_Mouse_Flags;
/**
* @typedef Ecore_IMF_Input_Mode
* Type for Ecore_IMF input mode
*/
typedef enum
{
ECORE_IMF_INPUT_MODE_ALPHA = 1 << 0,
@ -362,27 +390,47 @@ typedef enum
ECORE_IMF_BIDI_DIRECTION_RTL /**< The Right to Left mode @since 1.12 */
} Ecore_IMF_BiDi_Direction;
/**
* @struct _Ecore_IMF_Event_Preedit_Start
* @brief The structure type used with the Preedit_Start Input Method event
*/
struct _Ecore_IMF_Event_Preedit_Start
{
Ecore_IMF_Context *ctx;
};
/**
* @struct _Ecore_IMF_Event_Preedit_End
* @brief The structure type used with the Preedit_End Input Method event
*/
struct _Ecore_IMF_Event_Preedit_End
{
Ecore_IMF_Context *ctx;
};
/**
* @struct _Ecore_IMF_Event_Preedit_Changed
* @brief The structure type used with the Preedit_Changed Input Method event
*/
struct _Ecore_IMF_Event_Preedit_Changed
{
Ecore_IMF_Context *ctx;
};
/**
* @struct _Ecore_IMF_Event_Commit
* @brief The structure type used with the Commit Input Method event
*/
struct _Ecore_IMF_Event_Commit
{
Ecore_IMF_Context *ctx;
char *str;
};
/**
* @struct _Ecore_IMF_Event_Delete_Surrounding
* @brief The structure type used with the Delete_Surrounding Input Method event
*/
struct _Ecore_IMF_Event_Delete_Surrounding
{
Ecore_IMF_Context *ctx;
@ -390,6 +438,10 @@ struct _Ecore_IMF_Event_Delete_Surrounding
int n_chars;
};
/**
* @struct _Ecore_IMF_Event_Selection
* @brief The structure type used with the Selection Input Method event
*/
struct _Ecore_IMF_Event_Selection
{
Ecore_IMF_Context *ctx;
@ -397,6 +449,10 @@ struct _Ecore_IMF_Event_Selection
int end;
};
/**
* @struct _Ecore_IMF_Event_Mouse_Down
* @brief The structure type used with the Mouse_Down event
*/
struct _Ecore_IMF_Event_Mouse_Down
{
int button; /**< The button which has been pressed */
@ -412,6 +468,10 @@ struct _Ecore_IMF_Event_Mouse_Down
unsigned int timestamp; /**< The timestamp when the event occurred */
};
/**
* @struct _Ecore_IMF_Event_Mouse_Up
* @brief The structure type used with the Mouse_Up event
*/
struct _Ecore_IMF_Event_Mouse_Up
{
int button; /**< The button which has been pressed */
@ -427,6 +487,10 @@ struct _Ecore_IMF_Event_Mouse_Up
unsigned int timestamp; /**< The timestamp when the event occurred */
};
/**
* @struct _Ecore_IMF_Event_Mouse_In
* @brief The structure type used with the Mouse_In event
*/
struct _Ecore_IMF_Event_Mouse_In
{
int buttons;
@ -441,6 +505,10 @@ struct _Ecore_IMF_Event_Mouse_In
unsigned int timestamp; /**< The timestamp when the event occurred */
};
/**
* @struct _Ecore_IMF_Event_Mouse_Out
* @brief The structure type used with the Mouse_Out event
*/
struct _Ecore_IMF_Event_Mouse_Out
{
int buttons;
@ -455,6 +523,10 @@ struct _Ecore_IMF_Event_Mouse_Out
unsigned int timestamp; /**< The timestamp when the event occurred */
};
/**
* @struct _Ecore_IMF_Event_Mouse_Move
* @brief The structure type used with the Mouse_Move event
*/
struct _Ecore_IMF_Event_Mouse_Move
{
int buttons;
@ -471,6 +543,10 @@ struct _Ecore_IMF_Event_Mouse_Move
unsigned int timestamp; /**< The timestamp when the event occurred */
};
/**
* @struct _Ecore_IMF_Event_Mouse_Wheel
* @brief The structure type used with the Mouse_Wheel event
*/
struct _Ecore_IMF_Event_Mouse_Wheel
{
int direction; /* 0 = default up/down wheel */
@ -486,6 +562,10 @@ struct _Ecore_IMF_Event_Mouse_Wheel
unsigned int timestamp; /**< The timestamp when the event occurred */
};
/**
* @struct _Ecore_IMF_Event_Key_Down
* @brief The structure type used with the Key_Down event
*/
struct _Ecore_IMF_Event_Key_Down
{
const char *keyname; /**< The string name of the key pressed */
@ -497,6 +577,10 @@ struct _Ecore_IMF_Event_Key_Down
unsigned int timestamp; /**< The timestamp when the event occurred */
};
/**
* @struct _Ecore_IMF_Event_Key_Up
* @brief The structure type used with the Key_Up event
*/
struct _Ecore_IMF_Event_Key_Up
{
const char *keyname; /**< The string name of the key pressed */
@ -508,6 +592,9 @@ struct _Ecore_IMF_Event_Key_Up
unsigned int timestamp; /**< The timestamp when the event occurred */
};
/**
* @brief A union of IMF events.
*/
union _Ecore_IMF_Event
{
Ecore_IMF_Event_Mouse_Down mouse_down;
@ -520,6 +607,10 @@ union _Ecore_IMF_Event
Ecore_IMF_Event_Key_Up key_up;
};
/**
* @struct _Ecore_IMF_Preedit_Attr
* @brief Structure that contains preedit attribute information.
*/
struct _Ecore_IMF_Preedit_Attr
{
Ecore_IMF_Preedit_Type preedit_type; /**< preedit style type */
@ -527,47 +618,58 @@ struct _Ecore_IMF_Preedit_Attr
unsigned int end_index; /**< end index of the range (in bytes) */
};
/**
* @struct _Ecore_IMF_Context_Class
* @brief Structure used when creating a new Input Method Context. This
* structure is mainly used by modules implementing the Input Method Context
* interface.
*
*/
struct _Ecore_IMF_Context_Class
{
void (*add) (Ecore_IMF_Context *ctx);
void (*del) (Ecore_IMF_Context *ctx);
void (*client_window_set) (Ecore_IMF_Context *ctx, void *window);
void (*client_canvas_set) (Ecore_IMF_Context *ctx, void *canvas);
void (*show) (Ecore_IMF_Context *ctx);
void (*hide) (Ecore_IMF_Context *ctx);
void (*preedit_string_get) (Ecore_IMF_Context *ctx, char **str, int *cursor_pos);
void (*focus_in) (Ecore_IMF_Context *ctx);
void (*focus_out) (Ecore_IMF_Context *ctx);
void (*reset) (Ecore_IMF_Context *ctx);
void (*cursor_position_set) (Ecore_IMF_Context *ctx, int cursor_pos);
void (*use_preedit_set) (Ecore_IMF_Context *ctx, Eina_Bool use_preedit);
void (*input_mode_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode);
Eina_Bool (*filter_event) (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event);
void (*preedit_string_with_attributes_get) (Ecore_IMF_Context *ctx, char **str, Eina_List **attrs, int *cursor_pos);
void (*prediction_allow_set)(Ecore_IMF_Context *ctx, Eina_Bool prediction);
void (*autocapital_type_set)(Ecore_IMF_Context *ctx, Ecore_IMF_Autocapital_Type autocapital_type);
void (*control_panel_show) (Ecore_IMF_Context *ctx);
void (*control_panel_hide) (Ecore_IMF_Context *ctx);
void (*input_panel_layout_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout);
Ecore_IMF_Input_Panel_Layout (*input_panel_layout_get) (Ecore_IMF_Context *ctx);
void (*input_panel_language_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang);
Ecore_IMF_Input_Panel_Lang (*input_panel_language_get) (Ecore_IMF_Context *ctx);
void (*cursor_location_set) (Ecore_IMF_Context *ctx, int x, int y, int w, int h);
void (*input_panel_imdata_set)(Ecore_IMF_Context *ctx, const void* data, int len);
void (*input_panel_imdata_get)(Ecore_IMF_Context *ctx, void* data, int *len);
void (*input_panel_return_key_type_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type);
void (*input_panel_return_key_disabled_set) (Ecore_IMF_Context *ctx, Eina_Bool disabled);
void (*input_panel_caps_lock_mode_set) (Ecore_IMF_Context *ctx, Eina_Bool mode);
void (*input_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h);
Ecore_IMF_Input_Panel_State (*input_panel_state_get) (Ecore_IMF_Context *ctx);
void (*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), void *data);
void (*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));
void (*input_panel_language_locale_get) (Ecore_IMF_Context *ctx, char **lang);
void (*candidate_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h);
void (*input_hint_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Hints input_hints);
void (*bidi_direction_set) (Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Direction direction);
void (*add) (Ecore_IMF_Context *ctx); /**< Create the Input Method Context */
void (*del) (Ecore_IMF_Context *ctx); /**< Delete the Input Method Context */
void (*client_window_set) (Ecore_IMF_Context *ctx, void *window); /**< Set the client window for the Input Method Context */
void (*client_canvas_set) (Ecore_IMF_Context *ctx, void *canvas); /**< Set the client canvas for the Input Method Context */
void (*show) (Ecore_IMF_Context *ctx); /**< Show the Input Method Context */
void (*hide) (Ecore_IMF_Context *ctx); /**< Hide the Input Method Context */
void (*preedit_string_get) (Ecore_IMF_Context *ctx, char **str, int *cursor_pos); /**< Return current preedit string and cursor position */
void (*focus_in) (Ecore_IMF_Context *ctx); /**< Input Method context widget has gained focus */
void (*focus_out) (Ecore_IMF_Context *ctx); /**< Input Method context widget has lost focus */
void (*reset) (Ecore_IMF_Context *ctx); /**< A change has been made */
void (*cursor_position_set) (Ecore_IMF_Context *ctx, int cursor_pos); /**< Cursor position changed */
void (*use_preedit_set) (Ecore_IMF_Context *ctx, Eina_Bool use_preedit); /**< Use preedit string to display feedback */
void (*input_mode_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode); /**< Set the input mode */
Eina_Bool (*filter_event) (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event); /**< Internally handle an event */
void (*preedit_string_with_attributes_get) (Ecore_IMF_Context *ctx, char **str, Eina_List **attrs, int *cursor_pos); /**< return current preedit string, attributes, and cursor position */
void (*prediction_allow_set)(Ecore_IMF_Context *ctx, Eina_Bool prediction); /**< Allow text prediction */
void (*autocapital_type_set)(Ecore_IMF_Context *ctx, Ecore_IMF_Autocapital_Type autocapital_type); /**< Set auto-capitalization type */
void (*control_panel_show) (Ecore_IMF_Context *ctx); /**< Show the control panel */
void (*control_panel_hide) (Ecore_IMF_Context *ctx); /**< Hide the control panel */
void (*input_panel_layout_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout); /**< Set the layout of the input panel */
Ecore_IMF_Input_Panel_Layout (*input_panel_layout_get) (Ecore_IMF_Context *ctx); /**< Return the current layout of the input panel */
void (*input_panel_language_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang); /**< Set the language of the input panel */
Ecore_IMF_Input_Panel_Lang (*input_panel_language_get) (Ecore_IMF_Context *ctx); /**< Get the current language of the input panel */
void (*cursor_location_set) (Ecore_IMF_Context *ctx, int x, int y, int w, int h); /**< Set the cursor location */
void (*input_panel_imdata_set)(Ecore_IMF_Context *ctx, const void* data, int len); /**< Set panel-specific data to the input panel */
void (*input_panel_imdata_get)(Ecore_IMF_Context *ctx, void* data, int *len); /**< Get current panel-specific data from the input panel */
void (*input_panel_return_key_type_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type); /**< Set the return key theme of the input panel based on return key type provided */
void (*input_panel_return_key_disabled_set) (Ecore_IMF_Context *ctx, Eina_Bool disabled); /**< Disable return key of the input panel */
void (*input_panel_caps_lock_mode_set) (Ecore_IMF_Context *ctx, Eina_Bool mode); /**< Set input panel caps lock mode */
void (*input_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h); /**< Return input panel geometry */
Ecore_IMF_Input_Panel_State (*input_panel_state_get) (Ecore_IMF_Context *ctx); /**< Return input panel state */
void (*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), void *data); /**< Add a callback on input panel state,language,mode change */
void (*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)); /**< Delete the input panel event callback */
void (*input_panel_language_locale_get) (Ecore_IMF_Context *ctx, char **lang); /**< Return the current language locale */
void (*candidate_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h); /**< Return the candidate panel geometry */
void (*input_hint_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Hints input_hints); /**< Sets input hint to fine-tune input methods behavior */
void (*bidi_direction_set) (Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Direction direction); /**< Set bidirectionality at the cursor position */
};
/**
* @struct _Ecore_IMF_Context_Info
* @brief A IMF structure containing context information.
*/
struct _Ecore_IMF_Context_Info
{
const char *id; /* ID */
@ -597,6 +699,15 @@ EAPI int ecore_imf_init(void);
*/
EAPI int ecore_imf_shutdown(void);
/**
* Register an Ecore_IMF module.
*
* @param info An Ecore_IMF_Context_Info structure
* @param imf_module_create A function to call at the creation
* @param imf_module_exit A function to call when exiting
*
* @ingroup Ecore_IMF_Lib_Group
*/
EAPI void ecore_imf_module_register(const Ecore_IMF_Context_Info *info, Ecore_IMF_Context *(*imf_module_create)(void), Ecore_IMF_Context *(*imf_module_exit)(void));
/**
@ -619,6 +730,18 @@ EAPI Eina_Bool ecore_imf_input_panel_hide(void);
* @ingroup Ecore_IMF_Context_Group
*/
EAPI Eina_List *ecore_imf_context_available_ids_get(void);
/**
* Get 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.
*
* @param canvas_type A string containing the canvas type.
* @return Return an Eina_List of strings;
* on failure it returns NULL.
* @ingroup Ecore_IMF_Context_Group
*/
EAPI Eina_List *ecore_imf_context_available_ids_by_canvas_type_get(const char *canvas_type);
/**
@ -631,6 +754,18 @@ EAPI Eina_List *ecore_imf_context_available_ids_by_canvas_typ
* @ingroup Ecore_IMF_Context_Group
*/
EAPI const char *ecore_imf_context_default_id_get(void);
/**
* Get 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.
*
* @param canvas_type A string containing the canvas type.
* @return Return a string containing the id of the default Input
* Method Context; on failure it returns NULL.
* @ingroup Ecore_IMF_Context_Group
*/
EAPI const char *ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type);
/**