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

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

?? bitmap.c

?? miniucgui1.30版本的源碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
                int x;                x = 0;                /* This can be greatly optimized with loop */                /* unrolling; omitted to save space. */                while (x < dst->bmWidth) {                    *(unsigned *) (dp2 + x * 4) =                        *(unsigned *) (dp1 + (sx >> 16) * 4);                    sx += xfactor;                    x++;                }                dp2 += dst->bmPitch;                y++;                while (y < dst->bmHeight) {                    int l;                    int syint = sy >> 16;                    sy += yfactor;                    if ((sy >> 16) != syint)                        break;                    /* Copy identical lines. */                    l = dp2 - dp2old;                    memcpy(dp2, dp2old, l);                    dp2old = dp2;                    dp2 += l;                    y++;                }                dp1 = src->bmBits + (sy >> 16) * src->bmPitch;            }        }    break;    }    return TRUE;}gal_pixel GUIAPI GetPixelInBitmap (const BITMAP* bmp, int x, int y){    BYTE* dst;    if (x < 0 || y < 0 || x >= bmp->bmWidth || y >= bmp->bmHeight)        return 0;    dst = bmp->bmBits + y * bmp->bmPitch + x * bmp->bmBytesPerPixel;    return _mem_get_pixel (dst, bmp->bmBytesPerPixel);}BOOL GUIAPI SetPixelInBitmap (const BITMAP* bmp, int x, int y, gal_pixel pixel){    BYTE* dst;    if (x < 0 || y < 0 || x >= bmp->bmWidth || y >= bmp->bmHeight)        return FALSE;    dst = bmp->bmBits + y * bmp->bmPitch + x * bmp->bmBytesPerPixel;    _mem_set_pixel (dst, bmp->bmBytesPerPixel, pixel);    return TRUE;}// This function expand monochorate bitmap.void GUIAPI ExpandMonoBitmap (HDC hdc, BYTE* bits, Uint32 pitch, const BYTE* my_bits, Uint32 my_pitch,                Uint32 w, Uint32 h, DWORD flags, Uint32 bg, Uint32 fg){    Uint32 x, y;    BYTE *dst, *dst_line;    const BYTE *src, *src_line;    Uint32 pixel;    int bpp = GAL_BytesPerPixel (dc_HDC2PDC (hdc)->surface);    BYTE byte = 0;    dst_line = bits;    if (flags & MYBMP_FLOW_UP)        src_line = my_bits + my_pitch * (h - 1);    else        src_line = my_bits;    // expand bits here.    for (y = 0; y < h; y++) {        src = src_line;        dst = dst_line;        for (x = 0; x < w; x++) {            if (x % 8 == 0)                byte = *src++;            if ((byte & (128 >> (x % 8))))   /* pixel */                pixel = fg;            else                pixel = bg;            dst = _mem_set_pixel (dst, bpp, pixel);        }                if (flags & MYBMP_FLOW_UP)            src_line -= my_pitch;        else            src_line += my_pitch;        dst_line += pitch;    }}static const RGB WindowsStdColor [] = {    {0x00, 0x00, 0x00},     // black         --0    {0x80, 0x00, 0x00},     // dark red      --1    {0x00, 0x80, 0x00},     // dark green    --2    {0x80, 0x80, 0x00},     // dark yellow   --3    {0x00, 0x00, 0x80},     // dark blue     --4    {0x80, 0x00, 0x80},     // dark magenta  --5    {0x00, 0x80, 0x80},     // dark cyan     --6    {0xC0, 0xC0, 0xC0},     // light gray    --7    {0x80, 0x80, 0x80},     // dark gray     --8    {0xFF, 0x00, 0x00},     // red           --9    {0x00, 0xFF, 0x00},     // green         --10    {0xFF, 0xFF, 0x00},     // yellow        --11    {0x00, 0x00, 0xFF},     // blue          --12    {0xFF, 0x00, 0xFF},     // magenta       --13    {0x00, 0xFF, 0xFF},     // cyan          --14    {0xFF, 0xFF, 0xFF},     // light white   --15};// This function expand 16-color bitmap.void GUIAPI Expand16CBitmap (HDC hdc, BYTE* bits, Uint32 pitch, const BYTE* my_bits, Uint32 my_pitch,                Uint32 w, Uint32 h, DWORD flags, const RGB* pal){    PDC pdc;    Uint32 x, y;    BYTE *dst, *dst_line;    const BYTE *src, *src_line;    int index, bpp;    Uint32 pixel;    BYTE byte = 0;    pdc = dc_HDC2PDC(hdc);    bpp = GAL_BytesPerPixel (pdc->surface);    dst_line = bits;    if (flags & MYBMP_FLOW_UP)        src_line = my_bits + my_pitch * (h - 1);    else        src_line = my_bits;    for (y = 0; y < h; y++) {        src = src_line;        dst = dst_line;        for (x = 0; x < w; x++) {            if (x % 2 == 0) {                byte = *src++;                index = (byte >> 4) & 0x0f;            }            else                index = byte & 0x0f;            if (pal)                pixel = GAL_MapRGB (pdc->surface->format, pal[index].r, pal[index].g, pal[index].b);            else                pixel = GAL_MapRGB (pdc->surface->format,                                 WindowsStdColor[index].r, WindowsStdColor[index].g, WindowsStdColor[index].b);            dst = _mem_set_pixel (dst, bpp, pixel);        }        if (flags & MYBMP_FLOW_UP)            src_line -= my_pitch;        else            src_line += my_pitch;        dst_line += pitch;    }}// This function expands 256-color bitmap.void GUIAPI Expand256CBitmap (HDC hdc, BYTE* bits, Uint32 pitch, const BYTE* my_bits, Uint32 my_pitch,                Uint32 w, Uint32 h, DWORD flags, const RGB* pal){    PDC pdc;    Uint32 x, y;    int bpp;    BYTE *dst, *dst_line;    const BYTE *src, *src_line;    Uint32 pixel;    BYTE byte;    pdc = dc_HDC2PDC(hdc);    bpp = GAL_BytesPerPixel (pdc->surface);    dst_line = bits;    if (flags & MYBMP_FLOW_UP)        src_line = my_bits + my_pitch * (h - 1);    else        src_line = my_bits;    for (y = 0; y < h; y++) {        src = src_line;        dst = dst_line;        for (x = 0; x < w; x++) {            byte = *src++;            if (pal)                pixel = GAL_MapRGB (pdc->surface->format, pal[byte].r, pal[byte].g, pal[byte].b);            else                pixel = GAL_MapRGB (pdc->surface->format, byte, byte, byte);            dst = _mem_set_pixel (dst, bpp, pixel);        }        if (flags & MYBMP_FLOW_UP)            src_line -= my_pitch;        else            src_line += my_pitch;        dst_line += pitch;    }}// This function compile a RGBA bitmapvoid GUIAPI CompileRGBABitmap (HDC hdc, BYTE* bits, Uint32 pitch, const BYTE* my_bits, Uint32 my_pitch,                Uint32 w, Uint32 h, DWORD flags, void* pixel_format){    PDC pdc;    Uint32 x, y;    int bpp;    BYTE *dst, *dst_line;    const BYTE *src, *src_line;    Uint32 pixel;    GAL_Color rgb;    pdc = dc_HDC2PDC(hdc);    bpp = GAL_BytesPerPixel (pdc->surface);    dst_line = bits;    if (flags & MYBMP_FLOW_UP)        src_line = my_bits + my_pitch * (h - 1);    else        src_line = my_bits;    // expand bits here.    for (y = 0; y < h; y++) {        src = src_line;        dst = dst_line;        for (x = 0; x < w; x++) {            if ((flags & MYBMP_TYPE_MASK) == MYBMP_TYPE_BGR) {                rgb.b = *src++;                rgb.g = *src++;                rgb.r = *src++;            }            else {                rgb.r = *src++;                rgb.g = *src++;                rgb.b = *src++;            }            if (flags & MYBMP_RGBSIZE_4) {                if (flags & MYBMP_ALPHA) {                    rgb.a = *src;                    pixel = GAL_MapRGBA ((GAL_PixelFormat*) pixel_format, rgb.r, rgb.g, rgb.b, rgb.a);                }                else {                    pixel = GAL_MapRGB (pdc->surface->format, rgb.r, rgb.g, rgb.b);                }                src++;            }            else {                pixel = GAL_MapRGB (pdc->surface->format, rgb.r, rgb.g, rgb.b);            }                        dst = _mem_set_pixel (dst, bpp, pixel);        }        if (flags & MYBMP_FLOW_UP)            src_line -= my_pitch;        else            src_line += my_pitch;        dst_line += pitch;    }}// This function replaces one color with specified color.void GUIAPI ReplaceBitmapColor (HDC hdc, BITMAP* bmp, gal_pixel iOColor, gal_pixel iNColor){    PDC pdc;    int w, h, i;    BYTE* line, *bits;    int bpp;    pdc = dc_HDC2PDC (hdc);    bpp = GAL_BytesPerPixel (pdc->surface);    h = bmp->bmHeight;    w = bmp->bmWidth;    line = bmp->bmBits;    switch (bpp) {        case 1:            while (h--) {                bits = line;                for (i = 0; i < w; i++) {                    if (*bits == iOColor)                        *bits = iNColor;                    bits++;                }                line += bmp->bmPitch;            }            break;        case 2:            while (h--) {                bits = line;                for (i = 0; i < w; i++) {                    if( *(Uint16 *) bits == iOColor)                        *(Uint16 *) bits = iNColor;                    bits += 2;                }                line += bmp->bmPitch;            }            break;        case 3:             while (h--) {                bits = line;                for (i = 0; i < w; i++) {                    if ((*(Uint16 *) bits == iOColor)                            && (*(bits + 2) == (iOColor >> 16)) )                    {                        *(Uint16 *) bits = iNColor;                        *(bits + 2) = iNColor >> 16;                    }                    bits += 3;                }                line += bmp->bmPitch;            }            break;        case 4:                while (h--) {                bits = line;                for (i = 0; i < w; i++) {                    if( *(Uint32 *) bits == iOColor )                        *(Uint32 *) bits = iNColor;                    bits += 4;                }                line += bmp->bmPitch;            }            break;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品短视频| 亚洲精品成人天堂一二三| 国产亚洲综合在线| 亚洲色图在线看| 国产精品毛片大码女人| 亚洲3atv精品一区二区三区| 久久精品国产999大香线蕉| 丰满岳乱妇一区二区三区| 91天堂素人约啪| 在线观看欧美精品| 久久蜜桃一区二区| 亚洲午夜久久久| 高清国产一区二区三区| 4hu四虎永久在线影院成人| 久久久精品tv| 奇米影视一区二区三区小说| 成人高清视频免费观看| 日韩亚洲欧美综合| 亚洲欧美另类图片小说| 国产精品自在在线| 欧美成人一区二区三区在线观看| 中文天堂在线一区| 青青国产91久久久久久 | 人人精品人人爱| 国产高清不卡一区| www国产亚洲精品久久麻豆| 美女在线观看视频一区二区| 91精品国产综合久久香蕉麻豆| 丝袜a∨在线一区二区三区不卡 | 国产成人精品一区二| 欧美大尺度电影在线| 玖玖九九国产精品| 精品精品欲导航| 国产在线不卡一卡二卡三卡四卡| 精品国产91洋老外米糕| 国产精选一区二区三区| 中文字幕av一区 二区| 97se狠狠狠综合亚洲狠狠| 玉足女爽爽91| 精品视频123区在线观看| 亚洲成人激情综合网| 91精品国产aⅴ一区二区| 经典三级视频一区| 日本一二三四高清不卡| 91浏览器打开| 午夜精品视频在线观看| 日韩欧美一二三| 国产成人精品亚洲午夜麻豆| 亚洲欧美二区三区| 欧美精品久久天天躁| 激情欧美一区二区三区在线观看| 国产亚洲欧洲997久久综合| 99精品在线观看视频| 亚洲一级二级在线| ww亚洲ww在线观看国产| 99精品黄色片免费大全| 天堂蜜桃一区二区三区| 国产亚洲综合性久久久影院| 欧美在线你懂的| 国产一区二区美女| 亚洲精品国产一区二区精华液| 69堂成人精品免费视频| 国产成人免费视频一区| 亚洲五月六月丁香激情| 欧美精品一区二区三| 色婷婷久久久综合中文字幕| 日韩av电影天堂| 亚洲欧美怡红院| 欧美tickle裸体挠脚心vk| av一本久道久久综合久久鬼色| 午夜精品久久久久| 亚洲国产精品二十页| 欧美日本精品一区二区三区| 国产91精品精华液一区二区三区| 亚洲国产精品久久不卡毛片| 国产亚洲精品资源在线26u| 欧美午夜精品理论片a级按摩| 国产一区二区三区黄视频| 亚洲第一二三四区| 亚洲欧洲精品一区二区三区| 精品久久久久久久久久久久久久久| 日本道色综合久久| 成人国产一区二区三区精品| 日本不卡一二三| 一区二区三区在线观看欧美| 国产色综合久久| 欧美www视频| 欧美卡1卡2卡| 在线区一区二视频| av高清久久久| 国产成人精品免费网站| 狠狠色丁香婷综合久久| 奇米综合一区二区三区精品视频| 亚洲制服丝袜av| 一区二区三区自拍| 中文字幕一区二区三区av | 717成人午夜免费福利电影| 一本久道久久综合中文字幕| 处破女av一区二区| 加勒比av一区二区| 狠狠色丁香九九婷婷综合五月| 亚洲国产精品久久人人爱蜜臀 | 色综合天天综合在线视频| 成人妖精视频yjsp地址| 蜜臀av亚洲一区中文字幕| 午夜婷婷国产麻豆精品| 亚洲精品免费视频| 亚洲六月丁香色婷婷综合久久 | 国产午夜精品一区二区三区四区| 日韩午夜中文字幕| 日韩精品一区二区三区在线观看 | 在线观看视频欧美| 岛国精品在线观看| 国产99久久久精品| 国产高清久久久久| eeuss鲁片一区二区三区| 风间由美性色一区二区三区| 成人午夜视频免费看| 成人动漫一区二区| 96av麻豆蜜桃一区二区| 在线亚洲+欧美+日本专区| 色婷婷激情综合| 欧美日韩三级一区二区| 3d动漫精品啪啪一区二区竹菊 | 欧美日韩美少妇| 欧美精品在线观看播放| 日韩欧美国产三级电影视频| 26uuuu精品一区二区| 国产精品丝袜一区| 亚洲精品视频一区二区| 日韩在线播放一区二区| 久久不见久久见免费视频7| 国产乱码精品一品二品| www.日本不卡| 欧美日韩视频第一区| 日韩无一区二区| 国产精品区一区二区三区| 亚洲免费观看在线视频| 亚洲va中文字幕| 国内偷窥港台综合视频在线播放| 国产91丝袜在线18| 91国偷自产一区二区使用方法| 56国语精品自产拍在线观看| 久久久亚洲国产美女国产盗摄| 亚洲女爱视频在线| 老司机午夜精品99久久| 波多野结衣精品在线| 欧美久久一区二区| 中文字幕第一区二区| 亚洲成a人v欧美综合天堂下载| 国产精品一线二线三线| 欧美午夜在线一二页| 国产喂奶挤奶一区二区三区| 亚洲一区二区三区小说| 精品亚洲aⅴ乱码一区二区三区| 色综合天天做天天爱| 国产精品国产自产拍高清av| 视频一区二区国产| 99久久国产综合色|国产精品| 日韩一区二区三区三四区视频在线观看 | 成人福利视频在线看| 欧美高清激情brazzers| 国产精品伦理一区二区| 裸体在线国模精品偷拍| 欧美综合一区二区| 国产精品三级av在线播放| 麻豆精品国产91久久久久久| 91首页免费视频| 国产视频亚洲色图| 捆绑调教美女网站视频一区| 欧美性生活影院| 国产精品理伦片| 国产福利一区二区三区视频在线 | 国产一区二区看久久| 91精品国产手机| 亚洲精品美国一| 成人黄色网址在线观看| wwwwxxxxx欧美| 免费在线观看日韩欧美| 91麻豆免费看片| 国产精品狼人久久影院观看方式| 国产精品综合在线视频| 亚洲精品在线三区| 久久99热国产| 日韩欧美色综合网站| 日本美女一区二区三区| 欧美日韩日日夜夜| 亚洲一区二区三区美女| 在线看日韩精品电影| 亚洲精品欧美专区| 欧美亚洲国产怡红院影院| 亚洲三级在线免费观看| 色综合久久九月婷婷色综合| 亚洲色图清纯唯美| 在线亚洲+欧美+日本专区| 亚洲精品videosex极品| 欧美日韩一区中文字幕| 五月综合激情网| 欧美videossexotv100| 精品亚洲免费视频|