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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? framemgr.c

?? 手寫識別Chinput源碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
    type = it->template->type;    switch (type)    {    case BARRAY:        {            ExtraData d;            ExtraDataRec dr;            for (i = 0;  i < it->max_count;  i++)            {                if ((d = ChainMgrGetExtraData (&it->cm, i)) == NULL)                {                    dr.num = NO_VALUE;                    d = ChainMgrSetData (&it->cm, i, dr);                }                /*endif*/                if (d->num == NO_VALUE)                {                    d->num = num;                    return FmSuccess;                }                /*endif*/            }            /*endfor*/            if (it->allow_expansion)            {                ExtraDataRec dr;                                dr.num = num;                ChainMgrSetData (&it->cm, it->max_count, dr);                it->max_count++;                    return FmSuccess;            }            /*endif*/        }           return FmNoMoreData;    case ITER:        {            ExtraData d;            ExtraDataRec dr;            for (i = 0;  i < it->max_count;  i++)            {                if ((d = ChainMgrGetExtraData (&it->cm, i)) == NULL)                {                    dr.iter = IterInit (it->template + 1, NO_VALUE);                    d = ChainMgrSetData (&it->cm, i, dr);                }                /*endif*/                if (IterSetSize (d->iter, num) == FmSuccess)                    return FmSuccess;                /*endif*/            }            /*endfor*/            if (it->allow_expansion)            {                ExtraDataRec dr;                dr.iter = IterInit (it->template + 1, NO_VALUE);                ChainMgrSetData (&it->cm, it->max_count, dr);                it->max_count++;                if (IterSetSize(dr.iter, num) == FmSuccess)                    return FmSuccess;                /*endif*/            }            /*endif*/        }        return FmNoMoreData;    case POINTER:        {            ExtraData d;            ExtraDataRec dr;            for (i = 0;  i < it->max_count;  i++)            {                if ((d = ChainMgrGetExtraData (&it->cm, i)) == NULL)                {                    dr.fi = FrameInstInit (it->template[1].data);                    d = ChainMgrSetData (&it->cm, i, dr);                }                /*endif*/                if (FrameInstSetSize (d->fi, num) == FmSuccess)                    return FmSuccess;                /*endif*/            }            /*endfor*/            if (it->allow_expansion)            {                ExtraDataRec dr;                dr.fi = FrameInstInit (it->template[1].data);                ChainMgrSetData (&it->cm, it->max_count, dr);                it->max_count++;                if (FrameInstSetSize (dr.fi, num) == FmSuccess)                    return FmSuccess;                /*endif*/            }            /*endif*/        }        return FmNoMoreData;    }    /*endswitch*/    return FmNoMoreData;}static int IterGetSize (Iter it){    register int i;    ExtraData d;    ExtraDataRec dr;    if (it->cur_no >= it->max_count)        return NO_VALID_FIELD;    /*endif*/        switch (it->template->type)    {    case BARRAY:        if ((d = ChainMgrGetExtraData (&it->cm, it->cur_no)) == NULL)            return NO_VALUE;        /*endif*/        return d->num;    case ITER:        for (i = it->cur_no; i < it->max_count; i++)        {            int ret_size;            if ((d = ChainMgrGetExtraData (&it->cm, i)) == NULL)            {                dr.iter = IterInit (it->template + 1, NO_VALUE);                d = ChainMgrSetData (&it->cm, i, dr);            }            /*endif*/            ret_size = IterGetSize (d->iter);            if (ret_size != NO_VALID_FIELD)                return ret_size;            /*endif*/        }        /*endfor*/        return NO_VALID_FIELD;        case POINTER:        for (i = it->cur_no;  i < it->max_count;  i++)        {            int ret_size;                        if ((d = ChainMgrGetExtraData (&it->cm, i)) == NULL)            {                dr.fi = FrameInstInit (it->template[1].data);                d = ChainMgrSetData (&it->cm, i, dr);            }            /*endif*/            ret_size = FrameInstGetSize (d->fi);            if (ret_size != NO_VALID_FIELD)                return ret_size;            /*endif*/        }        /*endfor*/        return NO_VALID_FIELD;    }    /*endswitch*/    return NO_VALID_FIELD;}static FmStatus IterSetIterCount (Iter it, int num){    register int i;    if (it->allow_expansion)    {        it->max_count = num;        it->allow_expansion = False;        return FmSuccess;    }    /*endif*/    if (it->max_count == 0)        return FmNoMoreData;    /*endif*/    switch (it->template->type)    {    case ITER:        for (i = 0;  i < it->max_count;  i++)        {            ExtraData d;            ExtraDataRec dr;            if ((d = ChainMgrGetExtraData(&it->cm, i)) == NULL)            {                dr.iter = IterInit(it->template + 1, num);                (void)ChainMgrSetData(&it->cm, i, dr);                return FmSuccess;            }            /*endif*/            if (IterSetIterCount(d->iter, num) == FmSuccess)                return FmSuccess;            /*endif*/        }        /*endfor*/        if (it->allow_expansion)        {            ExtraDataRec dr;            dr.iter = IterInit (it->template + 1, num);            ChainMgrSetData (&it->cm, it->max_count, dr);            it->max_count++;            return FmSuccess;        }        /*endif*/        break;        case POINTER:        for (i = 0;  i < it->max_count;  i++)        {            ExtraData d;            ExtraDataRec dr;                        if ((d = ChainMgrGetExtraData (&it->cm, i)) == NULL)            {                dr.fi = FrameInstInit (it->template[1].data);                d = ChainMgrSetData (&it->cm, i, dr);            }            /*endif*/            if (FrameInstSetIterCount (d->fi, num) == FmSuccess)                return FmSuccess;            /*endif*/        }        /*endfor*/        if (it->allow_expansion)        {            ExtraDataRec dr;                        dr.fi = FrameInstInit (it->template[1].data);            ChainMgrSetData (&it->cm, it->max_count, dr);            it->max_count++;            if (FrameInstSetIterCount (dr.fi, num) == FmSuccess)                return FmSuccess;            /*endif*/        }        /*endif*/        break;    }    /*endswitch*/    return FmNoMoreData;}static int IterGetTotalSize (Iter it){    register int size, i;    XimFrameType type;    if (it->allow_expansion)        return NO_VALUE;    /*endif*/    if (it->max_count == 0)        return 0;    /*endif*/    size = 0;    type = it->template->type;    switch (type)    {    case BIT8:        size = it->max_count;        break;    case BIT16:        size = it->max_count*2;        break;    case BIT32:        size = it->max_count*4;        break;    case BIT64:        size = it->max_count*8;        break;    case BARRAY:        for (i = 0;  i < it->max_count;  i++)        {            register int num;            ExtraData d;                        if ((d = ChainMgrGetExtraData (&it->cm, i)) == NULL)                return  NO_VALUE;            /*endif*/            if ((num = d->num) == NO_VALUE)                return  NO_VALUE;            /*endif*/            size += num;        }        /*endfor*/        break;            case ITER:        for (i = 0;  i < it->max_count;  i++)        {            register int num;            ExtraData d;                        if ((d = ChainMgrGetExtraData (&it->cm, i)) == NULL)                return  NO_VALUE;            /*endif*/            if ((num = IterGetTotalSize (d->iter)) == NO_VALUE)                return  NO_VALUE;            /*endif*/            size += num;        }        /*endfor*/        break;            case POINTER:        for (i = 0;  i < it->max_count;  i++)        {            register int num;            ExtraData d;            ExtraDataRec dr;                        if ((d = ChainMgrGetExtraData (&it->cm, i)) == NULL)            {                dr.fi = FrameInstInit (it->template[1].data);                d = ChainMgrSetData (&it->cm, i, dr);            }            /*endif*/            if ((num = FrameInstGetTotalSize (d->fi)) == NO_VALUE)                return NO_VALUE;            /*endif*/            size += num;        }        /*endfor*/        break;    }    /*endswitch*/    return  size;}static void IterReset (Iter it){    ChainIterRec ci;    int count;    ExtraDataRec d;    switch (it->template->type)    {    case ITER:        ChainIterInit (&ci, &it->cm);        while (ChainIterGetNext (&ci, &count, &d))            IterReset (d.iter);        /*endwhile*/        ChainIterFree (&ci);        break;      case POINTER:        ChainIterInit (&ci, &it->cm);        while (ChainIterGetNext (&ci, &count, &d))            FrameInstReset (d.fi);        /*endwhile*/        ChainIterFree (&ci);        break;    }    /*endswitch*/    it->cur_no = 0;}static void IterSetStartWatch (Iter it,                               IterStartWatchProc proc,                               void *client_data){    it->start_watch_proc = proc;    it->client_data = client_data;}static ExtraData ChainMgrSetData (ChainMgr cm,                                  int frame_no,                                  ExtraDataRec data){    Chain cur = (Chain) Xmalloc (sizeof (ChainRec));    cur->frame_no = frame_no;    cur->d = data;    cur->next = NULL;    if (cm->top == NULL)    {        cm->top = cm->tail = cur;    }    else    {        cm->tail->next = cur;        cm->tail = cur;    }    /*endif*/    return &cur->d;}static ExtraData ChainMgrGetExtraData (ChainMgr cm, int frame_no){    Chain cur;    cur = cm->top;    while (cur)    {        if (cur->frame_no == frame_no)            return &cur->d;        /*endif*/        cur = cur->next;    }    /*endwhile*/    return NULL;}static Bool ChainIterGetNext (ChainIter ci, int *frame_no, ExtraData d){    if (ci->cur == NULL)        return False;    /*endif*/        *frame_no = ci->cur->frame_no;    *d = ci->cur->d;    ci->cur = ci->cur->next;    return True;}static int _FrameInstIncrement (XimFrame frame, int count){    XimFrameType type;    type = frame[count].type;    type &= ~COUNTER_MASK;    switch (type)    {    case BIT8:    case BIT16:    case BIT32:    case BIT64:    case BARRAY:    case PADDING:        return count + 1;            case POINTER:        return count + 2;            case ITER:        return _FrameInstIncrement (frame, count + 1);    }    /*endswitch*/    return - 1;    /* Error */}static int _FrameInstDecrement (XimFrame frame, int count){    register int i;    XimFrameType type;    if (count == 0)        return - 1;    /* cannot decrement */    /*endif*/        if (count == 1)        return 0;     /* BOGUS - It should check the contents of data */    /*endif*/        type = frame[count - 2].type;    type &= ~COUNTER_MASK;    switch (type)    {    case BIT8:    case BIT16:    case BIT32:    case BIT64:    case BARRAY:    case PADDING:    case PTR_ITEM:        return count - 1;    case POINTER:    case ITER:        i = count - 3;        while (i >= 0)        {            if (frame[i].type != ITER)                return i + 1;            /*endif*/            i--;        }        /*endwhile*/        return 0;    }    /*enswitch*/    return - 1;    /* Error */}static int _FrameInstGetItemSize (FrameInst fi, int cur_no){    XimFrameType type;    type = fi->template[cur_no].type;    type &= ~COUNTER_MASK;    switch (type)    {    case BIT8:        return 1;    case BIT16:        return 2;    case BIT32:        return 4;    case BIT64:        return 8;    case BARRAY:        {            ExtraData d;            if ((d = ChainMgrGetExtraData (&fi->cm, cur_no)) == NULL)                return NO_VALUE;            /*endif*/            if (d->num == NO_VALUE)                return NO_VALUE;            /*endif*/            return d->num;        }    case PADDING:        {            register int unit;            register int number;            register int size;            register int i;            unit = _UNIT ((int) fi->template[cur_no].data);            number = _NUMBER ((int) fi->template[cur_no].data);            i = cur_no;            size = 0;            while (number > 0)            {                i = _FrameInstDecrement (fi->template, i);                size += _FrameInstGetItemSize (fi, i);                number--;            }            /*endwhile*/            size = (unit - (size%unit))%unit;            return size;        }    case ITER:        {            ExtraData d;            int sub_size;            if ((d = ChainMgrGetExtraData (&fi->cm, cur_no)) == NULL)                return NO_VALUE;            /*endif*/            sub_size = IterGetTotalSize (d->iter);            if (sub_size == NO_VALUE)                return NO_VALUE;            /*endif*/            return sub_size;        }    case POINTER:        {            ExtraData d;            int sub_size;            if ((d = ChainMgrGetExtraData (&fi->cm, cur_no)) == NULL)                return NO_VALUE;            /*endif*/            sub_size = FrameInstGetTotalSize (d->fi);            if (sub_size == NO_VALUE)                return NO_VALUE;            /*endif*/            return sub_size;        }    }    /*endswitch*/    return NO_VALUE;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一二三四区| 日韩一区二区电影网| 日韩精品亚洲一区二区三区免费| 久久蜜臀中文字幕| 欧美日韩一区精品| www.在线成人| 国内外成人在线视频| 亚洲二区在线观看| 国产精品久久久久久久久搜平片 | 国产精品一区三区| 亚洲va中文字幕| 亚洲免费视频成人| 欧美国产日本视频| 精品久久久久久久久久久院品网| 91国产丝袜在线播放| 成人av网在线| 激情综合色丁香一区二区| 亚洲国产成人va在线观看天堂| 国产精品入口麻豆九色| 久久综合网色—综合色88| 正在播放一区二区| 欧美三级电影网| 91成人在线精品| 91视频在线观看免费| 波多野结衣一区二区三区| 国产一区二区在线看| 麻豆国产91在线播放| 蜜桃一区二区三区在线| av中文字幕不卡| 粉嫩13p一区二区三区| 国产综合久久久久久鬼色 | 国产真实乱子伦精品视频| 日韩黄色一级片| 亚洲aaa精品| 午夜在线成人av| 调教+趴+乳夹+国产+精品| 一区二区三区四区乱视频| 亚洲特黄一级片| 亚洲品质自拍视频网站| 亚洲欧洲日本在线| 亚洲摸摸操操av| 亚洲一区二区三区美女| 亚洲综合一区二区| 亚洲国产精品欧美一二99| 亚洲自拍偷拍综合| 亚洲国产婷婷综合在线精品| 亚洲国产另类av| 日韩成人免费电影| 久久99这里只有精品| 久久丁香综合五月国产三级网站| 另类小说综合欧美亚洲| 久久国产综合精品| 国产在线播放一区二区三区| 国产一区二区电影| 大白屁股一区二区视频| 色综合久久中文综合久久牛| 日本精品视频一区二区| 91精品久久久久久久91蜜桃| 精品欧美久久久| 国产精品美女一区二区| 亚洲综合激情网| 免费成人av在线播放| 国产伦精品一区二区三区免费| 成人精品国产一区二区4080| 在线观看成人小视频| 日韩写真欧美这视频| 国产欧美一区二区在线| 一区二区免费视频| 久久97超碰国产精品超碰| 粉嫩久久99精品久久久久久夜| 日本福利一区二区| 日韩三区在线观看| 国产精品视频看| 亚洲v日本v欧美v久久精品| 国产一区二区在线影院| 日本福利一区二区| 久久色.com| 亚洲最大成人综合| 国产一区在线看| 色婷婷香蕉在线一区二区| 日韩一区二区在线看片| 国产精品久久毛片| 免费视频最近日韩| 97se亚洲国产综合自在线| 欧美一区二区三区在线观看视频| 国产日产亚洲精品系列| 午夜精品福利一区二区三区av| 国产一区二区91| 欧美三级电影一区| 国产精品视频一区二区三区不卡| 性欧美疯狂xxxxbbbb| eeuss鲁片一区二区三区在线观看| 欧美日韩精品一区二区天天拍小说| 久久精品视频免费观看| 日本伊人色综合网| 色婷婷综合视频在线观看| 精品国产a毛片| 午夜亚洲国产au精品一区二区| 豆国产96在线|亚洲| 欧美一区二区日韩| 一区二区免费在线| 99在线视频精品| 久久伊99综合婷婷久久伊| 亚洲国产精品精华液网站| 99久久精品国产麻豆演员表| 精品精品国产高清一毛片一天堂| 一区二区国产视频| 成人短视频下载| 久久久91精品国产一区二区三区| 日本怡春院一区二区| 欧美男男青年gay1069videost| 伊人婷婷欧美激情| 成人精品免费看| 久久久精品黄色| 狠狠色丁香婷婷综合| 日韩欧美在线不卡| 日韩av一区二区在线影视| 欧美日韩在线观看一区二区| 亚洲黄色在线视频| 色菇凉天天综合网| 日韩毛片高清在线播放| av中文字幕亚洲| 国产精品久久综合| 成人激情校园春色| 国产精品热久久久久夜色精品三区| 国产一区二区毛片| 欧美成人激情免费网| 久久国产精品露脸对白| 欧美一级艳片视频免费观看| 日韩高清不卡一区二区三区| 在线不卡免费欧美| 青青青爽久久午夜综合久久午夜| 欧美日韩精品一二三区| 亚洲成人动漫在线观看| 欧美精品日韩精品| 日韩vs国产vs欧美| 日韩精品专区在线影院重磅| 久88久久88久久久| 国产欧美精品一区二区三区四区| 高清日韩电视剧大全免费| 国产精品视频yy9299一区| 色综合天天综合给合国产| 尤物在线观看一区| 欧美日韩大陆在线| 午夜电影一区二区| 日韩精品中午字幕| 国产91丝袜在线18| 国产精品国产精品国产专区不片| 一本色道亚洲精品aⅴ| 丝袜美腿一区二区三区| 日韩精品在线看片z| 国产麻豆精品一区二区| 国产亚洲欧美激情| av影院午夜一区| 一区二区三区精品在线观看| 欧美一卡二卡三卡| 国产超碰在线一区| 亚洲福利视频一区| 精品成人免费观看| 99视频在线观看一区三区| 亚洲午夜免费福利视频| 欧美大黄免费观看| 成人av资源网站| 亚洲成人av在线电影| 久久久久久久久免费| 91福利精品视频| 美女视频免费一区| 中文字幕av一区二区三区高 | 麻豆久久一区二区| 中文字幕av在线一区二区三区| 欧美视频在线观看一区二区| 理论片日本一区| 亚洲乱码一区二区三区在线观看| 欧美久久久久久久久久 | 欧美三级在线播放| 国产一区在线视频| 亚洲自拍欧美精品| 久久久蜜桃精品| 精品视频一区 二区 三区| 国产精品99久久久| 亚洲午夜久久久久久久久电影院| 精品日韩一区二区| 91久久精品一区二区| 国产精品一线二线三线精华| 亚洲午夜精品久久久久久久久| 亚洲精品一区二区三区在线观看 | 久热成人在线视频| 中文字幕在线不卡| 日韩午夜在线影院| 欧美在线你懂的| 国产·精品毛片| 久久精品国产精品亚洲红杏| 一区二区三区在线视频免费 | 国产一区二区三区观看| 亚洲五月六月丁香激情| 欧美国产1区2区| 欧美电影免费观看高清完整版 | 日韩免费观看2025年上映的电影 | 日韩一区二区三区三四区视频在线观看| 国产v综合v亚洲欧|