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

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

?? fbvga16.c

?? 該源碼是miniGUI的全部代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
    if (psd->flags & PSF_MEMORY)         return (addr[(x>>1) + y * psd->linelen] >> ((1-(x&1))<<2) ) & 0x0f;    src = SCREENBASE(psd) + (x>>3) + y * BYTESPERLINE(psd);    for(plane = 0; plane < 4; ++plane) {        set_read_plane(plane);        if(GETBYTE(src) & mask[x&7])            c |= 1 << plane;    }    return c;}/* Draw horizontal line from x1,y to x2,y including final point*/static void fbvga16_drawhline (PSD psd, int x, int y, int w, gal_pixel c){    gal_uint8    *addr= (gal_uint8 *)psd->addr;    gal_uint8* dst, last;    int cc;    if (psd->flags & PSF_MEMORY) {        addr += (x>>1) + y * psd->linelen;        cc = c | (c << 4);        if(psd->gr_mode == MODE_XOR) {            if (x & 1) {                *addr = (*addr & notmask[1]) | (c ^ (*addr & notmask[0]));                addr++;                w --;            }            while (w > 1) {                *addr++ ^= cc ;                w -= 2;            }            if (w == 1)                 *addr = (*addr & notmask[0]) | ((c << 4)^(*addr & notmask[1]));        } else {            if (x & 1) {                *addr = (*addr & notmask[1]) | c;                addr++;                w --;            }            while (w > 1) {                *addr++ = cc ;                w -= 2;            }            if (w == 1)                 *addr = (*addr & notmask[0]) | (c << 4);        }        return;    }    set_color (c);    set_op(mode_table[psd->gr_mode]);    /*    * The following fast drawhline code is buggy for XOR drawing,    * for some reason.  So, we use the equivalent slower drawpixel    * method when not drawing MODE_SET.    */    if(psd->gr_mode == MODE_SET) {        dst = SCREENBASE(psd) + (x>>3) + y * BYTESPERLINE(psd);        if ((x>>3) == ( (x + w - 1)>>3) ) {            select_and_set_mask ((0xff >> (x & 7)) & (0xff << (7 - ((x + w - 1) & 7))));            RMW (dst);        } else {            select_and_set_mask (0xff >> (x & 7));            RMW (dst++);            set_mask (0xff);            last = SCREENBASE(psd)  + ( (x + w - 1) >>3) + y * BYTESPERLINE(psd);            while (dst < last)                PUTBYTE(dst++, 1);            set_mask (0xff << (7 - ((x + w - 1) & 7)));            RMW (dst);        }    } else {        /* slower method, draw pixel by pixel*/        select_mask ();        while(w--) {            set_mask (mask[x&7]);            RMW ((gal_uint8*)SCREENBASE(psd)  + (x++>>3) + y * BYTESPERLINE(psd));        }    }}static void fbvga16_drawvline(PSD psd, int x, int y, int h, gal_pixel c){    gal_uint8* addr= (gal_uint8 *)psd->addr;    gal_uint8* dst;    int linelen = psd->linelen;    if (psd->flags & PSF_MEMORY) {        addr += (x>>1) + y * linelen;        if(psd->gr_mode == MODE_XOR)            while(h--) {                *addr ^= (*addr & notmask[x&1]) | (c << ((1-(x&1))<<2) ^ (*addr&notmask[1 - (x&1)]));                addr += linelen;            }        else            while(h--) {                *addr = (*addr & notmask[x&1]) | (c << ((1-(x&1))<<2));                addr += linelen;            }        return;    }    set_op(mode_table[psd->gr_mode]);    set_color (c);    select_and_set_mask (mask[x&7]);    dst = SCREENBASE(psd)  + (x>>3) + y * BYTESPERLINE(psd);    while (h--) {        RMW (dst);        dst += BYTESPERLINE(psd);    }}/*clip to screen*/static void fbvga16_getbox ( PSD psd, int x, int y, int w, int h, void* buf ){    gal_uint8 *dst = (gal_uint8*) buf;    int dstwidth = w;    if ( y < 0 ) {        h += y;        dst += -y * dstwidth;        y = 0;    }    if ( x < 0 ) {        w += x;        dst += -x;        x = 0;    }            if ( y + h  - 1 >= psd->yres)         h = psd->yres - y ;    if ( x + w  - 1 >= psd->xres)         w = psd->xres - x ;    if (psd->flags & PSF_MEMORY) {        gal_uint8    *src= (gal_uint8 *)psd->addr + y * psd->linelen + x;        while ( h--) {            memcpy(dst,src,w);            src += psd->linelen;            dst += dstwidth;        }    }    else            _vga16_getbox (psd, x, y, w, h, dst, dstwidth);}/*do clip*/static void fbvga16_putbox ( PSD psd, int x, int y, int w, int h, void *buf){    gal_uint8    *src = (gal_uint8*) buf;    int srcwidth = w;    if (psd->doclip) {            if (y < psd->clipminy) {            h -= psd->clipminy - y;            src += (psd->clipminy - y) * srcwidth;            y = psd->clipminy;        }        if (x < psd->clipminx) {            w -= psd->clipminx - x;            src += psd->clipminx - x;            x = psd->clipminx;        }                if (y + h - 1 >= psd->clipmaxy)             h =  psd->clipmaxy- y;        if (x + w - 1 >= psd->clipmaxx)             w =  psd->clipmaxx- x;    }    else {        if ( y < 0 ) {            h += y;            src += -y * srcwidth;            y = 0;        }        if ( x < 0 ) {            w += x;            src += -x;            x = 0;        }                if ( y + h  -1 >= psd->yres)             h = psd->yres - y ;        if ( x + w  -1 >= psd->xres)             w = psd->xres - x ;    }    if (psd->flags & PSF_MEMORY) {        gal_uint8    *dst= (gal_uint8 *)psd->addr + y * psd->linelen + x;        while ( h--) {            memcpy(dst,src,w);            dst += psd->linelen;            src += srcwidth;        }    }    else        _vga16_putbox (psd, x, y, w, h, src, srcwidth);}static void fbvga16_putboxmask (PSD psd, int x, int y, int w, int h, void *buf, gal_pixel cxx){    gal_uint8 *src= (gal_uint8*) buf;    int srcwidth =  w ;    if (psd->doclip) {            if (y < psd->clipminy) {            h -= psd->clipminy - y;            src += (psd->clipminy - y) * srcwidth;            y = psd->clipminy;        }        if (x < psd->clipminx) {            w -= psd->clipminx - x;            src += psd->clipminx - x;            x = psd->clipminx;        }                if (y + h - 1 >= psd->clipmaxy)             h =  psd->clipmaxy- y;        if (x + w - 1 >= psd->clipmaxx)             w =  psd->clipmaxx- x;    }    else {        if ( y < 0 ) {            h += y;            src += -y * srcwidth;            y = 0;        }        if ( x < 0 ) {            w += x;            src += -x;            x = 0;        }                if ( y + h  -1 >= psd->yres)             h = psd->yres - y ;        if ( x + w  -1 >= psd->xres)             w = psd->xres - x ;    }    if (psd->flags & PSF_MEMORY) {        gal_uint8    *dst= (gal_uint8 *)psd->addr + y * psd->linelen + x;        gal_uint8 c;        while ( h--) {            int w1 = w;            gal_uint8 *src1 = src;            gal_uint8 *dst1 = dst;            while(w1--) {                c = *src1;                if (c != cxx)                     *dst1 = c;                    src1++;                    dst1++;            }            dst += psd->linelen;            src += srcwidth;        }    }    else        _vga16_putboxmask (psd, x, y, w, h, src, srcwidth, cxx);}static void fbvga16_copybox(PSD psd,int x1, int y1, int w, int h, int x2, int y2){    gal_uint8 *buf;    buf = (gal_uint8 *) malloc (w * h);    if (psd->flags & PSF_MEMORY) {        _mem16_getbox (psd, x1, y1, w, h, buf, w);        _mem16_putbox (psd, x1, y1, w, h, buf, w);    } else {        _vga16_getbox (psd, x2, y2, w, h, buf, w);        _vga16_putbox (psd, x2, y2, w, h, buf, w);    }    free (buf);}/*  *  Bitblt,not do clip *  opcode is currently ignored *  WARNING: src & dst can not be same psd! */static void fbvga16_blit (PSD dstpsd, int dstx, int dsty, int w, int h,    PSD srcpsd, int srcx, int srcy){    int srcvga, dstvga;    srcvga = srcpsd->flags & PSF_SCREEN;    dstvga = dstpsd->flags & PSF_SCREEN;    if(srcvga) {        if(dstvga)            _vga16_to_vga16_blit(dstpsd, dstx, dsty, w, h,                srcpsd, srcx, srcy);        else            _vga16_to_mem16_blit(dstpsd, dstx, dsty, w, h,                srcpsd, srcx, srcy);    } else {        if(dstvga)            _mem16_to_vga16_blit(dstpsd, dstx, dsty, w, h,                srcpsd, srcx, srcy);        else {            gal_uint8 *    dst;            gal_uint8 *    src;            dst = (char *)dstpsd->addr + dstx + dsty * dstpsd->linelen;            src = (char *)srcpsd->addr + srcx + srcy * srcpsd->linelen;            memcpy(dst, src, w*h);        }    }}SUBDRIVER fbvga16 = {    fbvga16_init,    fbvga16_drawpixel,    fbvga16_readpixel,    fbvga16_drawhline,    fbvga16_drawvline,    fbvga16_blit,    fbvga16_putbox,    fbvga16_getbox,    fbvga16_putboxmask,    fbvga16_copybox};#endif /* _FBVGA16_SUPPORT */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情五月婷婷综合网| 丝袜国产日韩另类美女| 精品免费国产二区三区| 欧美日韩免费一区二区三区| 99麻豆久久久国产精品免费 | 久久蜜桃一区二区| 日韩三级中文字幕| 7777精品伊人久久久大香线蕉| 欧美日韩一区二区在线观看| 欧美三级欧美一级| 91精品国产综合久久精品麻豆 | 国内成人自拍视频| 国产乱码一区二区三区| 国产自产视频一区二区三区| 高清不卡一二三区| 99久久精品99国产精品| 91丨九色porny丨蝌蚪| 色哟哟欧美精品| 欧美日韩精品一区二区三区四区| 欧美影视一区二区三区| 欧洲精品一区二区| 精品免费国产二区三区| 国产视频一区在线播放| 亚洲欧美日韩国产综合在线| 久久99精品久久久久久久久久久久| 亚洲成av人片在线观看无码| 偷窥少妇高潮呻吟av久久免费| 免费高清成人在线| 成人国产精品免费观看动漫| 一本大道久久a久久综合婷婷 | 成人免费看视频| 福利视频网站一区二区三区| 国产成人在线网站| 95精品视频在线| 欧美中文字幕一区二区三区| 91精品在线免费观看| 欧美xxxxx裸体时装秀| 国产免费成人在线视频| 一区二区三区在线不卡| 另类小说欧美激情| 成人成人成人在线视频| 欧美高清视频www夜色资源网| 欧美精品一区二区高清在线观看| 国产日韩欧美一区二区三区乱码| 亚洲精品videosex极品| 免费在线观看成人| 91一区一区三区| 久久久久国产精品厨房| 亚洲18女电影在线观看| 国产成a人无v码亚洲福利| 欧美日韩国产成人在线91| 中国色在线观看另类| 日韩高清一区在线| 91偷拍与自偷拍精品| 2023国产精品自拍| 亚洲国产欧美一区二区三区丁香婷| 免费人成在线不卡| 色欧美日韩亚洲| 国产日韩av一区| 久久精品国内一区二区三区| 欧美日韩日日夜夜| 亚洲欧美综合另类在线卡通| 国产一区高清在线| 欧美一区二区三区在线观看 | 麻豆国产精品视频| 91久久一区二区| 国产精品美女久久久久久2018 | 9久草视频在线视频精品| 欧美一区二区三区视频免费播放| 亚洲日本电影在线| 成人精品免费看| 26uuu另类欧美亚洲曰本| 亚洲第一综合色| 91国产免费看| 亚洲毛片av在线| 成人午夜免费av| 久久久精品天堂| 精品一区二区三区免费观看| 欧美一级夜夜爽| 免费观看一级特黄欧美大片| 欧美久久一二三四区| 亚洲人成伊人成综合网小说| 国产91精品一区二区麻豆网站| 精品国产乱码久久| 免费日韩伦理电影| 日韩一区二区在线观看视频| 蜜桃精品在线观看| 欧美一区二区播放| 免费高清在线视频一区·| 欧美一级二级三级乱码| 免费av成人在线| 精品久久久久久无| 国产jizzjizz一区二区| 中文字幕欧美国产| 成人免费看的视频| 亚洲精品视频在线| 欧美美女黄视频| 日本不卡视频在线| 久久久午夜精品| 99免费精品在线观看| 亚洲另类在线一区| 欧美一区二区在线免费观看| 国产一区二区在线观看免费| 国产精品免费aⅴ片在线观看| 99久久精品免费看| 亚洲福中文字幕伊人影院| 9191久久久久久久久久久| 美国三级日本三级久久99| 久久久久成人黄色影片| 色呦呦一区二区三区| 日本不卡中文字幕| 国产三级精品三级| 在线观看亚洲精品| 久久av老司机精品网站导航| 国产三区在线成人av| 色综合天天综合网天天看片| 亚洲一区二区av在线| 日韩一区二区三区四区五区六区| 国产精品66部| 一区二区三区四区五区视频在线观看 | av福利精品导航| 亚洲成人动漫av| 日韩精品一区在线观看| 不卡在线观看av| 婷婷国产v国产偷v亚洲高清| 亚洲精品在线观看网站| 91影院在线观看| 另类小说综合欧美亚洲| 1区2区3区精品视频| 欧美日韩精品欧美日韩精品一| 国内不卡的二区三区中文字幕| 亚洲免费资源在线播放| 久久久午夜电影| 欧美日韩一区二区三区四区五区| 国产呦萝稀缺另类资源| 欧美激情综合五月色丁香| 911精品产国品一二三产区| av在线免费不卡| 国产乱人伦精品一区二区在线观看 | 久久精品国产一区二区三| 国产精品不卡视频| 欧美一区2区视频在线观看| 97精品电影院| 国产福利不卡视频| 日韩精品欧美成人高清一区二区| 国产精品久久久久久久久果冻传媒| 欧美一区二区三区色| av在线不卡观看免费观看| 老司机精品视频在线| 三级久久三级久久| 亚洲一区二区成人在线观看| 中文字幕精品一区二区三区精品| 日韩亚洲欧美在线观看| 色综合天天综合狠狠| 国产乱码字幕精品高清av| 蜜臀久久99精品久久久久宅男| 亚洲福中文字幕伊人影院| 亚洲精品久久嫩草网站秘色| 中文字幕日韩av资源站| 国产网站一区二区三区| 久久青草国产手机看片福利盒子| 欧美一区二区三区小说| 777xxx欧美| 日韩欧美成人激情| 日韩精品资源二区在线| 日韩欧美123| 久久午夜老司机| 国产亚洲精品免费| 国产精品天天摸av网| 国产精品久久久久国产精品日日| 久久久不卡影院| 欧美国产精品久久| 国产精品欧美一区喷水| 自拍偷拍亚洲激情| 亚洲综合在线电影| 一级女性全黄久久生活片免费| 中文字幕一区二区三区在线不卡| 中文字幕日韩av资源站| 最新国产成人在线观看| 亚洲精品第一国产综合野| 亚洲一区二区在线观看视频 | 欧美激情在线观看视频免费| 久久久久久久久久电影| 亚洲国产成人自拍| 一区二区三区中文在线观看| 亚洲综合丝袜美腿| 秋霞午夜鲁丝一区二区老狼| 日本不卡一区二区| 国产一区二区成人久久免费影院| 老司机一区二区| 国产成人精品亚洲777人妖| 成人app网站| 色婷婷av一区二区三区大白胸| 欧美日韩小视频| 欧美成人a视频| 国产精品麻豆久久久| 亚洲综合色成人| 免费不卡在线观看| 国产·精品毛片| 欧美在线|欧美|