- void (*set_client_window) (GtkIMContext *context,
- GdkWindow *window);
- void (*get_preedit_string) (GtkIMContext *context,
- gchar **str,
- PangoAttrList **attrs);
- gboolean (*filter_keypress) (GtkIMContext *context,
- GdkEventKey *event);
- void (*focus_in) (GtkIMContext *context);
- void (*focus_out) (GtkIMContext *context);
+ void (*set_client_window) (GtkIMContext *context,
+ GdkWindow *window);
+ void (*get_preedit_string) (GtkIMContext *context,
+ gchar **str,
+ PangoAttrList **attrs,
+ gint *cursor_pos);
+ gboolean (*filter_keypress) (GtkIMContext *context,
+ GdkEventKey *event);
+ void (*focus_in) (GtkIMContext *context);
+ void (*focus_out) (GtkIMContext *context);
+ void (*reset) (GtkIMContext *context);
+ void (*set_cursor_location) (GtkIMContext *context,
+ GdkRectangle *area);
+ void (*set_use_preedit) (GtkIMContext *context,
+ gboolean use_preedit);
+ void (*set_surrounding) (GtkIMContext *context,
+ const gchar *text,
+ gint len,
+ gint cursor_index);
+ gboolean (*get_surrounding) (GtkIMContext *context,
+ gchar **text,
+ gint *cursor_index);
+ /*< private >*/
+ /* Padding for future expansion */
+ void (*_gtk_reserved1) (void);
+ void (*_gtk_reserved2) (void);
+ void (*_gtk_reserved3) (void);
+ void (*_gtk_reserved4) (void);
+ void (*_gtk_reserved5) (void);
+ void (*_gtk_reserved6) (void);