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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? images.c

?? 用于移動設(shè)備上的java虛擬機源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
            color  = makeImagePixel((r << 16) | (g << 8) | b);            pel    = p->bitmap->image + ((y * p->bitmap->width + x) << 2);            /*             * DIBs use bgr triples not rgb             */            *pel++ = GetBValue(color);            *pel++ = GetGValue(color);            *pel++ = GetRValue(color);#if USE_ALPHA_BLEND            *pel++ = alpha;#endif        }            } else { /* grayscale or indexed color */        for (x = 0; x < p->bitmap->width; ++x) {            unsigned char *pel;            int cmapIndex = *pixels++;            off = mat[x & 3];            color = p->cmap[cmapIndex];            r = ((color >> 16) & 0xff) + off;            g = ((color >>  8) & 0xff) + off;            b = ((color >>  0) & 0xff) + off;            alpha = 0xff; /* assume full opacity */            if (r < 0) r = 0; else if (r > 0xff) r = 0xff;            if (g < 0) g = 0; else if (g > 0xff) g = 0xff;            if (b < 0) b = 0; else if (b > 0xff) b = 0xff;                       /* grayscale with alpha */            if ((pixelType & (CT_ALPHA | CT_COLOR)) == CT_ALPHA) {                 alpha = *pixels++;                p->bitmap->prop = HAS_ALPHA;            } else if (p->hasTransMap) {                if ((pixelType & CT_COLOR) == 0) { /* grayscale */                alpha = *pixels++;                p->bitmap->prop = HAS_ALPHA;                } else { /* indexed color */                    alpha = p->tmap[cmapIndex];                    p->bitmap->prop = HAS_ALPHA;                }            }            if (p->bitmap->prop == HAS_ALPHA) {                blendPixel(&r, &g, &b, &alpha, off);            }             #if USE_ALPHA_BLEND            if (p->bitmap->prop == HAS_MASK) {                buildMask(p->bitmap, alpha, x, y);            }#else            if (p->bitmap->prop == HAS_MASK ||                 p->bitmap->prop == HAS_ALPHA) {                buildMask(p->bitmap, alpha, x, y);            }#endif            color  = makeImagePixel((r << 16) | (g << 8) | b);            pel    = p->bitmap->image + ((y * p->bitmap->width + x) << 2);                        /*             * DIBs use bgr triples not rgb             */            *pel++ = GetBValue(color);            *pel++ = GetGValue(color);            *pel++ = GetRValue(color);#if USE_ALPHA_BLEND            *pel++ = alpha;#endif        }    }    DeleteDC(hdcMem);    }static voidsendPackedImagePixels(imageDstPtr self, int y, uchar *pixels) {    /* we specified a depth of 8, so... */    sendImagePixels(self, y, pixels, KNI_FALSE);}static void*imageDone(imageDstPtr self, int *width, int *height){    _imageDstPtr p = (_imageDstPtr)self;    if (p == NULL) return NULL;    if ((width != NULL) && (height != NULL)) {        *width  = p->bitmap->width;        *height = p->bitmap->height;    }    return (void*)p->bitmap;}voidLCDUIdestroyNativeImage(void* imagePtr) {    myBitmapStruct *imgData = (myBitmapStruct*)imagePtr;    if (imgData != NULL) {        if (imgData->bitmap) {            DeleteObject(imgData->bitmap);        }        if (imgData->mask) {            DeleteObject(imgData->mask);        }                midpFree(imagePtr);    }}imageDstPtr LCDUIcreateImageDst(jboolean mutable) {    _imageDstPtr p = midpMalloc(sizeof(_imageDstData));    if (p == NULL) {        return NULL;    }    p->super.depth            = 8;    p->super.setColormap      = setImageColormap;    p->super.setTransMap      = setImageTransparencyMap;    p->super.setSize          = setImageSize;    p->super.sendPixels       = sendImagePixels;    p->super.sendPackedPixels = sendPackedImagePixels;    p->super.copyPixels       = copyImagePixels;    p->super.done             = imageDone;    p->super.setARGBPixels    = setARGBPixels;    p->super.copyPixelsTransformed                              = copyPixelsTransformed;    /* Create a bitmap structure. We use our own private data structure.      * But, on some platforms, this may be an opaque data structure      * managed by the platform.     */    if ((p->bitmap=(myBitmapStruct*)midpMalloc(sizeof(myBitmapStruct))) == NULL) {        midpFree(p);        return NULL;    }    p->mutable       = mutable;    p->hasColormap   = KNI_FALSE;    p->hasTransMap   = KNI_FALSE;    return (imageDstPtr)p;}#if USE_ALPHA_BLENDBOOL customAlphaBlend(HDC hdcDest, int nXOriginDest, int nYOriginDest,                   HDC hdcSrc,  int nXOriginSrc,  int nYOriginSrc,                    int nWidth,  int nHeight,                                    int transform, jboolean processAlpha) {    int imgLen;    int scanLength;    unsigned char *srcBits       = NULL,                   *destBits      = NULL,                   *destBitsPtr   = NULL,                  *srcBitsPtr    = NULL,                  *srcBitsEndPtr = NULL,                  *lineEndPtr    = NULL;    int destX, destY;    int xStart;    int yStart;    int xIncr;    int yIncr;    int alpha;    int t_width;    int t_height;        BOOL ret = KNI_FALSE;    HDC srcHDC,         destHDC;    HBITMAP srcHBmp, destHBmp;    BITMAP srcBmp;        BITMAPINFO bi;    HGDIOBJ oobj;    destHDC = CreateCompatibleDC(hdcSrc);    srcHBmp = GetCurrentObject(hdcSrc, OBJ_BITMAP);        DB(GetObject(srcHBmp, sizeof(srcBmp), &srcBmp));        #if 0        fprintf(stderr, "bmType=%i\n"                        "bmWidth=%i\n"                        "bmHeight=%i\n"                        "bmWidthBytes=%i\n"                        "bmPlanes=%i\n"                        "bmBitsPixel=%i\n\n",                        srcBmp.bmType,                        srcBmp.bmWidth,                        srcBmp.bmHeight,                        srcBmp.bmWidthBytes,                        srcBmp.bmPlanes,                        srcBmp.bmBitsPixel);#endif    imgLen = nWidth * nHeight << 2;    if(transform & TRANSFORM_INVERTED_AXES) {        t_width  = nHeight;        t_height = nWidth;    } else {        t_width  = nWidth;        t_height = nHeight;    }    bi.bmiHeader.biSize          = sizeof(bi.bmiHeader);    bi.bmiHeader.biPlanes        = srcBmp.bmPlanes;    bi.bmiHeader.biBitCount      = 32;     /* srcBmp.bmPlanes * srcBmp.bmBitsPixel;*/    bi.bmiHeader.biCompression   = BI_RGB;    bi.bmiHeader.biXPelsPerMeter = 0;    bi.bmiHeader.biYPelsPerMeter = 0;    bi.bmiHeader.biClrUsed       = 0;    bi.bmiHeader.biClrImportant  = 0;        bi.bmiHeader.biWidth         = t_width;    bi.bmiHeader.biHeight        = -t_height;    bi.bmiHeader.biSizeImage     = t_width * t_height << 2;    destHBmp = CreateDIBSection(destHDC, &bi, DIB_RGB_COLORS,                                 &destBits, NULL, 0);        srcBits = (unsigned char *)midpMalloc((srcBmp.bmWidth << 2) * nHeight);    if ((srcBits != NULL) && (destBits != NULL)) {        oobj = SelectObject(destHDC, destHBmp);        /*          * grab the screen contents into a bitmap          * the same size as our source image         * + ~510ms          */        DB(BitBlt(destHDC, 0, 0, t_width, t_height,             hdcDest, nXOriginDest, nYOriginDest, SRCCOPY));        bi.bmiHeader.biWidth  = srcBmp.bmWidth;        bi.bmiHeader.biHeight = -srcBmp.bmHeight;        bi.bmiHeader.biSizeImage = srcBmp.bmWidth * srcBmp.bmWidth << 2;        /* grab source bits */        DB(GetDIBits(hdcSrc, srcHBmp, srcBmp.bmHeight - nHeight - nYOriginSrc,                      nHeight, srcBits, &bi, DIB_RGB_COLORS));#if 1        scanLength    = srcBmp.bmWidth << 2;        srcBitsPtr    = srcBits + (nXOriginSrc << 2);         destBitsPtr   = destBits;        srcBitsEndPtr = srcBitsPtr +                         (nHeight - 1) * scanLength + (nWidth << 2);        lineEndPtr    = srcBitsPtr + (nWidth << 2);                        if (transform != 0) {            if (transform & TRANSFORM_Y_FLIP) {                destY = nHeight - 1;                yIncr = -1;            } else {                destY = 0;                yIncr = +1;            }                if (transform & TRANSFORM_X_FLIP) {                xStart = nWidth - 1;                xIncr = -1;            } else {                xStart = 0;                xIncr = +1;            }        }        while (srcBitsPtr < srcBitsEndPtr) {                    /**              * these may not have valid values is transform == 0,             * but in that case they are never used.             */            destX  = xStart;            while (srcBitsPtr < lineEndPtr) {                    if (transform != 0) {                    destBitsPtr = destBits;                    if (transform & TRANSFORM_INVERTED_AXES) {                        destBitsPtr +=                             ((destX * t_width) + destY) << 2;                    } else {                        destBitsPtr +=                            ((destY * t_width) + destX) << 2;                    }                    destX += xIncr;                }                 alpha = srcBitsPtr[3];                        if (alpha == 0xff || (processAlpha == KNI_FALSE)) {                    /* completely opaque */                    /*                     * this operation can be optimized                      * for the bus size of a device                      */                                            *((int *)destBitsPtr) = *((int *)srcBitsPtr);                                           /*                    *(destBitsPtr + x + 0) = *(srcBitsPtr + x + 0);                    *(destBitsPtr + x + 1) = *(srcBitsPtr + x + 1);                    *(destBitsPtr + x + 2) = *(srcBitsPtr + x + 2);                    *(destBitsPtr + x + 3) = alpha;                    */                                        } else if (alpha != 0x00) {  /* needs blending */                                            /* save on dereferencing these values everywhere */                    unsigned char *d0 = destBitsPtr + 0,                      *d1 = destBitsPtr + 1,                    *d2 = destBitsPtr + 2;                    int c;                                                    /* this could be optimized if the alpha values could be                     * rounded to powers of two, then we could simply shift                     * by alpha. we could also be careless with the divide                     * and right shift by 8                     */                                    /* doing the calculations this way is faster than the                     * other method which is compiler defined out below                     * but the results are still not very good                     */                    c =  srcBitsPtr[0] + ((*d0 * (0xff - alpha)) / 0xff);                    if (c > 0xff) c = 0xff;                    *d0 = (unsigned char)c;                                            c =  srcBitsPtr[1] + ((*d1 * (0xff - alpha)) / 0xff);                    if (c > 0xff) c = 0xff;                    *d1 = (unsigned char)c;                                            c =  srcBitsPtr[2] + ((*d2 * (0xff - alpha)) / 0xff);                    if (c > 0xff) c = 0xff;                    *d2 = (unsigned char)c;                                            /*fprintf(stderr, "RGB(%i, %i, %i)\n", *d0, *d1, *d2);*/                #if 0                    *d0 = *(srcBitsPtr + 0) +                           *d0 - ((*d0 * alpha) / 0xff);                                            *d1 = *(srcBitsPtr + 1) +                           *d1 - ((*d1 * alpha) / 0xff);                                    *d2 = *(srcBitsPtr + 2) +                           *d2 - ((*d2 * alpha) / 0xff);#endif                      /* this operation is unnecessary */                      /* destBitsPtr[4] = alpha; */                        }                      /* changing destBitsPtr if transform != 0 is ok since we reset                 * it's value at the top of the loop                 */                destBitsPtr += 4;                srcBitsPtr  += 4;            }            lineEndPtr += scanLength;            srcBitsPtr  = lineEndPtr - (nWidth << 2);                destY += yIncr;        }        #endif        bi.bmiHeader.biWidth         = t_width;        bi.bmiHeader.biHeight        = -t_height;         bi.bmiHeader.biSizeImage     = t_width * t_height << 2;        ret = BitBlt(hdcDest, nXOriginDest, nYOriginDest, t_width, t_height,                     destHDC, 0, 0, SRCCOPY);        SelectObject(destHDC, oobj);        /* Delete the DIB */        DeleteObject(destHBmp);    }        DeleteDC(destHDC);    midpFree(srcBits);    return ret;}                    #endif /* USE_ALPHA_BLEND */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产福利一区在线观看| 国产亚洲欧美一区在线观看| 色琪琪一区二区三区亚洲区| 成人在线视频一区| 国产成人午夜电影网| 国产精品影视天天线| 丁香婷婷综合色啪| 成人激情视频网站| 91视频免费播放| 一本一道波多野结衣一区二区| 99re在线精品| 色综合中文综合网| 国产精一区二区三区| 国产一区二区在线看| 懂色av一区二区三区免费观看| 福利91精品一区二区三区| 成人免费毛片嘿嘿连载视频| 99精品久久久久久| 欧美日韩综合在线| 91精品欧美久久久久久动漫 | 日本一区二区久久| 国产精品国产a| 一区二区三区四区蜜桃 | 色婷婷激情综合| 欧美日韩免费观看一区三区| 欧美一三区三区四区免费在线看| 日韩三级视频中文字幕| 欧美激情艳妇裸体舞| 亚洲区小说区图片区qvod| 亚洲电影视频在线| 久久精品久久久精品美女| 国产成人av一区| 色综合久久99| 欧美成人一区二区三区片免费| 国产三级一区二区| 亚洲综合图片区| 精品综合久久久久久8888| 97精品国产露脸对白| 欧美日韩电影在线播放| 久久众筹精品私拍模特| 亚洲狠狠丁香婷婷综合久久久| 日产精品久久久久久久性色| 高清成人免费视频| 在线播放一区二区三区| 国产三级一区二区| 午夜精品在线视频一区| 成人免费黄色大片| 欧美高清视频不卡网| 国产女人水真多18毛片18精品视频| 亚洲卡通动漫在线| 国产一区二区三区四| 在线看日本不卡| 久久久久久久久久电影| 亚洲综合色区另类av| 国产一区二区三区免费看 | 久久色视频免费观看| 一区二区三区久久| 国产一区二区美女诱惑| 在线观看日韩毛片| 久久精品亚洲国产奇米99| 亚洲一级电影视频| 成人动漫在线一区| 精品国产乱码久久久久久夜甘婷婷| 亚洲免费在线视频| 国产福利一区二区| 欧美一区在线视频| 亚洲综合一区二区| 不卡的看片网站| 精品久久久久久久人人人人传媒 | 麻豆极品一区二区三区| 91黄色在线观看| 中文字幕第一区综合| 久久福利资源站| 欧美色爱综合网| 亚洲人成网站色在线观看| 国产成人综合亚洲网站| 91麻豆精品国产91久久久使用方法| 亚洲少妇最新在线视频| 国产福利精品一区二区| 欧美精品一区二区久久久| 午夜精品久久久久久久久久| 91成人在线免费观看| 亚洲欧洲精品天堂一级| 国产精品一色哟哟哟| 欧美tk丨vk视频| 日韩成人一区二区| 欧美人妖巨大在线| 亚洲在线一区二区三区| 91欧美一区二区| 亚洲欧洲无码一区二区三区| 成人性视频免费网站| 久久九九国产精品| 国产福利一区二区| 国产午夜精品一区二区三区四区| 久久精品二区亚洲w码| 日韩午夜精品视频| 奇米影视在线99精品| 宅男噜噜噜66一区二区66| 亚洲不卡在线观看| 6080午夜不卡| 奇米影视在线99精品| 欧美一级日韩一级| 老司机精品视频导航| 日韩一区二区三区在线观看 | 欧美日韩一级黄| 亚洲成av人片一区二区三区| 欧美亚洲国产一卡| 亚洲成国产人片在线观看| 欧美挠脚心视频网站| 天堂va蜜桃一区二区三区| 欧美美女bb生活片| 日本欧美一区二区三区| 日韩精品中文字幕在线不卡尤物| 精品中文字幕一区二区| 国产日韩影视精品| 99视频在线精品| 夜夜夜精品看看| 欧美福利一区二区| 精久久久久久久久久久| 久久久不卡网国产精品一区| 成人午夜大片免费观看| 亚洲欧美韩国综合色| 欧美日韩日本视频| 久久激情综合网| 欧美国产成人精品| 在线观看av一区| 九色porny丨国产精品| 国产三级精品三级在线专区| 一本大道久久a久久精品综合| 亚洲国产中文字幕| 欧美一区二区三区在线| 国产精品亚洲第一区在线暖暖韩国| 国产精品久久久久久亚洲毛片| 91视频在线观看| 日本伊人色综合网| 国产欧美一区二区在线| 色伊人久久综合中文字幕| 偷拍与自拍一区| 久久久99免费| 在线免费精品视频| 国内精品写真在线观看| 成人欧美一区二区三区1314| 欧美人妖巨大在线| 成人综合在线视频| 亚洲妇熟xx妇色黄| 久久久电影一区二区三区| 91国产精品成人| 狠狠色狠狠色合久久伊人| 亚洲女厕所小便bbb| 日韩欧美另类在线| 色综合久久天天| 国产米奇在线777精品观看| 一区二区成人在线观看| 久久婷婷国产综合国色天香| 在线免费观看不卡av| 国产又黄又大久久| 午夜不卡av在线| 国产精品久久国产精麻豆99网站| 日韩亚洲欧美一区| 91国偷自产一区二区开放时间 | 91在线播放网址| 青草av.久久免费一区| 亚洲欧美成aⅴ人在线观看 | 久久成人精品无人区| 亚洲精品乱码久久久久久久久| www激情久久| 3d成人h动漫网站入口| 99久久夜色精品国产网站| 久久99深爱久久99精品| 亚洲福利电影网| 亚洲精品欧美激情| 国产婷婷一区二区| 日韩精品一区二区三区在线播放| 色成人在线视频| 波多野结衣视频一区| 韩国v欧美v日本v亚洲v| 午夜欧美一区二区三区在线播放| 亚洲视频一区二区免费在线观看| xvideos.蜜桃一区二区| 在线成人免费观看| 欧美日韩视频专区在线播放| jlzzjlzz亚洲女人18| 国产综合久久久久久鬼色| 日本不卡123| 三级不卡在线观看| 亚洲国产人成综合网站| 中文字幕一区二区三区在线不卡| 26uuu精品一区二区三区四区在线| 欧美高清性hdvideosex| 欧美日本不卡视频| 精品视频一区二区三区免费| 91日韩精品一区| 色诱亚洲精品久久久久久| fc2成人免费人成在线观看播放| 国产成人免费视频网站| 国产精品18久久久久久久久| 精品在线免费视频| 久久99精品国产麻豆婷婷洗澡| 麻豆精品视频在线观看免费| 蜜桃精品视频在线观看|