Home | History | Annotate | Download | only in compose

Lines Matching refs:state

50     struct xkb_compose_state *state;
52 state = calloc(1, sizeof(*state));
53 if (!state)
56 state->refcnt = 1;
57 state->table = xkb_compose_table_ref(table);
59 state->flags = flags;
60 state->prev_context = 0;
61 state->context = 0;
63 return state;
67 xkb_compose_state_ref(struct xkb_compose_state *state)
69 state->refcnt++;
70 return state;
74 xkb_compose_state_unref(struct xkb_compose_state *state)
76 if (!state || --state->refcnt > 0)
79 xkb_compose_table_unref(state->table);
80 free(state);
84 xkb_compose_state_get_compose_table(struct xkb_compose_state *state)
86 return state->table;
90 xkb_compose_state_feed(struct xkb_compose_state *state, xkb_keysym_t keysym)
108 node = &darray_item(state->table->nodes, state->context);
111 node = &darray_item(state->table->nodes, context);
115 node = &darray_item(state->table->nodes, context);
121 state->prev_context = state->context;
122 state->context = context;
127 xkb_compose_state_reset(struct xkb_compose_state *state)
129 state->prev_context = 0;
130 state->context = 0;
134 xkb_compose_state_get_status(struct xkb_compose_state *state)
138 prev_node = &darray_item(state->table->nodes, state->prev_context);
139 node = &darray_item(state->table->nodes, state->context);
141 if (state->context == 0 && !prev_node->is_leaf)
144 if (state->context == 0)
154 xkb_compose_state_get_utf8(struct xkb_compose_state *state,
158 &darray_item(state->table->nodes, state->context);
180 &darray_item(state->table->utf8, node->u.leaf.utf8));
189 xkb_compose_state_get_one_sym(struct xkb_compose_state *state)
192 &darray_item(state->table->nodes, state->context);