X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Finput.h;h=a08dcbc82d3ea3d132f81d3a51f160b6fbd200d7;hb=45e5ec16068aec42d4547ee5cb1871a63c6ee195;hp=65336279849b53c56e9520daa9337a2dc2f8b55d;hpb=d9bcce9167a9bbbe23ca10a9ea234eb5eb85d9b9;p=m17n%2Fm17n-lib.git diff --git a/src/input.h b/src/input.h index 6533627..a08dcbc 100644 --- a/src/input.h +++ b/src/input.h @@ -17,21 +17,28 @@ You should have received a copy of the GNU Lesser General Public License along with the m17n library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 02111-1307, USA. */ #ifndef _M17N_INPUT_H_ #define _M17N_INPUT_H_ -typedef struct +typedef struct _MInputMethodInfo MInputMethodInfo; + +struct _MInputMethodInfo { - MInputMethod *im; + MDatabase *mdb; + MSymbol language, name, extra; + MPlist *cmds, *configured_cmds, *bc_cmds; + MPlist *vars, *configured_vars, *bc_vars; + MText *description; MText *title; MPlist *maps; MPlist *states; MPlist *macros; MPlist *externals; -} MInputMethodInfo; + unsigned long tick; +}; typedef struct MIMState MIMState; @@ -58,6 +65,9 @@ typedef struct /** Index of the key not yet handled. */ int key_head; + /** Index of the key at the time of committing. */ + int commit_key_head; + /** Saved M-text when entered in the current state. */ MText *preedit_saved; @@ -67,15 +77,19 @@ typedef struct /** List of markers. */ MPlist *markers; - /* List of variables. */ + /** List of variables. */ MPlist *vars; + MPlist *vars_saved; + MText *preceding_text, *following_text; int key_unhandled; /** Used by minput_win_driver (input-win.c). */ void *win_info; + + unsigned long tick; } MInputContextInfo; #define MINPUT_KEY_SHIFT_MODIFIER (1 << 0) @@ -85,7 +99,6 @@ typedef struct #define MINPUT_KEY_SUPER_MODIFIER (1 << 4) #define MINPUT_KEY_HYPER_MODIFIER (1 << 5) -extern void minput__callback (MInputContext *ic, MSymbol command); extern MSymbol minput__char_to_key (int c); #endif /* not _M17N_INPUT_H_ */