亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? i18nmethod.c

?? 手寫(xiě)識(shí)別Chinput源碼
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/******************************************************************          Copyright 1994, 1995 by Sun Microsystems, Inc.         Copyright 1993, 1994 by Hewlett-Packard Company Permission to use, copy, modify, distribute, and sell this softwareand its documentation for any purpose is hereby granted without fee,provided that the above copyright notice appear in all copies andthat both that copyright notice and this permission notice appearin supporting documentation, and that the name of Sun Microsystems, Inc.and Hewlett-Packard not be used in advertising or publicity pertaining todistribution of the software without specific, written prior permission.Sun Microsystems, Inc. and Hewlett-Packard make no representations aboutthe suitability of this software for any purpose.  It is provided "as is"without express or implied warranty. SUN MICROSYSTEMS INC. AND HEWLETT-PACKARD COMPANY DISCLAIMS ALLWARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALLSUN MICROSYSTEMS, INC. AND HEWLETT-PACKARD COMPANY BE LIABLE FOR ANYSPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVERRESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OFCONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ORIN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   Author: Hidetoshi Tajima(tajima@Eng.Sun.COM) Sun Microsystems, Inc.    This version tidied and debugged by Steve Underwood May 1999 ******************************************************************/#include <X11/Xlib.h>#include <X11/Xatom.h>#ifndef NEED_EVENTS#define NEED_EVENTS#endif#include <X11/Xproto.h>#undef NEED_EVENTS#include "FrameMgr.h"#include "IMdkit.h"#include "Xi18n.h"extern Xi18nClient *_Xi18nFindClient (Xi18n, CARD16);static void *xi18n_setup (Display *, XIMArg *);static Status xi18n_openIM (XIMS);static Status xi18n_closeIM (XIMS);static char *xi18n_setIMValues (XIMS, XIMArg *);static char *xi18n_getIMValues (XIMS, XIMArg *);static Status xi18n_forwardEvent (XIMS, IMForwardEventStruct *);static Status xi18n_commit (XIMS, IMCommitStruct *);static Status xi18n_callCallback (XIMS, IMProtocol *);static Status xi18n_preeditStart (XIMS, IMProtocol *);static Status xi18n_preeditEnd (XIMS, IMProtocol *);#ifndef XIM_SERVERS#define XIM_SERVERS "XIM_SERVERS"#endifstatic Atom XIM_Servers = None;IMMethodsRec Xi18n_im_methods ={    xi18n_setup,    xi18n_openIM,    xi18n_closeIM,    xi18n_setIMValues,    xi18n_getIMValues,    xi18n_forwardEvent,    xi18n_commit,    xi18n_callCallback,    xi18n_preeditStart,    xi18n_preeditEnd,};extern Bool _Xi18nCheckXAddress (Xi18n, TransportSW *, char *);extern Bool _Xi18nCheckTransAddress (Xi18n, TransportSW *, char *);TransportSW _TransR[] ={    {"X",               1, _Xi18nCheckXAddress},    {"tcp",             3, _Xi18nCheckTransAddress},    {"local",           5, _Xi18nCheckTransAddress},#ifdef DNETCONN    {"decnet",          6, _Xi18nCheckTransAddress},#endif    {(char *) NULL,     0, (Bool (*) ()) NULL}};static Bool GetInputStyles (Xi18n i18n_core, XIMStyles **p_style){    Xi18nAddressRec *address = (Xi18nAddressRec *) &i18n_core->address;    XIMStyles *p;    int	i;    p = &address->input_styles;    if ((*p_style = (XIMStyles *) malloc (sizeof (XIMStyles)                                          + p->count_styles*sizeof (XIMStyle)))        == NULL)    {        return False;    }    /*endif*/    (*p_style)->count_styles = p->count_styles;    (*p_style)->supported_styles = (XIMStyle *) ((XPointer) *p_style + sizeof (XIMStyles));    for (i = 0;  i < (int) p->count_styles;  i++)        (*p_style)->supported_styles[i] = p->supported_styles[i];    /*endfor*/    return True;}static Bool GetOnOffKeys (Xi18n i18n_core, long mask, XIMTriggerKeys **p_key){    Xi18nAddressRec *address = (Xi18nAddressRec *) &i18n_core->address;    XIMTriggerKeys *p;    int	i;    if (mask & I18N_ON_KEYS)        p = &address->on_keys;    else        p = &address->off_keys;    /*endif*/    if ((*p_key = (XIMTriggerKeys *) malloc (sizeof(XIMTriggerKeys)                                             + p->count_keys*sizeof(XIMTriggerKey)))        == NULL)    {        return False;    }    /*endif*/    (*p_key)->count_keys = p->count_keys;    (*p_key)->keylist =        (XIMTriggerKey *) ((XPointer) *p_key + sizeof(XIMTriggerKeys));    for (i = 0;  i < (int) p->count_keys;  i++)    {        (*p_key)->keylist[i].keysym = p->keylist[i].keysym;        (*p_key)->keylist[i].modifier = p->keylist[i].modifier;        (*p_key)->keylist[i].modifier_mask = p->keylist[i].modifier_mask;    }    /*endfor*/    return True;}static Bool GetEncodings(Xi18n i18n_core, XIMEncodings **p_encoding){    Xi18nAddressRec *address = (Xi18nAddressRec *) &i18n_core->address;    XIMEncodings *p;    int	i;    p = &address->encoding_list;    if ((*p_encoding = (XIMEncodings *) malloc (sizeof (XIMEncodings)                                              + p->count_encodings*sizeof(XIMEncoding))) == NULL)    {        return False;    }    /*endif*/    (*p_encoding)->count_encodings = p->count_encodings;    (*p_encoding)->supported_encodings =        (XIMEncoding *) ((XPointer)*p_encoding + sizeof (XIMEncodings));    for (i = 0;  i < (int) p->count_encodings;  i++)    {        (*p_encoding)->supported_encodings[i]            = (char *) malloc (strlen (p->supported_encodings[i]) + 1);        strcpy ((*p_encoding)->supported_encodings[i],                p->supported_encodings[i]);    }    /*endif*/    return True;}static char *ParseArgs (Xi18n i18n_core, int mode, XIMArg *args){    Xi18nAddressRec *address = (Xi18nAddressRec *) &i18n_core->address;    XIMArg *p;    if (mode == I18N_OPEN  ||  mode == I18N_SET)    {        for (p = args;  p->name != NULL;  p++)        {            if (strcmp (p->name, IMLocale) == 0)            {                if (address->imvalue_mask & I18N_IM_LOCALE)                    return IMLocale;                /*endif*/                address->im_locale = (char *) malloc (strlen (p->value) + 1);                if (!address->im_locale)                    return IMLocale;                /*endif*/                strcpy (address->im_locale, p->value);                address->imvalue_mask |= I18N_IM_LOCALE;            }            else if (strcmp (p->name, IMServerTransport) == 0)            {                if (address->imvalue_mask & I18N_IM_ADDRESS)                    return IMServerTransport;                /*endif*/                address->im_addr = (char *) malloc (strlen (p->value) + 1);                if (!address->im_addr)                    return IMServerTransport;                /*endif*/                strcpy(address->im_addr, p->value);                address->imvalue_mask |= I18N_IM_ADDRESS;            }            else if (strcmp (p->name, IMServerName) == 0)            {                if (address->imvalue_mask & I18N_IM_NAME)                    return IMServerName;                /*endif*/                address->im_name = (char *) malloc (strlen (p->value) + 1);                if (!address->im_name)                    return IMServerName;                /*endif*/                strcpy (address->im_name, p->value);                address->imvalue_mask |= I18N_IM_NAME;            }            else if (strcmp (p->name, IMServerWindow) == 0)            {                if (address->imvalue_mask & I18N_IMSERVER_WIN)                    return IMServerWindow;                /*endif*/                address->im_window = (Window) p->value;                address->imvalue_mask |= I18N_IMSERVER_WIN;            }            else if (strcmp (p->name, IMInputStyles) == 0)            {                if (address->imvalue_mask & I18N_INPUT_STYLES)                    return IMInputStyles;                /*endif*/                address->input_styles.count_styles =                    ((XIMStyles*)p->value)->count_styles;                address->input_styles.supported_styles =                    (XIMStyle *) malloc (sizeof (XIMStyle)*address->input_styles.count_styles);                if (address->input_styles.supported_styles == (XIMStyle *) NULL)                    return IMInputStyles;                /*endif*/                memmove (address->input_styles.supported_styles,                         ((XIMStyles *) p->value)->supported_styles,                         sizeof (XIMStyle)*address->input_styles.count_styles);                address->imvalue_mask |= I18N_INPUT_STYLES;            }            else if (strcmp (p->name, IMProtocolHandler) == 0)            {                address->improto = (IMProtoHandler) p->value;                address->imvalue_mask |= I18N_IM_HANDLER;            }            else if (strcmp (p->name, IMOnKeysList) == 0)            {                if (address->imvalue_mask & I18N_ON_KEYS)                    return IMOnKeysList;                /*endif*/                address->on_keys.count_keys =                    ((XIMTriggerKeys *) p->value)->count_keys;                address->on_keys.keylist =                    (XIMTriggerKey *) malloc (sizeof (XIMTriggerKey)*address->on_keys.count_keys);                if (address->on_keys.keylist == (XIMTriggerKey *) NULL)                    return IMOnKeysList;                /*endif*/                memmove (address->on_keys.keylist,                         ((XIMTriggerKeys *) p->value)->keylist,                         sizeof (XIMTriggerKey)*address->on_keys.count_keys);                address->imvalue_mask |= I18N_ON_KEYS;            }            else if (strcmp (p->name, IMOffKeysList) == 0)            {                if (address->imvalue_mask & I18N_OFF_KEYS)                    return IMOffKeysList;                /*endif*/                address->off_keys.count_keys =                    ((XIMTriggerKeys *) p->value)->count_keys;                address->off_keys.keylist =                    (XIMTriggerKey *) malloc (sizeof (XIMTriggerKey)*address->off_keys.count_keys);                if (address->off_keys.keylist == (XIMTriggerKey *) NULL)                    return IMOffKeysList;                /*endif*/                memmove (address->off_keys.keylist,                         ((XIMTriggerKeys *) p->value)->keylist,                         sizeof (XIMTriggerKey)*address->off_keys.count_keys);                address->imvalue_mask |= I18N_OFF_KEYS;            }            else if (strcmp (p->name, IMEncodingList) == 0)            {                if (address->imvalue_mask & I18N_ENCODINGS)                    return IMEncodingList;                /*endif*/                address->encoding_list.count_encodings =                    ((XIMEncodings *) p->value)->count_encodings;                address->encoding_list.supported_encodings =                    (XIMEncoding *) malloc (sizeof (XIMEncoding)*address->encoding_list.count_encodings);                if (address->encoding_list.supported_encodings                    == (XIMEncoding *) NULL)                {                    return IMEncodingList;                }                /*endif*/                memmove (address->encoding_list.supported_encodings,                         ((XIMEncodings *) p->value)->supported_encodings,                         sizeof (XIMEncoding)*address->encoding_list.count_encodings);                address->imvalue_mask |= I18N_ENCODINGS;            }            else if (strcmp (p->name, IMFilterEventMask) == 0)            {                if (address->imvalue_mask & I18N_FILTERMASK)                    return IMFilterEventMask;                /*endif*/                address->filterevent_mask = (long) p->value;                address->imvalue_mask |= I18N_FILTERMASK;            }            /*endif*/        }        /*endfor*/        if (mode == I18N_OPEN)        {            /* check mandatory IM values */            if (!(address->imvalue_mask & I18N_IM_LOCALE))            {                /* locales must be set in IMOpenIM */                return IMLocale;            }            /*endif*/            if (!(address->imvalue_mask & I18N_IM_ADDRESS))            {                /* address must be set in IMOpenIM */                return IMServerTransport;            }            /*endif*/        }        /*endif*/    }    else if (mode == I18N_GET)    {        for (p = args;  p->name != NULL;  p++)        {            if (strcmp (p->name, IMLocale) == 0)            {                p->value = (char *) malloc (strlen (address->im_locale) + 1);                if (!p->value)                    return IMLocale;                /*endif*/                strcpy (p->value, address->im_locale);            }            else if (strcmp (p->name, IMServerTransport) == 0)            {                p->value = (char *) malloc (strlen (address->im_addr) + 1);                if (!p->value)                    return IMServerTransport;                /*endif*/                strcpy (p->value, address->im_addr);            }            else if (strcmp (p->name, IMServerName) == 0)            {                if (address->imvalue_mask & I18N_IM_NAME)                {                    p->value = (char *) malloc (strlen (address->im_name) + 1);                    if (!p->value)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合五月| 日韩欧美中文字幕公布| 亚洲成人午夜电影| 久久你懂得1024| 欧美亚洲愉拍一区二区| 国产乱子轮精品视频| 亚洲一区二区免费视频| 国产女同互慰高潮91漫画| 欧美午夜精品久久久久久孕妇| 精品一区二区三区视频| 一区二区三区在线观看欧美| 国产欧美日韩视频在线观看| 欧美高清视频www夜色资源网| 粉嫩aⅴ一区二区三区四区五区 | 亚洲美女偷拍久久| 欧美第一区第二区| 欧美日韩高清影院| 色哟哟在线观看一区二区三区| 国产在线播放一区二区三区| 日韩国产精品久久| 亚洲综合成人在线| **性色生活片久久毛片| 久久久99免费| 精品va天堂亚洲国产| 欧美美女网站色| 91啪九色porn原创视频在线观看| 丝袜亚洲另类欧美| 国产精品福利影院| 国产人久久人人人人爽| 精品国产乱码久久久久久1区2区 | 国产一区欧美日韩| 亚洲va欧美va人人爽午夜| 蜜桃视频一区二区三区在线观看| 久久99精品久久久| av欧美精品.com| 欧美专区亚洲专区| 日韩午夜激情电影| 中文av一区特黄| 亚洲午夜电影网| 国产在线一区二区| 91免费在线播放| 欧美一区二区三区啪啪| 欧美国产97人人爽人人喊| 亚洲九九爱视频| 免费精品视频最新在线| 成人在线一区二区三区| 欧美性受xxxx黑人xyx性爽| 精品少妇一区二区三区免费观看 | 另类人妖一区二区av| 成人一区二区在线观看| 欧美日韩精品免费观看视频| 精品福利二区三区| 亚洲已满18点击进入久久| 狠狠色狠狠色综合日日91app| 97久久超碰国产精品| 91精品国产欧美日韩| 国产精品久久三| 日韩精品一二三区| 91热门视频在线观看| 日韩欧美国产一二三区| 亚洲日本青草视频在线怡红院 | 欧美日韩国产片| 国产欧美日韩精品一区| 天堂午夜影视日韩欧美一区二区| 成人开心网精品视频| 777精品伊人久久久久大香线蕉| 国产午夜亚洲精品羞羞网站| 天天色综合天天| jvid福利写真一区二区三区| 日韩欧美在线一区二区三区| 亚洲免费伊人电影| 国产成人av电影免费在线观看| 欧美酷刑日本凌虐凌虐| 中文字幕视频一区| 国产乱一区二区| 91精品国产综合久久福利| 亚洲免费在线观看视频| 成人一道本在线| 精品国产乱码久久久久久闺蜜| 天天av天天翘天天综合网| caoporn国产精品| 久久久久久久电影| 老司机午夜精品| 欧美日韩三级在线| 夜夜精品视频一区二区| 成人免费视频视频在线观看免费| 精品国产99国产精品| 日韩va欧美va亚洲va久久| 欧洲一区在线电影| 亚洲欧美日韩中文字幕一区二区三区 | 欧美日韩国产影片| 一区二区三区欧美视频| 91免费看片在线观看| 中文字幕av一区二区三区免费看| 久久国产麻豆精品| 7799精品视频| 日韩av午夜在线观看| 欧美日韩国产精品自在自线| 亚洲午夜一区二区| 欧洲国内综合视频| 亚洲最大成人综合| 色哟哟欧美精品| 亚洲欧美电影一区二区| 91丨九色丨蝌蚪富婆spa| 亚洲天堂2014| 色国产精品一区在线观看| 国产精品成人在线观看| fc2成人免费人成在线观看播放| 国产亚洲欧美激情| 国产成人自拍高清视频在线免费播放| 欧美不卡一区二区三区| 久草在线在线精品观看| 久久综合久久久久88| 国产精品亚洲午夜一区二区三区 | 麻豆国产一区二区| 日韩欧美亚洲一区二区| 精品一区二区三区在线视频| 337p粉嫩大胆噜噜噜噜噜91av| 激情综合网最新| 国产三级精品三级| 成人app在线| 亚洲精品欧美激情| 欧美三级乱人伦电影| 日韩电影网1区2区| 日韩免费视频一区| 国产一区二区在线观看视频| 国产亚洲成av人在线观看导航| 不卡在线观看av| 日韩码欧中文字| 欧美日韩一区二区不卡| 捆绑变态av一区二区三区| 久久久久久久综合| eeuss鲁一区二区三区| 亚洲电影一级黄| 欧美成人猛片aaaaaaa| 国产jizzjizz一区二区| 一区二区在线观看不卡| 777午夜精品视频在线播放| 激情欧美一区二区| 中文字幕一区二区三中文字幕| 91精彩视频在线| 青娱乐精品在线视频| 国产日韩视频一区二区三区| 一本一道波多野结衣一区二区| 日韩电影在线一区二区三区| 国产午夜精品在线观看| 在线亚洲免费视频| 美女mm1313爽爽久久久蜜臀| 亚洲国产岛国毛片在线| 欧美亚洲日本国产| 九九国产精品视频| 亚洲素人一区二区| 欧美一级电影网站| av网站免费线看精品| 人人爽香蕉精品| 国产精品每日更新| 91精品国产综合久久婷婷香蕉 | 欧洲一区在线观看| 国产精品一区二区在线观看不卡 | 亚洲成人免费av| 久久一区二区三区国产精品| 91色婷婷久久久久合中文| 蜜臀av性久久久久蜜臀av麻豆| 一区在线中文字幕| 日韩欧美中文字幕一区| 99re8在线精品视频免费播放| 奇米色777欧美一区二区| 亚洲色图制服诱惑| 精品国内二区三区| 欧美日韩在线综合| 成人性生交大片免费| 全部av―极品视觉盛宴亚洲| 亚洲视频中文字幕| 精品国产一区二区在线观看| 欧美主播一区二区三区美女| 国产精品影音先锋| 天天综合日日夜夜精品| 亚洲人成在线播放网站岛国| 久久精品这里都是精品| 在线成人免费视频| 色综合天天综合网天天看片| 国产一区二区久久| 青娱乐精品视频在线| 夜夜亚洲天天久久| 中文字幕在线免费不卡| 久久久久久一二三区| 日韩欧美自拍偷拍| 91精品国产综合久久婷婷香蕉| 色综合久久久久| 成a人片国产精品| 高清在线观看日韩| 激情综合色综合久久| 日韩av在线发布| 亚洲香肠在线观看| 亚洲一区在线播放| 亚洲欧美国产毛片在线| 亚洲三级在线看| 亚洲男帅同性gay1069| 亚洲视频一二三| 专区另类欧美日韩|