/***en Flag telling whether the input context is currently active or
inactive. The value is set to 1 (active) when the input context
- is created. It can be toggled by the function minput_toggle
- (). */
+ is created. It is toggled by the function minput_toggle (). */
/***ja ÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤¬¥¢¥¯¥Æ¥£¥Ö¤«¤É¤¦¤«¤ò¼¨¤¹¥Õ¥é¥°¡£ÆþÎÏ¥³¥ó¥Æ
¥¯¥¹¥È¤¬À¸À®¤µ¤ì¤¿»þÅÀ¤Ç¤ÏÃÍ¤Ï 1 ¡Ê¥¢¥¯¥Æ¥£¥Ö¡Ë¤Ç¤¢¤ê¡¢´Ø¿ô
minput_toggle () ¤Ë¤è¤Ã¤Æ¥È¥°¥ë¤µ¤ì¤ë¡£ */
int active;
-
/***en Spot location and size of the input context. */
/***ja ÆþÎÏ¥³¥ó¥Æ¥¯¥¹¥È¤Î¥¹¥Ý¥Ã¥È¤Î°ÌÃÖ¤ÈÂ礤µ. */
struct {
/***ja <preedit>¤Î¥«¡¼¥½¥ë°ÌÃÖ */
int cursor_pos;
+ /***en The function <im>->driver.filter () sets the value to 1 when
+ it changes <cursor_pos>. */
int cursor_pos_changed;
- /***en Array of the current candidate texts. */
+ /***en Plist of the current candidate groups. Each element is an
+ M-text or a plist. If it is an M-text (i.e. the key is Mtext),
+ candidates in that group are characters in the M-text. If it is
+ a plist (i.e. the key is Mplist), each element is an M-text, and
+ candidates in that group are those M-texts. */
/***ja ¸½ºß¤Î¥Æ¥¥¹¥È¸õÊä¤ÎÇÛÎó. */
MPlist *candidate_list;
+
+ /***en Index number of the currently selected candidate. If the
+ number is 10, and the first candidate group contains 10
+ candidates, the currently selected candidate is the first of the
+ second candidate group. */
int candidate_index;
+
+ /***en Start and the end positions of the preedit text where
+ <candidate_list> corresponds to. */
int candidate_from, candidate_to;
+
+ /***en Flag telling whether the current candidate group must be
+ shown or not. The function <im>->driver.filter () sets the
+ value to 1 when an input method required to show candidates, and
+ sets the value to 0 otherwise. */
int candidate_show;
/***en The function <im>->driver.filter () sets the value to 1 when
- it changes one of the above members. */
+ it changed any of the above members (<candidate_XXX>), and sets
+ the value to 0 otherwise. */
/***ja ´Ø¿ô <im>->driver.filter () ¤Ï¡¢¾åµ¤Î¥á¥ó¥Ð¤Î£±¤Ä¤òÊѤ¨¤¿»þ
¤³¤ÎÃͤò 1 ¤ËÀßÄꤹ¤ë¡£ */
int candidates_changed;
+ /***en An plist that can be freely used by <im>->driver functions.
+ The driver of internal input method never use it. The function
+ <im>->driver.create_ic () sets this to an empty plist, and the
+ function <im->driver.destroy_ic () frees it by using
+ m17n_object_unref (). */
MPlist *plist;
};