The m17n Library 1.8.4
Loading...
Searching...
No Matches
Data Fields
MInputDriver Struct Reference

Structure of input method driver. More...

#include <m17n.h>

Data Fields

int(* open_im )(MInputMethod *im)
 Open an input method.
 
void(* close_im )(MInputMethod *im)
 Close an input method.
 
int(* create_ic )(MInputContext *ic)
 Create an input context.
 
void(* destroy_ic )(MInputContext *ic)
 Destroy an input context.
 
int(* filter )(MInputContext *ic, MSymbol key, void *arg)
 Filter an input key.
 
int(* lookup )(MInputContext *ic, MSymbol key, void *arg, MText *mt)
 Lookup a produced text in an input context.
 
MPlistcallback_list
 List of callback functions.
 

Detailed Description

Structure of input method driver.

The type MInputDriver is the structure of an input method driver that contains several functions to handle an input method.

Field Documentation

◆ open_im

int(* MInputDriver::open_im) (MInputMethod *im)

Open an input method.

This function opens the input method im. It is called from the function minput_open_im() after all member of im but <info> set. If opening im succeeds, it returns 0. Otherwise, it returns -1. The function can setup im->info to keep various information that is referred by the other driver functions.

◆ close_im

void(* MInputDriver::close_im) (MInputMethod *im)

Close an input method.

This function closes the input method im. It is called from the function minput_close_im(). It frees all memory allocated for im->info (if any) after finishing all the tasks of closing the input method. But, the other members of im should not be touched.

◆ create_ic

int(* MInputDriver::create_ic) (MInputContext *ic)

Create an input context.

This function creates the input context ic. It is called from the function minput_create_ic() after all members of ic but <info> are set. If creating ic succeeds, it returns 0. Otherwise, it returns -1. The function can setup ic->info to keep various information that is referred by the other driver functions.

◆ destroy_ic

void(* MInputDriver::destroy_ic) (MInputContext *ic)

Destroy an input context.

This function is called from the function minput_destroy_ic() and destroys the input context ic. It frees all memory allocated for ic->info (if any) after finishing all the tasks of destroying the input method. But, the other members of ic should not be touched.

◆ filter

int(* MInputDriver::filter) (MInputContext *ic, MSymbol key, void *arg)

Filter an input key.

This function is called from the function minput_filter() and filters an input key. key and arg are the same as what given to minput_filter().

The task of the function is to handle key, update the internal state of ic. If key is absorbed by the input method and no text is produced, it returns 1. Otherwise, it returns 0.

It may update ic->status, ic->preedit, ic->cursor_pos, ic->ncandidates, ic->candidates, and ic->produced if that is necessary for the member <callback>.

The meaning of arg depends on the input method river. See the documentation of minput_default_driver and minput_gui_driver for instance.

◆ lookup

int(* MInputDriver::lookup) (MInputContext *ic, MSymbol key, void *arg, MText *mt)

Lookup a produced text in an input context.

It is called from the function minput_lookup() and looks up a produced text in the input context ic. This function concatenate a text produced by the input key key (if any) to M-text mt. If key was correctly handled by the input method of ic, it returns 0. Otherwise, it returns 1.

The meaning of arg depends on the input method driver. See the documentation of minput_default_driver and minput_gui_driver for instance.

◆ callback_list

MPlist* MInputDriver::callback_list

List of callback functions.

List of callback functions. Keys are one of Minput_preedit_start, Minput_preedit_draw, Minput_preedit_done, Minput_status_start, Minput_status_draw, Minput_status_done, Minput_candidates_start, Minput_candidates_draw, Minput_candidates_done, Minput_set_spot, Minput_toggle, Minput_reset, Minput_get_surrounding_text, Minput_delete_surrounding_text. Values are functions of type MInputCallbackFunc.


m17n-lib Home