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

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

?? fblin1.c

?? 嵌入式系統圖形用戶界面編程
?? C
?? 第 1 頁 / 共 2 頁
字號:
    if (s_head == d_head) {        if (d_head) {            if (d_head + w > 8) {                *dst = (*src & right_side_mask [d_head]) | (*dst & left_side_mask [d_head]);                src ++; dst ++;                w -= 8 - d_head;            }            else {                gal_uint8 mask = left_ban_mask [w] << d_head;                *dst = (*src & mask) | (*dst & ~mask);                return;            }        }        while (w > 7) {            *dst++ = *src++;            w -= 8;        }        if (w) {            *dst = (*src & left_side_mask [w]) | (*dst & (right_side_mask [w]));        }    }    else if (d_head > s_head) {        int shift = d_head - s_head;        gal_uint8 sl_half = *src << shift;        gal_uint8 sr_half;        gal_uint8 sb_new;        if (d_head + w > 8) {            *dst = (sl_half & right_side_mask [d_head]) | (*dst & left_side_mask [d_head]);            dst++;            w -= 8 - d_head;        }        else {            gal_uint8 mask = left_ban_mask [w] << d_head;            *dst = (sl_half & mask) | (*dst & ~mask);            return;        }        sr_half = *src & right_ban_mask [shift];        while (w > 7) {            src++;            sl_half = *src << shift;            sb_new = sl_half | (sr_half >> (8 - shift));            sr_half = *src & right_ban_mask [shift];            *dst = sb_new;            dst++;             w -= 8;        }        if (w) {            sr_half = *src & right_ban_mask [shift];            if (w > shift) {                src++;                sl_half = *src << shift;                sb_new = sl_half | (sr_half >> (8 - shift));            }            else                sb_new = (sr_half >> (8 - shift));            *dst = (sb_new & left_side_mask [w]) | (*dst & right_side_mask[w]);        }    }    else /* s_head > d_head */    {        int shift = s_head - d_head;        gal_uint8 sl_half = *src >> shift;        gal_uint8 sr_half;        gal_uint8 sb_new;        if (s_head + w > 8) {            sr_half = *(src + 1) & (left_ban_mask [shift]);            sb_new = sl_half | (sr_half << (8 - shift));        }        else            sb_new = sl_half;        if (d_head) {            if (d_head + w > 8) {                *dst = (sb_new & right_side_mask [d_head]) | (*dst & left_side_mask [d_head]);                dst++; src++;                w -= 8 - d_head;            }            else {                gal_uint8 mask = left_ban_mask [w] << d_head;                *dst = (sb_new & mask) | (*dst & ~mask);                return;            }        }        while (w > 7) {            sl_half = *src >> shift;            sr_half = *(++src) & (left_ban_mask [shift]);            sb_new = sl_half | (sr_half << (8 - shift));            *dst = sb_new;            dst++;             w -= 8;        }        if (w) {            sl_half = *src >> shift;            if (w > 8 - shift) {                sr_half = *(++src) & (left_ban_mask [shift]);                sb_new = sl_half | (sr_half << (8 - shift));            }            else                sb_new = sl_half;            *dst = (sb_new & left_side_mask [w]) | (*dst & right_side_mask[w]);        }    }}#if 0/* copy line from right to left, used when dst and src overlap */static void fblin1_copyline_rl (gal_uint8 *src, int x1, gal_uint8 *dst, int x2, int w){    int s_tail = (x1 + w - 1) & 7;    int d_tail = (x2 + w - 1) & 7;    if (s_tail == d_tail) {        if (d_tail) {            if (w > d_tail) {                *dst = (*src & left_side_mask [d_tail]) | (*dst & right_side_mask [d_tail]);                src --; dst --;                w -= d_tail;            }            else {                gal_uint8 mask = right_ban_mask [w] >> (8 - d_tail);                *dst = (*src & mask) | (*dst & ~mask);                return;            }        }        while (w > 7) {            *dst-- = *src--;            w -= 8;        }        if (w)            *dst = (*src & right_side_mask [w]) | (*dst & left_side_mask [w]);    }    else if (s_tail > d_tail) {        int shift = s_tail - d_tail;        gal_uint8 sr_half = *src >> shift;        gal_uint8 sl_half;        gal_uint8 sb_new;                if (w > d_tail) {            *dst = (sr_half & left_side_mask [d_tail]) | (*dst & right_side_mask [d_tail]);            dst--;            w -= d_tail;        }        else {            gal_uint8 mask = right_ban_mask [w] >> (8 - d_tail);            *dst = (sr_half & mask) | (*dst & ~mask);            return;        }        sl_half = *src & left_ban_mask [shift];        while (w > 7) {            src--;            sr_half = *src >> shift;            sb_new = sr_half | (sl_half << (8 - shift));            sl_half = *src & left_ban_mask [shift];            *dst = sb_new; dst--;            w -= 8;        }        if (w) {            src--;            sr_half = *src >> shift;            sb_new = sr_half | (sl_half << (8 - shift));            *dst = (sb_new & right_side_mask [w]) | (*dst & left_side_mask[w]);        }    }    else /* d_tail > s_tail */    {        int shift = d_tail - s_tail;        gal_uint8 sr_half = *src << shift;        gal_uint8 sl_half;        gal_uint8 sb_new;        if (w > s_tail) {            sl_half = *(src - 1) & (right_ban_mask [shift]);            sb_new = sr_half | (sl_half >> (8 - shift));        }        else            sb_new = sr_half;        if (w > d_tail) {            *dst = (sb_new & left_side_mask [d_tail]) | (*dst & right_side_mask [d_tail]);            dst--; src--;            w -= d_tail;        }        else {            gal_uint8 mask = right_ban_mask [w] >> (8 - d_tail);            *dst = (sb_new & mask) | (*dst & ~mask);            return;        }        while (w > 7) {            sr_half = *src << shift;            sl_half = *(--src) & (right_ban_mask [shift]);            sb_new = sr_half | (sl_half >> (8 - shift));            *dst = sb_new;            dst--;            w -= 8;        }        if (w) {            sr_half = *src << shift;            if (w > 8 - shift) {                sl_half = *(--src) & (right_ban_mask [shift]);                sb_new = sr_half | (sl_half >> (8 - shift));            }            else                sb_new = sr_half;            *dst = (sb_new & right_side_mask [w]) | (*dst & left_side_mask[w]);        }    }}#endifstatic void fblin1_copybox (PSD psd, int x1, int y1, int w, int h, int x2, int y2){    register gal_uint8 *src, *dst;    register int linelen = psd->linelen;    if (y1 == y2) {        if (x1 < x2 && x1 + w > x2) {#if 0            src= psd->addr + y1 * linelen + ((x1 + w - 1)>> 3);            dst= psd->addr + y2 * linelen + ((x2 + w - 1)>> 3);            while (h) {                fblin1_copyline_rl (src, x1, dst, x2, w);                src += linelen;                dst += linelen;                h--;            }#else            //gal_uint8 *tmp = alloca (w >> 3);            gal_uint8 *tmp = malloc (w >> 3);            src= psd->addr + y1 * linelen + (x1 >> 3);            dst= psd->addr + y2 * linelen + (x2 >> 3);            while (h) {                fblin1_copyline_lr (src, x1, tmp, 0, w);                fblin1_copyline_lr (tmp, 0, dst, x2, w);                src += linelen;                dst += linelen;                h--;            }            free (tmp);#endif        }        else {            src= psd->addr + y1 * linelen + (x1 >> 3);            dst= psd->addr + y2 * linelen + (x2 >> 3);            while (h) {                fblin1_copyline_lr (src, x1, dst, x2, w);                src += linelen;                dst += linelen;                h--;            }        }    }    else if (y1 < y2 && y1 + h >= y2) {        y1 += (h-1);        y2 += (h-1);        src= psd->addr + y1 * linelen + (x1 >> 3);        dst= psd->addr + y2 * linelen + (x2 >> 3);        while (h) {            fblin1_copyline_lr (src, x1, dst, x2, w);            src -= linelen;            dst -= linelen;            h--;        }    }    else {        src= psd->addr + y1 * linelen + (x1 >> 3);        dst= psd->addr + y2 * linelen + (x2 >> 3);        while (h) {            fblin1_copyline_lr (src, x1, dst, x2, w);            src += linelen;            dst += linelen;            h--;        }    }}/* blit, no clipping */static void fblin1_blit (PSD dstpsd, int dstx, int dsty, int w, int h,    PSD srcpsd, int srcx, int srcy){    gal_uint8* dst;    gal_uint8* src;    dst = get_pixel_address (dstpsd, dstx, dsty);    src = get_pixel_address (srcpsd, srcx, srcy);    while (h) {        fblin1_copyline_lr (src, srcx, dst, dstx, w);        src += srcpsd->linelen;        dst += dstpsd->linelen;        h--;    }}SUBDRIVER fblinear1 = {    fblin1_init,    fblin1_drawpixel,    fblin1_readpixel,    fblin1_drawhline,    fblin1_drawvline,    fblin1_blit,    fblin1_putbox,    fblin1_getbox,    fblin1_putboxmask,    fblin1_copybox};#endif /* _FBLIN1R_SUPPORT */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国精品自拍自在线| 亚洲人妖av一区二区| 中文字幕 久热精品 视频在线| 亚洲女人的天堂| 精品一区二区在线看| 欧美三区免费完整视频在线观看| 久久美女高清视频| 日韩国产精品久久久| av一二三不卡影片| 久久精品一区二区三区av| 亚洲成国产人片在线观看| 成人黄色a**站在线观看| wwww国产精品欧美| 青青草精品视频| 欧美日韩国产免费| 一区二区三区蜜桃| 色哟哟国产精品免费观看| 中文字幕不卡的av| 国产成人精品免费在线| 久久久美女艺术照精彩视频福利播放| 天堂午夜影视日韩欧美一区二区| 91免费看片在线观看| 日本一区二区不卡视频| 高清成人免费视频| 国产精品欧美精品| 欧美午夜在线一二页| 国产精品亲子乱子伦xxxx裸| 亚洲香蕉伊在人在线观| 亚洲宅男天堂在线观看无病毒| 亚洲国产视频在线| 国产欧美日本一区二区三区| 久久精品国产亚洲a| 日韩女同互慰一区二区| 蜜臀久久久久久久| 日韩美一区二区三区| 九一久久久久久| 久久先锋资源网| 国产91丝袜在线18| 中文字幕欧美日韩一区| 国产91对白在线观看九色| 国产精品久久影院| 91色在线porny| 专区另类欧美日韩| 91玉足脚交白嫩脚丫在线播放| 欧美国产欧美综合| 成人听书哪个软件好| 1024亚洲合集| 色88888久久久久久影院野外| 日韩伦理免费电影| 日本精品裸体写真集在线观看| 欧美色手机在线观看| 国产欧美日韩综合| 成人午夜电影小说| 国产色综合久久| 91免费观看在线| 一区二区三区日韩欧美| 日本韩国精品在线| 亚洲精品中文字幕乱码三区| 欧洲亚洲国产日韩| 蜜臀av亚洲一区中文字幕| 中国av一区二区三区| 欧美性猛交xxxx乱大交退制版| 免费看精品久久片| 中文字幕一区二区三区精华液| 在线视频综合导航| 国产一区二区三区黄视频 | 另类小说视频一区二区| 欧美精品一区二区久久婷婷 | 亚洲免费观看高清完整版在线| kk眼镜猥琐国模调教系列一区二区| 国产精品人成在线观看免费| 欧美日韩成人综合天天影院 | 久久精品一区二区三区不卡 | 亚洲成av人综合在线观看| 欧美精品一区二区久久婷婷| 91麻豆国产香蕉久久精品| 美女视频黄 久久| 国产午夜亚洲精品羞羞网站| 色综合久久天天| 国产一区高清在线| 亚洲卡通欧美制服中文| 精品日韩一区二区三区免费视频| 色婷婷精品久久二区二区蜜臂av| 国内精品久久久久影院色| 亚洲精品亚洲人成人网在线播放| 精品久久久久久久久久久久包黑料 | 国产成人精品综合在线观看| 亚洲国产精品一区二区www| 日本一区二区三区久久久久久久久不 | 精品国精品国产尤物美女| 91国产福利在线| 成人黄页毛片网站| 美洲天堂一区二卡三卡四卡视频| 亚洲欧美国产77777| 欧美激情一区在线观看| 日韩一级在线观看| 91久久香蕉国产日韩欧美9色| 激情偷乱视频一区二区三区| 亚洲一区在线看| 亚洲男人的天堂在线观看| 国产欧美日韩精品a在线观看| 精品国产自在久精品国产| 91精品国产手机| 欧美色视频一区| 日本精品视频一区二区三区| 国产高清在线精品| 日韩精品电影在线| 日韩电影在线一区二区三区| 亚洲大片免费看| 亚洲成av人片在www色猫咪| 亚洲精品美国一| 亚洲乱码一区二区三区在线观看| 日韩一区欧美一区| 日韩理论片中文av| 亚洲精品乱码久久久久久久久 | 精品国产91洋老外米糕| 色呦呦一区二区三区| 成人影视亚洲图片在线| 国产精品一区二区三区乱码| 国产精品性做久久久久久| 国产高清精品久久久久| 国产精品一二三四五| 国产激情一区二区三区四区| 国产精品1区2区3区| 国产白丝精品91爽爽久久| k8久久久一区二区三区 | 亚洲一二三专区| 亚洲一区av在线| 一区二区三区欧美日| 欧美一级精品在线| 91麻豆国产福利精品| 激情五月激情综合网| 久久精品亚洲麻豆av一区二区 | 亚洲综合在线五月| 五月综合激情日本mⅴ| 久久精品国产精品青草| 国产成人精品亚洲777人妖| k8久久久一区二区三区| 在线观看亚洲成人| 67194成人在线观看| 欧美高清激情brazzers| 精品人在线二区三区| 国产喷白浆一区二区三区| 亚洲色图制服诱惑| 日韩avvvv在线播放| 免费观看30秒视频久久| 国产在线精品一区二区| 成人av电影免费观看| 91老师国产黑色丝袜在线| 欧美一区二区二区| 中文字幕一区二区三区在线播放| 亚洲一区二区三区四区在线免费观看| 成人av影院在线| 粉嫩av一区二区三区| 欧美日韩免费高清一区色橹橹| 麻豆精品国产传媒mv男同| 成人免费av在线| 欧美三级一区二区| 日韩欧美国产综合| 久久久精品人体av艺术| 中文字幕日本不卡| 日本在线不卡一区| 丁香啪啪综合成人亚洲小说| 欧美日韩一区二区在线观看视频| 欧美精品一区二区三区四区| 一色屋精品亚洲香蕉网站| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产在线一区二区| 日本韩国欧美在线| 日韩免费视频一区二区| 午夜欧美大尺度福利影院在线看| 国产白丝精品91爽爽久久| 欧美日韩电影在线播放| 久久精品男人的天堂| 五月天激情综合| 成人性生交大片| 91精品国产91久久久久久最新毛片 | 樱花影视一区二区| 国产一区二区免费视频| 欧美少妇bbb| 国产无人区一区二区三区| 性久久久久久久久久久久| 风间由美一区二区av101| 欧美性猛交xxxxxx富婆| 国产精品美女久久久久久2018| 视频一区中文字幕国产| 欧美亚洲高清一区二区三区不卡| 国产欧美日韩卡一| 国产精品一色哟哟哟| 欧美精品一区二区三区四区| 麻豆精品久久精品色综合| 欧美电影在线免费观看| 午夜精品一区二区三区电影天堂| 色婷婷综合在线| 亚洲激情图片一区| 色www精品视频在线观看| 亚洲精品ww久久久久久p站| 91麻豆福利精品推荐| 夜夜嗨av一区二区三区中文字幕| 成人app下载|