static void ti_er_init (GtkIMContextSimple *im_context) { gtk_im_context_simple_add_table (im_context, ti_er_compose_seqs, 5, G_N_ELEMENTS (ti_er_compose_seqs) / (5 + 2)); }
static void cyrillic_translit_init (GtkIMContextSimple *im_context) { gtk_im_context_simple_add_table (im_context, cyrillic_compose_seqs, 4, G_N_ELEMENTS (cyrillic_compose_seqs) / (4 + 2)); }
static void inuktitut_init (GtkIMContextSimple *im_context) { gtk_im_context_simple_add_table (im_context, inuktitut_compose_seqs, 4, G_N_ELEMENTS (inuktitut_compose_seqs) / (4 + 2)); }
static void viqr_init (GtkIMContextSimple *im_context) { gtk_im_context_simple_add_table (im_context, viqr_compose_seqs, 4, G_N_ELEMENTS (viqr_compose_seqs) / (4 + 2)); }
static void cedilla_init (GtkIMContextSimple *im_context) { gtk_im_context_simple_add_table (im_context, cedilla_compose_seqs, 4, G_N_ELEMENTS (cedilla_compose_seqs) / (4 + 2)); }
static void fcitx_im_context_init(FcitxIMContext *context) { FcitxLog(LOG_LEVEL, "fcitx_im_context_init"); context->client = NULL; context->area.x = -1; context->area.y = -1; context->area.width = 0; context->area.height = 0; context->use_preedit = TRUE; context->cursor_pos = 0; context->preedit_string = NULL; context->attrlist = NULL; context->capacity = CAPACITY_SURROUNDING_TEXT; context->slave = gtk_im_context_simple_new(); gtk_im_context_simple_add_table(GTK_IM_CONTEXT_SIMPLE(context->slave), cedilla_compose_seqs, 4, G_N_ELEMENTS(cedilla_compose_seqs) / (4 + 2)); g_signal_connect(context->slave, "commit", G_CALLBACK(_slave_commit_cb), context); g_signal_connect(context->slave, "preedit-start", G_CALLBACK(_slave_preedit_start_cb), context); g_signal_connect(context->slave, "preedit-end", G_CALLBACK(_slave_preedit_end_cb), context); g_signal_connect(context->slave, "preedit-changed", G_CALLBACK(_slave_preedit_changed_cb), context); g_signal_connect(context->slave, "retrieve-surrounding", G_CALLBACK(_slave_retrieve_surrounding_cb), context); g_signal_connect(context->slave, "delete-surrounding", G_CALLBACK(_slave_delete_surrounding_cb), context); context->time = GDK_CURRENT_TIME; context->client = fcitx_client_new(); g_signal_connect(context->client, "connected", G_CALLBACK(_fcitx_im_context_connect_cb), context); g_signal_connect(context->client, "enable-im", G_CALLBACK(_fcitx_im_context_enable_im_cb), context); g_signal_connect(context->client, "close-im", G_CALLBACK(_fcitx_im_context_close_im_cb), context); g_signal_connect(context->client, "forward-key", G_CALLBACK(_fcitx_im_context_forward_key_cb), context); g_signal_connect(context->client, "commit-string", G_CALLBACK(_fcitx_im_context_commit_string_cb), context); g_signal_connect(context->client, "delete-surrounding-text", G_CALLBACK(_fcitx_im_context_delete_surrounding_text_cb), context); g_signal_connect(context->client, "update-formatted-preedit", G_CALLBACK(_fcitx_im_context_update_formatted_preedit_cb), context); }
/* TODO: Why are we taking a third argument? Shouldn't it be determined by the * length of rbdata? */ static VALUE rg_add_table(VALUE self, VALUE rbdata, VALUE rbmax_seq_len, VALUE rbn_seqs) { GtkIMContextSimple *context_simple = _SELF(self); gint max_seq_len = NUM2INT(rbmax_seq_len); gint n_seqs = NUM2INT(rbn_seqs); long n; guint16 *data; if (max_seq_len > GTK_MAX_COMPOSE_LEN) rb_raise(rb_eArgError, "max_seq_len cannot be greater than GTK_MAX_COMPOSE_LEN: %d > %d", max_seq_len, GTK_MAX_COMPOSE_LEN); data = RVAL2GUINT16S(rbdata, n); gtk_im_context_simple_add_table(context_simple, data, max_seq_len, n_seqs); g_free(data); return self; }