summaryrefslogtreecommitdiff
path: root/src/lib/ecore_imf
diff options
context:
space:
mode:
authorPierre Le Magourou <pierre.lemagourou@openwide.fr>2014-10-03 18:28:51 +0200
committerCedric BAIL <cedric@osg.samsung.com>2014-10-20 18:17:26 +0200
commit4a71cb268f4dff68949ac35d20c67ebd5c07a3ea (patch)
tree8b56fed0a322ab6f96ec1cc89ec08ee29a50f7ab /src/lib/ecore_imf
parent55623537ea7e03bb9782f7336e40e841392c90d8 (diff)
ecore_imf: update missing Ecore_IMF.h API documentation.
Diffstat (limited to 'src/lib/ecore_imf')
-rw-r--r--src/lib/ecore_imf/Ecore_IMF.h209
1 files changed, 172 insertions, 37 deletions
diff --git a/src/lib/ecore_imf/Ecore_IMF.h b/src/lib/ecore_imf/Ecore_IMF.h
index e774372..374c090 100644
--- a/src/lib/ecore_imf/Ecore_IMF.h
+++ b/src/lib/ecore_imf/Ecore_IMF.h
@@ -78,6 +78,11 @@ extern "C" {
78 */ 78 */
79 79
80/* ecore_imf_context_input_panel_event_callback_add() flag */ 80/* ecore_imf_context_input_panel_event_callback_add() flag */
81
82/**
83 * @typedef Ecore_IMF_Input_Panel_Event
84 * Enum containing input panel events.
85 */
81typedef enum 86typedef enum
82{ 87{
83 ECORE_IMF_INPUT_PANEL_STATE_EVENT, /**< called when the state of the input panel is changed. @since 1.7 */ 88 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
88 ECORE_IMF_CANDIDATE_PANEL_GEOMETRY_EVENT /**< called when the size of the candidate word panel is changed. @since 1.7 */ 93 ECORE_IMF_CANDIDATE_PANEL_GEOMETRY_EVENT /**< called when the size of the candidate word panel is changed. @since 1.7 */
89} Ecore_IMF_Input_Panel_Event; 94} Ecore_IMF_Input_Panel_Event;
90 95
96/**
97 * @typedef Ecore_IMF_Input_Panel_State
98 * Enum containing input panel state notifications.
99 */
91typedef enum 100typedef enum
92{ 101{
93 ECORE_IMF_INPUT_PANEL_STATE_SHOW, /**< Notification after the display of the input panel @since 1.7 */ 102 ECORE_IMF_INPUT_PANEL_STATE_SHOW, /**< Notification after the display of the input panel @since 1.7 */
@@ -95,12 +104,20 @@ typedef enum
95 ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW /**< Notification prior to the display of the input panel @since 1.7 */ 104 ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW /**< Notification prior to the display of the input panel @since 1.7 */
96} Ecore_IMF_Input_Panel_State; 105} Ecore_IMF_Input_Panel_State;
97 106
107/**
108 * @typedef Ecore_IMF_Input_Panel_Shift_Mode
109 * Enum containing input shift mode states.
110 */
98typedef enum 111typedef enum
99{ 112{
100 ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF, /**< @since 1.7 */ 113 ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF, /**< @since 1.7 */
101 ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON /**< @since 1.7 */ 114 ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON /**< @since 1.7 */
102} Ecore_IMF_Input_Panel_Shift_Mode; 115} Ecore_IMF_Input_Panel_Shift_Mode;
103 116
117/**
118 * @typedef Ecore_IMF_Candidate_Panel_State
119 * Enum containing candidate word panel state notifications.
120 */
104typedef enum 121typedef enum
105{ 122{
106 ECORE_IMF_CANDIDATE_PANEL_SHOW, /**< Notification after the display of the candidate word panel @since 1.7 */ 123 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;
139EAPI extern int ECORE_IMF_EVENT_COMMIT; 156EAPI extern int ECORE_IMF_EVENT_COMMIT;
140EAPI extern int ECORE_IMF_EVENT_DELETE_SURROUNDING; 157EAPI extern int ECORE_IMF_EVENT_DELETE_SURROUNDING;
141 158
159/**
160 * @typedef Ecore_IMF_Event_Cb
161 *
162 * @brief Called when a Ecore_IMF event happens.
163 *
164 * @see ecore_imf_context_event_callback_add()
165 */
142typedef void (*Ecore_IMF_Event_Cb) (void *data, Ecore_IMF_Context *ctx, void *event_info); 166typedef void (*Ecore_IMF_Event_Cb) (void *data, Ecore_IMF_Context *ctx, void *event_info);
143 167
144/** 168/**
@@ -214,6 +238,10 @@ typedef enum
214 ECORE_IMF_MOUSE_TRIPLE_CLICK = 1 << 1 /**< A triple click */ 238 ECORE_IMF_MOUSE_TRIPLE_CLICK = 1 << 1 /**< A triple click */
215} Ecore_IMF_Mouse_Flags; 239} Ecore_IMF_Mouse_Flags;
216 240
241/**
242 * @typedef Ecore_IMF_Input_Mode
243 * Type for Ecore_IMF input mode
244 */
217typedef enum 245typedef enum
218{ 246{
219 ECORE_IMF_INPUT_MODE_ALPHA = 1 << 0, 247 ECORE_IMF_INPUT_MODE_ALPHA = 1 << 0,
@@ -362,27 +390,47 @@ typedef enum
362 ECORE_IMF_BIDI_DIRECTION_RTL /**< The Right to Left mode @since 1.12 */ 390 ECORE_IMF_BIDI_DIRECTION_RTL /**< The Right to Left mode @since 1.12 */
363} Ecore_IMF_BiDi_Direction; 391} Ecore_IMF_BiDi_Direction;
364 392
393/**
394 * @struct _Ecore_IMF_Event_Preedit_Start
395 * @brief The structure type used with the Preedit_Start Input Method event
396 */
365struct _Ecore_IMF_Event_Preedit_Start 397struct _Ecore_IMF_Event_Preedit_Start
366{ 398{
367 Ecore_IMF_Context *ctx; 399 Ecore_IMF_Context *ctx;
368}; 400};
369 401
402/**
403 * @struct _Ecore_IMF_Event_Preedit_End
404 * @brief The structure type used with the Preedit_End Input Method event
405 */
370struct _Ecore_IMF_Event_Preedit_End 406struct _Ecore_IMF_Event_Preedit_End
371{ 407{
372 Ecore_IMF_Context *ctx; 408 Ecore_IMF_Context *ctx;
373}; 409};
374 410
411/**
412 * @struct _Ecore_IMF_Event_Preedit_Changed
413 * @brief The structure type used with the Preedit_Changed Input Method event
414 */
375struct _Ecore_IMF_Event_Preedit_Changed 415struct _Ecore_IMF_Event_Preedit_Changed
376{ 416{
377 Ecore_IMF_Context *ctx; 417 Ecore_IMF_Context *ctx;
378}; 418};
379 419
420/**
421 * @struct _Ecore_IMF_Event_Commit
422 * @brief The structure type used with the Commit Input Method event
423 */
380struct _Ecore_IMF_Event_Commit 424struct _Ecore_IMF_Event_Commit
381{ 425{
382 Ecore_IMF_Context *ctx; 426 Ecore_IMF_Context *ctx;
383 char *str; 427 char *str;
384}; 428};
385 429
430/**
431 * @struct _Ecore_IMF_Event_Delete_Surrounding
432 * @brief The structure type used with the Delete_Surrounding Input Method event
433 */
386struct _Ecore_IMF_Event_Delete_Surrounding 434struct _Ecore_IMF_Event_Delete_Surrounding
387{ 435{
388 Ecore_IMF_Context *ctx; 436 Ecore_IMF_Context *ctx;
@@ -390,6 +438,10 @@ struct _Ecore_IMF_Event_Delete_Surrounding
390 int n_chars; 438 int n_chars;
391}; 439};
392 440
441/**
442 * @struct _Ecore_IMF_Event_Selection
443 * @brief The structure type used with the Selection Input Method event
444 */
393struct _Ecore_IMF_Event_Selection 445struct _Ecore_IMF_Event_Selection
394{ 446{
395 Ecore_IMF_Context *ctx; 447 Ecore_IMF_Context *ctx;
@@ -397,6 +449,10 @@ struct _Ecore_IMF_Event_Selection
397 int end; 449 int end;
398}; 450};
399 451
452/**
453 * @struct _Ecore_IMF_Event_Mouse_Down
454 * @brief The structure type used with the Mouse_Down event
455 */
400struct _Ecore_IMF_Event_Mouse_Down 456struct _Ecore_IMF_Event_Mouse_Down
401{ 457{
402 int button; /**< The button which has been pressed */ 458 int button; /**< The button which has been pressed */
@@ -412,6 +468,10 @@ struct _Ecore_IMF_Event_Mouse_Down
412 unsigned int timestamp; /**< The timestamp when the event occurred */ 468 unsigned int timestamp; /**< The timestamp when the event occurred */
413}; 469};
414 470
471/**
472 * @struct _Ecore_IMF_Event_Mouse_Up
473 * @brief The structure type used with the Mouse_Up event
474 */
415struct _Ecore_IMF_Event_Mouse_Up 475struct _Ecore_IMF_Event_Mouse_Up
416{ 476{
417 int button; /**< The button which has been pressed */ 477 int button; /**< The button which has been pressed */
@@ -427,6 +487,10 @@ struct _Ecore_IMF_Event_Mouse_Up
427 unsigned int timestamp; /**< The timestamp when the event occurred */ 487 unsigned int timestamp; /**< The timestamp when the event occurred */
428}; 488};
429 489
490/**
491 * @struct _Ecore_IMF_Event_Mouse_In
492 * @brief The structure type used with the Mouse_In event
493 */
430struct _Ecore_IMF_Event_Mouse_In 494struct _Ecore_IMF_Event_Mouse_In
431{ 495{
432 int buttons; 496 int buttons;
@@ -441,6 +505,10 @@ struct _Ecore_IMF_Event_Mouse_In
441 unsigned int timestamp; /**< The timestamp when the event occurred */ 505 unsigned int timestamp; /**< The timestamp when the event occurred */
442}; 506};
443 507
508/**
509 * @struct _Ecore_IMF_Event_Mouse_Out
510 * @brief The structure type used with the Mouse_Out event
511 */
444struct _Ecore_IMF_Event_Mouse_Out 512struct _Ecore_IMF_Event_Mouse_Out
445{ 513{
446 int buttons; 514 int buttons;
@@ -455,6 +523,10 @@ struct _Ecore_IMF_Event_Mouse_Out
455 unsigned int timestamp; /**< The timestamp when the event occurred */ 523 unsigned int timestamp; /**< The timestamp when the event occurred */
456}; 524};
457 525
526/**
527 * @struct _Ecore_IMF_Event_Mouse_Move
528 * @brief The structure type used with the Mouse_Move event
529 */
458struct _Ecore_IMF_Event_Mouse_Move 530struct _Ecore_IMF_Event_Mouse_Move
459{ 531{
460 int buttons; 532 int buttons;
@@ -471,6 +543,10 @@ struct _Ecore_IMF_Event_Mouse_Move
471 unsigned int timestamp; /**< The timestamp when the event occurred */ 543 unsigned int timestamp; /**< The timestamp when the event occurred */
472}; 544};
473 545
546/**
547 * @struct _Ecore_IMF_Event_Mouse_Wheel
548 * @brief The structure type used with the Mouse_Wheel event
549 */
474struct _Ecore_IMF_Event_Mouse_Wheel 550struct _Ecore_IMF_Event_Mouse_Wheel
475{ 551{
476 int direction; /* 0 = default up/down wheel */ 552 int direction; /* 0 = default up/down wheel */
@@ -486,6 +562,10 @@ struct _Ecore_IMF_Event_Mouse_Wheel
486 unsigned int timestamp; /**< The timestamp when the event occurred */ 562 unsigned int timestamp; /**< The timestamp when the event occurred */
487}; 563};
488 564
565/**
566 * @struct _Ecore_IMF_Event_Key_Down
567 * @brief The structure type used with the Key_Down event
568 */
489struct _Ecore_IMF_Event_Key_Down 569struct _Ecore_IMF_Event_Key_Down
490{ 570{
491 const char *keyname; /**< The string name of the key pressed */ 571 const char *keyname; /**< The string name of the key pressed */
@@ -497,6 +577,10 @@ struct _Ecore_IMF_Event_Key_Down
497 unsigned int timestamp; /**< The timestamp when the event occurred */ 577 unsigned int timestamp; /**< The timestamp when the event occurred */
498}; 578};
499 579
580/**
581 * @struct _Ecore_IMF_Event_Key_Up
582 * @brief The structure type used with the Key_Up event
583 */
500struct _Ecore_IMF_Event_Key_Up 584struct _Ecore_IMF_Event_Key_Up
501{ 585{
502 const char *keyname; /**< The string name of the key pressed */ 586 const char *keyname; /**< The string name of the key pressed */
@@ -508,6 +592,9 @@ struct _Ecore_IMF_Event_Key_Up
508 unsigned int timestamp; /**< The timestamp when the event occurred */ 592 unsigned int timestamp; /**< The timestamp when the event occurred */
509}; 593};
510 594
595/**
596 * @brief A union of IMF events.
597 */
511union _Ecore_IMF_Event 598union _Ecore_IMF_Event
512{ 599{
513 Ecore_IMF_Event_Mouse_Down mouse_down; 600 Ecore_IMF_Event_Mouse_Down mouse_down;
@@ -520,6 +607,10 @@ union _Ecore_IMF_Event
520 Ecore_IMF_Event_Key_Up key_up; 607 Ecore_IMF_Event_Key_Up key_up;
521}; 608};
522 609
610/**
611 * @struct _Ecore_IMF_Preedit_Attr
612 * @brief Structure that contains preedit attribute information.
613 */
523struct _Ecore_IMF_Preedit_Attr 614struct _Ecore_IMF_Preedit_Attr
524{ 615{
525 Ecore_IMF_Preedit_Type preedit_type; /**< preedit style type */ 616 Ecore_IMF_Preedit_Type preedit_type; /**< preedit style type */
@@ -527,47 +618,58 @@ struct _Ecore_IMF_Preedit_Attr
527 unsigned int end_index; /**< end index of the range (in bytes) */ 618 unsigned int end_index; /**< end index of the range (in bytes) */
528}; 619};
529 620
621/**
622 * @struct _Ecore_IMF_Context_Class
623 * @brief Structure used when creating a new Input Method Context. This
624 * structure is mainly used by modules implementing the Input Method Context
625 * interface.
626 *
627 */
530struct _Ecore_IMF_Context_Class 628struct _Ecore_IMF_Context_Class
531{ 629{
532 void (*add) (Ecore_IMF_Context *ctx); 630 void (*add) (Ecore_IMF_Context *ctx); /**< Create the Input Method Context */
533 void (*del) (Ecore_IMF_Context *ctx); 631 void (*del) (Ecore_IMF_Context *ctx); /**< Delete the Input Method Context */
534 void (*client_window_set) (Ecore_IMF_Context *ctx, void *window); 632 void (*client_window_set) (Ecore_IMF_Context *ctx, void *window); /**< Set the client window for the Input Method Context */
535 void (*client_canvas_set) (Ecore_IMF_Context *ctx, void *canvas); 633 void (*client_canvas_set) (Ecore_IMF_Context *ctx, void *canvas); /**< Set the client canvas for the Input Method Context */
536 void (*show) (Ecore_IMF_Context *ctx); 634 void (*show) (Ecore_IMF_Context *ctx); /**< Show the Input Method Context */
537 void (*hide) (Ecore_IMF_Context *ctx); 635 void (*hide) (Ecore_IMF_Context *ctx); /**< Hide the Input Method Context */
538 void (*preedit_string_get) (Ecore_IMF_Context *ctx, char **str, int *cursor_pos); 636 void (*preedit_string_get) (Ecore_IMF_Context *ctx, char **str, int *cursor_pos); /**< Return current preedit string and cursor position */
539 void (*focus_in) (Ecore_IMF_Context *ctx); 637 void (*focus_in) (Ecore_IMF_Context *ctx); /**< Input Method context widget has gained focus */
540 void (*focus_out) (Ecore_IMF_Context *ctx); 638 void (*focus_out) (Ecore_IMF_Context *ctx); /**< Input Method context widget has lost focus */
541 void (*reset) (Ecore_IMF_Context *ctx); 639 void (*reset) (Ecore_IMF_Context *ctx); /**< A change has been made */
542 void (*cursor_position_set) (Ecore_IMF_Context *ctx, int cursor_pos); 640 void (*cursor_position_set) (Ecore_IMF_Context *ctx, int cursor_pos); /**< Cursor position changed */
543 void (*use_preedit_set) (Ecore_IMF_Context *ctx, Eina_Bool use_preedit); 641 void (*use_preedit_set) (Ecore_IMF_Context *ctx, Eina_Bool use_preedit); /**< Use preedit string to display feedback */
544 void (*input_mode_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode); 642 void (*input_mode_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode); /**< Set the input mode */
545 Eina_Bool (*filter_event) (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event); 643 Eina_Bool (*filter_event) (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event); /**< Internally handle an event */
546 void (*preedit_string_with_attributes_get) (Ecore_IMF_Context *ctx, char **str, Eina_List **attrs, int *cursor_pos); 644 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 */
547 void (*prediction_allow_set)(Ecore_IMF_Context *ctx, Eina_Bool prediction); 645 void (*prediction_allow_set)(Ecore_IMF_Context *ctx, Eina_Bool prediction); /**< Allow text prediction */
548 void (*autocapital_type_set)(Ecore_IMF_Context *ctx, Ecore_IMF_Autocapital_Type autocapital_type); 646 void (*autocapital_type_set)(Ecore_IMF_Context *ctx, Ecore_IMF_Autocapital_Type autocapital_type); /**< Set auto-capitalization type */
549 void (*control_panel_show) (Ecore_IMF_Context *ctx); 647 void (*control_panel_show) (Ecore_IMF_Context *ctx); /**< Show the control panel */
550 void (*control_panel_hide) (Ecore_IMF_Context *ctx); 648 void (*control_panel_hide) (Ecore_IMF_Context *ctx); /**< Hide the control panel */
551 void (*input_panel_layout_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout); 649 void (*input_panel_layout_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout); /**< Set the layout of the input panel */
552 Ecore_IMF_Input_Panel_Layout (*input_panel_layout_get) (Ecore_IMF_Context *ctx); 650 Ecore_IMF_Input_Panel_Layout (*input_panel_layout_get) (Ecore_IMF_Context *ctx); /**< Return the current layout of the input panel */
553 void (*input_panel_language_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang); 651 void (*input_panel_language_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang); /**< Set the language of the input panel */
554 Ecore_IMF_Input_Panel_Lang (*input_panel_language_get) (Ecore_IMF_Context *ctx); 652 Ecore_IMF_Input_Panel_Lang (*input_panel_language_get) (Ecore_IMF_Context *ctx); /**< Get the current language of the input panel */
555 void (*cursor_location_set) (Ecore_IMF_Context *ctx, int x, int y, int w, int h); 653 void (*cursor_location_set) (Ecore_IMF_Context *ctx, int x, int y, int w, int h); /**< Set the cursor location */
556 void (*input_panel_imdata_set)(Ecore_IMF_Context *ctx, const void* data, int len); 654 void (*input_panel_imdata_set)(Ecore_IMF_Context *ctx, const void* data, int len); /**< Set panel-specific data to the input panel */
557 void (*input_panel_imdata_get)(Ecore_IMF_Context *ctx, void* data, int *len); 655 void (*input_panel_imdata_get)(Ecore_IMF_Context *ctx, void* data, int *len); /**< Get current panel-specific data from the input panel */
558 void (*input_panel_return_key_type_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type); 656 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 */
559 void (*input_panel_return_key_disabled_set) (Ecore_IMF_Context *ctx, Eina_Bool disabled); 657 void (*input_panel_return_key_disabled_set) (Ecore_IMF_Context *ctx, Eina_Bool disabled); /**< Disable return key of the input panel */
560 void (*input_panel_caps_lock_mode_set) (Ecore_IMF_Context *ctx, Eina_Bool mode); 658 void (*input_panel_caps_lock_mode_set) (Ecore_IMF_Context *ctx, Eina_Bool mode); /**< Set input panel caps lock mode */
561 void (*input_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h); 659 void (*input_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h); /**< Return input panel geometry */
562 Ecore_IMF_Input_Panel_State (*input_panel_state_get) (Ecore_IMF_Context *ctx); 660 Ecore_IMF_Input_Panel_State (*input_panel_state_get) (Ecore_IMF_Context *ctx); /**< Return input panel state */
563 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); 661 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 */
564 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)); 662 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 */
565 void (*input_panel_language_locale_get) (Ecore_IMF_Context *ctx, char **lang); 663 void (*input_panel_language_locale_get) (Ecore_IMF_Context *ctx, char **lang); /**< Return the current language locale */
566 void (*candidate_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h); 664 void (*candidate_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h); /**< Return the candidate panel geometry */
567 void (*input_hint_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Hints input_hints); 665 void (*input_hint_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Hints input_hints); /**< Sets input hint to fine-tune input methods behavior */
568 void (*bidi_direction_set) (Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Direction direction); 666 void (*bidi_direction_set) (Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Direction direction); /**< Set bidirectionality at the cursor position */
569}; 667};
570 668
669/**
670 * @struct _Ecore_IMF_Context_Info
671 * @brief A IMF structure containing context information.
672 */
571struct _Ecore_IMF_Context_Info 673struct _Ecore_IMF_Context_Info
572{ 674{
573 const char *id; /* ID */ 675 const char *id; /* ID */
@@ -597,6 +699,15 @@ EAPI int ecore_imf_init(void);
597 */ 699 */
598EAPI int ecore_imf_shutdown(void); 700EAPI int ecore_imf_shutdown(void);
599 701
702/**
703 * Register an Ecore_IMF module.
704 *
705 * @param info An Ecore_IMF_Context_Info structure
706 * @param imf_module_create A function to call at the creation
707 * @param imf_module_exit A function to call when exiting
708 *
709 * @ingroup Ecore_IMF_Lib_Group
710 */
600EAPI 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)); 711EAPI 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));
601 712
602/** 713/**
@@ -619,6 +730,18 @@ EAPI Eina_Bool ecore_imf_input_panel_hide(void);
619 * @ingroup Ecore_IMF_Context_Group 730 * @ingroup Ecore_IMF_Context_Group
620 */ 731 */
621EAPI Eina_List *ecore_imf_context_available_ids_get(void); 732EAPI Eina_List *ecore_imf_context_available_ids_get(void);
733
734/**
735 * Get the list of the available Input Method Context ids by canvas type.
736 *
737 * Note that the caller is responsible for freeing the Eina_List
738 * when finished with it. There is no need to finish the list strings.
739 *
740 * @param canvas_type A string containing the canvas type.
741 * @return Return an Eina_List of strings;
742 * on failure it returns NULL.
743 * @ingroup Ecore_IMF_Context_Group
744 */
622EAPI Eina_List *ecore_imf_context_available_ids_by_canvas_type_get(const char *canvas_type); 745EAPI Eina_List *ecore_imf_context_available_ids_by_canvas_type_get(const char *canvas_type);
623 746
624/** 747/**
@@ -631,6 +754,18 @@ EAPI Eina_List *ecore_imf_context_available_ids_by_canvas_typ
631 * @ingroup Ecore_IMF_Context_Group 754 * @ingroup Ecore_IMF_Context_Group
632 */ 755 */
633EAPI const char *ecore_imf_context_default_id_get(void); 756EAPI const char *ecore_imf_context_default_id_get(void);
757
758/**
759 * Get the id of the default Input Method Context corresponding to a canvas
760 * type.
761 * The id may be used to create a new instance of an Input Method
762 * Context object.
763 *
764 * @param canvas_type A string containing the canvas type.
765 * @return Return a string containing the id of the default Input
766 * Method Context; on failure it returns NULL.
767 * @ingroup Ecore_IMF_Context_Group
768 */
634EAPI const char *ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type); 769EAPI const char *ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type);
635 770
636/** 771/**