Delete.
[m17n/m17n-lib.git] / src / input.h
index 1e00f0e..8b8ba15 100644 (file)
@@ -1,5 +1,5 @@
 /* input.h -- header file for the input method module.
-   Copyright (C) 2003, 2004
+   Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
      National Institute of Advanced Industrial Science and Technology (AIST)
      Registration Number H15PRO112
 
 
    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
 {
+  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;
 
@@ -40,6 +49,9 @@ typedef struct
   /** The current state.  */
   MIMState *state;
 
+  /** The previous state.  */
+  MIMState *prev_state;
+
   /** The current map.  */
   MIMMap *map;
 
@@ -53,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;
 
@@ -62,13 +77,21 @@ 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;
+
+  MPlist *state_hook;
+
+  unsigned long tick;
 } MInputContextInfo;
 
 #define MINPUT_KEY_SHIFT_MODIFIER      (1 << 0)
@@ -77,8 +100,8 @@ typedef struct
 #define MINPUT_KEY_ALT_MODIFIER                (1 << 3)
 #define MINPUT_KEY_SUPER_MODIFIER      (1 << 4)
 #define MINPUT_KEY_HYPER_MODIFIER      (1 << 5)
+#define MINPUT_KEY_ALTGR_MODIFIER      (1 << 6)
 
-extern void minput__callback (MInputContext *ic, MSymbol command);
 extern MSymbol minput__char_to_key (int c);
 
 #endif /* not _M17N_INPUT_H_ */