IMChangeFocusStruct //输入法改变焦点结构
-------------------
The IMChangeFocusStruct structure is used for XIM_SET_IC_FOCUS and
XIM_UNSET_IC_FOCUS requests. The structure contains:
IMChangeFocusStruct用于XIM_SET_IC_FOCUS 和XIM_UNSET_IC_FOCUS 请求,
此结构包含(成员如下):
typedef struct {
int major_code;
int minor_code;
CARD16 connect_id;
CARD16 icid; /* input context ID to change focus */
} IMChangeFocusStruct;
Your IMserver should check icid member to know which input context
should be focusd or unfocusd.
你的输服噐IMserver应当检查icid成员以知道哪个输入卡应当定焦或解焦。
IMDestroyICStruct //输入法破坏输入卡结构
-----------------
The IMDestroyICStruct structure is used for XIM_DESTROY_IC and
request. The structure contains:
IMDestroyICStruct结构用于XIM_DESTROY_IC的请求,此结构包含(成员如下):
typedef struct {
int major_code;
int minor_code;
CARD16 connect_id;
CARD16 icid; /* input context ID to destroy */
} IMDestroyICStruct;
Your IMserver should check icid member to know which input context
should be destroyed.
你的输服噐IMserver应当检查icid成员以知道哪个输入卡应当销毁。
IMResetICStruct //输入法重置输入卡结构
---------------
The IMResetICStruct structure is used for XIM_RESET_IC request. The
structure contains:
IMResetICStruct用于XIM_RESET_IC请求,此结构包含(成员如下):
typedef struct {
int major_code;
int minor_code;
CARD16 connect_id;
CARD16 icid; /* input context ID to reset */
CARD16 length; /* length of committed string below */
char *commit_string; /* string to commit to XIM client */
} IMResetICStruct;
Your IMserver should check icid member to know which input context
should be reset.
你的输服噐IMserver应当检查icid成员以知道哪个输入卡应当重置。
IMChangeICStruct //输入法改变输入卡结构
----------------
The IMChangeICStruct structure is used for XIM_CREATE_IC,
XIM_SET_IC_VALUES and XIM_GET_IC_VALUES requests. The structures
contain:
IMChangeICStruct结构用于XIM_CREATE_IC, XIM_SET_IC_VALUES 和
XIM_GET_IC_VALUES 请求,此结构包含(成员如下):
/*
* value type for IC defined in XimProto.h
*/
#define XimType_SeparatorOfNestedList 0
#define XimType_CARD8 1
#define XimType_CARD16 2
#define XimType_CARD32 3
#define XimType_STRING8 4
#define XimType_Window 5
#define XimType_XIMStyles 10
#define XimType_XRectangle 11
#define XimType_XPoint 12
#define XimType_XFontSet 13
#define XimType_XIMOptions 14
#define XimType_XIMHotKeyTriggers 15
#define XimType_XIMHotKeyState 16
#define XimType_XIMStringConversion 17
#define XimType_NEST 0x7fff
typedef struct {
int attribute_id; /* ID for this IC */
CARD16 name_length; /* length of IC name below */
char *name; /* IC name */
int value_length; /* length of IC value below */
void *value; /* IC value */
int type; /* value type for IC, see above */
} XICAttribute;
typedef struct {
int major_code;
int minor_code;
CARD16 connect_id;
CARD16 icid;
/* input context ID:
for each CREATE, different ID is expected to be returned.
for each SET, it shows the ID to set.
for each GET, it shows the ID to get.
*/
CARD16 preedit_attr_num; /* number of preedit_attr list below */
CARD16 status_attr_num; /* number of preedit_attr list below */
CARD16 ic_attr_num; /* number of ic_attr list below */
XICAttribute *preedit_attr; /* IC values for preedit attribute */
XICAttribute *status_attr; /* IC values for status attribute */
XICAttribute *ic_attr; /* IC values for other attributes */
} IMChangeICStruct;
When XIM_SET_IC_VALUES or XIM_GET_IC_VALUES, your IMserver should
check icid member to know which input context should be specified. When
XIM_CREATE_IC, your IMserver should set icid member to identify the
input context newly created.
在XIM_SET_IC_VALUES 或 XIM_GET_IC_VALUES时, 你的输服噐IMserver应当检查icid
成员以知道哪个输入卡应当指定。在 XIM_CREATE_IC时, 你的IMserver应当设置icid
成员以识别新近创建的输入卡。
-------------------
The IMChangeFocusStruct structure is used for XIM_SET_IC_FOCUS and
XIM_UNSET_IC_FOCUS requests. The structure contains:
IMChangeFocusStruct用于XIM_SET_IC_FOCUS 和XIM_UNSET_IC_FOCUS 请求,
此结构包含(成员如下):
typedef struct {
int major_code;
int minor_code;
CARD16 connect_id;
CARD16 icid; /* input context ID to change focus */
} IMChangeFocusStruct;
Your IMserver should check icid member to know which input context
should be focusd or unfocusd.
你的输服噐IMserver应当检查icid成员以知道哪个输入卡应当定焦或解焦。
IMDestroyICStruct //输入法破坏输入卡结构
-----------------
The IMDestroyICStruct structure is used for XIM_DESTROY_IC and
request. The structure contains:
IMDestroyICStruct结构用于XIM_DESTROY_IC的请求,此结构包含(成员如下):
typedef struct {
int major_code;
int minor_code;
CARD16 connect_id;
CARD16 icid; /* input context ID to destroy */
} IMDestroyICStruct;
Your IMserver should check icid member to know which input context
should be destroyed.
你的输服噐IMserver应当检查icid成员以知道哪个输入卡应当销毁。
IMResetICStruct //输入法重置输入卡结构
---------------
The IMResetICStruct structure is used for XIM_RESET_IC request. The
structure contains:
IMResetICStruct用于XIM_RESET_IC请求,此结构包含(成员如下):
typedef struct {
int major_code;
int minor_code;
CARD16 connect_id;
CARD16 icid; /* input context ID to reset */
CARD16 length; /* length of committed string below */
char *commit_string; /* string to commit to XIM client */
} IMResetICStruct;
Your IMserver should check icid member to know which input context
should be reset.
你的输服噐IMserver应当检查icid成员以知道哪个输入卡应当重置。
IMChangeICStruct //输入法改变输入卡结构
----------------
The IMChangeICStruct structure is used for XIM_CREATE_IC,
XIM_SET_IC_VALUES and XIM_GET_IC_VALUES requests. The structures
contain:
IMChangeICStruct结构用于XIM_CREATE_IC, XIM_SET_IC_VALUES 和
XIM_GET_IC_VALUES 请求,此结构包含(成员如下):
/*
* value type for IC defined in XimProto.h
*/
#define XimType_SeparatorOfNestedList 0
#define XimType_CARD8 1
#define XimType_CARD16 2
#define XimType_CARD32 3
#define XimType_STRING8 4
#define XimType_Window 5
#define XimType_XIMStyles 10
#define XimType_XRectangle 11
#define XimType_XPoint 12
#define XimType_XFontSet 13
#define XimType_XIMOptions 14
#define XimType_XIMHotKeyTriggers 15
#define XimType_XIMHotKeyState 16
#define XimType_XIMStringConversion 17
#define XimType_NEST 0x7fff
typedef struct {
int attribute_id; /* ID for this IC */
CARD16 name_length; /* length of IC name below */
char *name; /* IC name */
int value_length; /* length of IC value below */
void *value; /* IC value */
int type; /* value type for IC, see above */
} XICAttribute;
typedef struct {
int major_code;
int minor_code;
CARD16 connect_id;
CARD16 icid;
/* input context ID:
for each CREATE, different ID is expected to be returned.
for each SET, it shows the ID to set.
for each GET, it shows the ID to get.
*/
CARD16 preedit_attr_num; /* number of preedit_attr list below */
CARD16 status_attr_num; /* number of preedit_attr list below */
CARD16 ic_attr_num; /* number of ic_attr list below */
XICAttribute *preedit_attr; /* IC values for preedit attribute */
XICAttribute *status_attr; /* IC values for status attribute */
XICAttribute *ic_attr; /* IC values for other attributes */
} IMChangeICStruct;
When XIM_SET_IC_VALUES or XIM_GET_IC_VALUES, your IMserver should
check icid member to know which input context should be specified. When
XIM_CREATE_IC, your IMserver should set icid member to identify the
input context newly created.
在XIM_SET_IC_VALUES 或 XIM_GET_IC_VALUES时, 你的输服噐IMserver应当检查icid
成员以知道哪个输入卡应当指定。在 XIM_CREATE_IC时, 你的IMserver应当设置icid
成员以识别新近创建的输入卡。