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

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

?? visualpng.c

?? openmeetings組件之GS openmeetings組件之GS openmeetings組件之GS
?? C
?? 第 1 頁 / 共 2 頁
字號:
   // Calculate new X position, then adjust for workarea   xNew = rParent.left + ((wParent - wChild) /2);   if (xNew < rWorkArea.left) {      xNew = rWorkArea.left;   } else if ((xNew+wChild) > rWorkArea.right) {      xNew = rWorkArea.right - wChild;   }   // Calculate new Y position, then adjust for workarea   yNew = rParent.top  + ((hParent - hChild) /2);   if (yNew < rWorkArea.top) {      yNew = rWorkArea.top;   } else if ((yNew+hChild) > rWorkArea.bottom) {      yNew = rWorkArea.bottom - hChild;   }   // Set it, and return   return SetWindowPos (hwndChild, NULL, xNew, yNew, 0, 0, SWP_NOSIZE |          SWP_NOZORDER);}//----------------//  BuildPngList//----------------BOOL BuildPngList (PTSTR pstrPathName, TCHAR **ppFileList, int *pFileCount,     int *pFileIndex){    static TCHAR              szImgPathName [MAX_PATH];    static TCHAR              szImgFileName [MAX_PATH];    static TCHAR              szImgFindName [MAX_PATH];    WIN32_FIND_DATA           finddata;    HANDLE                    hFind;    static TCHAR              szTmp [MAX_PATH];    BOOL                      bOk;    int                       i, ii;    int                       j, jj;    // free previous file-list    if (*ppFileList != NULL)    {        free (*ppFileList);        *ppFileList = NULL;    }    // extract foldername, filename and search-name    strcpy (szImgPathName, pstrPathName);    strcpy (szImgFileName, strrchr (pstrPathName, '\\') + 1);    strcpy (szImgFindName, szImgPathName);    *(strrchr (szImgFindName, '\\') + 1) = '\0';    strcat (szImgFindName, "*.png");    // first cycle: count number of files in directory for memory allocation    *pFileCount = 0;    hFind = FindFirstFile(szImgFindName, &finddata);    bOk = (hFind != (HANDLE) -1);    while (bOk)    {        *pFileCount += 1;        bOk = FindNextFile(hFind, &finddata);    }    FindClose(hFind);    // allocation memory for file-list    *ppFileList = (TCHAR *) malloc (*pFileCount * MAX_PATH);    // second cycle: read directory and store filenames in file-list    hFind = FindFirstFile(szImgFindName, &finddata);    bOk = (hFind != (HANDLE) -1);    i = 0;    ii = 0;    while (bOk)    {        strcpy (*ppFileList + ii, szImgPathName);        strcpy (strrchr(*ppFileList + ii, '\\') + 1, finddata.cFileName);        if (strcmp(pstrPathName, *ppFileList + ii) == 0)            *pFileIndex = i;        ii += MAX_PATH;        i++;        bOk = FindNextFile(hFind, &finddata);    }    FindClose(hFind);    // finally we must sort the file-list    for (i = 0; i < *pFileCount - 1; i++)    {        ii = i * MAX_PATH;        for (j = i+1; j < *pFileCount; j++)        {            jj = j * MAX_PATH;            if (strcmp (*ppFileList + ii, *ppFileList + jj) > 0)            {                strcpy (szTmp, *ppFileList + jj);                strcpy (*ppFileList + jj, *ppFileList + ii);                strcpy (*ppFileList + ii, szTmp);                // check if this was the current image that we moved                if (*pFileIndex == i)                    *pFileIndex = j;                else                    if (*pFileIndex == j)                        *pFileIndex = i;            }        }    }    return TRUE;}//----------------//  SearchPngList//----------------BOOL SearchPngList (        TCHAR *pFileList, int FileCount, int *pFileIndex,        PTSTR pstrPrevName, PTSTR pstrNextName){    if (FileCount > 0)    {        // get previous entry                if (pstrPrevName != NULL)        {            if (*pFileIndex > 0)                *pFileIndex -= 1;            else                *pFileIndex = FileCount - 1;                        strcpy (pstrPrevName, pFileList + (*pFileIndex * MAX_PATH));        }                // get next entry                if (pstrNextName != NULL)        {            if (*pFileIndex < FileCount - 1)                *pFileIndex += 1;            else                *pFileIndex = 0;                        strcpy (pstrNextName, pFileList + (*pFileIndex * MAX_PATH));        }                return TRUE;    }    else    {        return FALSE;    }}//-----------------//  LoadImageFile//-----------------BOOL LoadImageFile (HWND hwnd, PTSTR pstrPathName,                png_byte **ppbImage, int *pxImgSize, int *pyImgSize,                int *piChannels, png_color *pBkgColor){    static TCHAR szTmp [MAX_PATH];    // if there's an existing PNG, free the memory    if (*ppbImage)    {        free (*ppbImage);        *ppbImage = NULL;    }    // Load the entire PNG into memory    SetCursor (LoadCursor (NULL, IDC_WAIT));    ShowCursor (TRUE);    PngLoadImage (pstrPathName, ppbImage, pxImgSize, pyImgSize, piChannels,                  pBkgColor);    ShowCursor (FALSE);    SetCursor (LoadCursor (NULL, IDC_ARROW));    if (*ppbImage != NULL)    {        sprintf (szTmp, "VisualPng - %s", strrchr(pstrPathName, '\\') + 1);        SetWindowText (hwnd, szTmp);    }    else    {        MessageBox (hwnd, TEXT ("Error in loading the PNG image"),            szProgName, MB_ICONEXCLAMATION | MB_OK);        return FALSE;    }    return TRUE;}//----------------//  DisplayImage//----------------BOOL DisplayImage (HWND hwnd, BYTE **ppDib,        BYTE **ppDiData, int cxWinSize, int cyWinSize,        BYTE *pbImage, int cxImgSize, int cyImgSize, int cImgChannels,        BOOL bStretched){    BYTE                       *pDib = *ppDib;    BYTE                       *pDiData = *ppDiData;    // BITMAPFILEHEADER        *pbmfh;    BITMAPINFOHEADER           *pbmih;    WORD                        wDIRowBytes;    png_color                   bkgBlack = {0, 0, 0};    png_color                   bkgGray  = {127, 127, 127};    png_color                   bkgWhite = {255, 255, 255};    // allocate memory for the Device Independant bitmap    wDIRowBytes = (WORD) ((3 * cxWinSize + 3L) >> 2) << 2;    if (pDib)    {        free (pDib);        pDib = NULL;    }    if (!(pDib = (BYTE *) malloc (sizeof(BITMAPINFOHEADER) +        wDIRowBytes * cyWinSize)))    {        MessageBox (hwnd, TEXT ("Error in displaying the PNG image"),            szProgName, MB_ICONEXCLAMATION | MB_OK);        *ppDib = pDib = NULL;        return FALSE;    }    *ppDib = pDib;    memset (pDib, 0, sizeof(BITMAPINFOHEADER));    // initialize the dib-structure    pbmih = (BITMAPINFOHEADER *) pDib;    pbmih->biSize = sizeof(BITMAPINFOHEADER);    pbmih->biWidth = cxWinSize;    pbmih->biHeight = -((long) cyWinSize);    pbmih->biPlanes = 1;    pbmih->biBitCount = 24;    pbmih->biCompression = 0;    pDiData = pDib + sizeof(BITMAPINFOHEADER);    *ppDiData = pDiData;    // first fill bitmap with gray and image border    InitBitmap (pDiData, cxWinSize, cyWinSize);    // then fill bitmap with image    if (pbImage)    {        FillBitmap (            pDiData, cxWinSize, cyWinSize,            pbImage, cxImgSize, cyImgSize, cImgChannels,            bStretched);    }    return TRUE;}//--------------//  InitBitmap//--------------BOOL InitBitmap (BYTE *pDiData, int cxWinSize, int cyWinSize){    BYTE *dst;    int x, y, col;    // initialize the background with gray    dst = pDiData;    for (y = 0; y < cyWinSize; y++)    {        col = 0;        for (x = 0; x < cxWinSize; x++)        {            // fill with GRAY            *dst++ = 127;            *dst++ = 127;            *dst++ = 127;            col += 3;        }        // rows start on 4 byte boundaries        while ((col % 4) != 0)        {            dst++;            col++;        }    }    return TRUE;}//--------------//  FillBitmap//--------------BOOL FillBitmap (        BYTE *pDiData, int cxWinSize, int cyWinSize,        BYTE *pbImage, int cxImgSize, int cyImgSize, int cImgChannels,        BOOL bStretched){    BYTE *pStretchedImage;    BYTE *pImg;    BYTE *src, *dst;    BYTE r, g, b, a;    const int cDIChannels = 3;    WORD wImgRowBytes;    WORD wDIRowBytes;    int cxNewSize, cyNewSize;    int cxImgPos, cyImgPos;    int xImg, yImg;    int xWin, yWin;    int xOld, yOld;    int xNew, yNew;    if (bStretched)    {        cxNewSize = cxWinSize - 2 * MARGIN;        cyNewSize = cyWinSize - 2 * MARGIN;        // stretch the image to it's window determined size        // the following two are the same, but the first has side-effects        // because of rounding//      if ((cyNewSize / cxNewSize) > (cyImgSize / cxImgSize))        if ((cyNewSize * cxImgSize) > (cyImgSize * cxNewSize))        {            cyNewSize = cxNewSize * cyImgSize / cxImgSize;            cxImgPos = MARGIN;            cyImgPos = (cyWinSize - cyNewSize) / 2;        }        else        {            cxNewSize = cyNewSize * cxImgSize / cyImgSize;            cyImgPos = MARGIN;            cxImgPos = (cxWinSize - cxNewSize) / 2;        }        pStretchedImage = malloc (cImgChannels * cxNewSize * cyNewSize);        pImg = pStretchedImage;        for (yNew = 0; yNew < cyNewSize; yNew++)        {            yOld = yNew * cyImgSize / cyNewSize;            for (xNew = 0; xNew < cxNewSize; xNew++)            {                xOld = xNew * cxImgSize / cxNewSize;                r = *(pbImage + cImgChannels * ((yOld * cxImgSize) + xOld) + 0);                g = *(pbImage + cImgChannels * ((yOld * cxImgSize) + xOld) + 1);                b = *(pbImage + cImgChannels * ((yOld * cxImgSize) + xOld) + 2);                *pImg++ = r;                *pImg++ = g;                *pImg++ = b;                if (cImgChannels == 4)                {                    a = *(pbImage + cImgChannels * ((yOld * cxImgSize) + xOld)                        + 3);                    *pImg++ = a;                }            }        }        // calculate row-bytes        wImgRowBytes = cImgChannels * cxNewSize;        wDIRowBytes = (WORD) ((cDIChannels * cxWinSize + 3L) >> 2) << 2;        // copy image to screen        for (yImg = 0, yWin = cyImgPos; yImg < cyNewSize; yImg++, yWin++)        {            if (yWin >= cyWinSize - cyImgPos)                break;            src = pStretchedImage + yImg * wImgRowBytes;            dst = pDiData + yWin * wDIRowBytes + cxImgPos * cDIChannels;            for (xImg = 0, xWin = cxImgPos; xImg < cxNewSize; xImg++, xWin++)            {                if (xWin >= cxWinSize - cxImgPos)                    break;                r = *src++;                g = *src++;                b = *src++;                *dst++ = b; /* note the reverse order */                *dst++ = g;                *dst++ = r;                if (cImgChannels == 4)                {                    a = *src++;                }            }        }        // free memory        if (pStretchedImage != NULL)        {            free (pStretchedImage);            pStretchedImage = NULL;        }    }    // process the image not-stretched    else    {        // calculate the central position        cxImgPos = (cxWinSize - cxImgSize) / 2;        cyImgPos = (cyWinSize - cyImgSize) / 2;        // check for image larger than window        if (cxImgPos < MARGIN)            cxImgPos = MARGIN;        if (cyImgPos < MARGIN)            cyImgPos = MARGIN;        // calculate both row-bytes        wImgRowBytes = cImgChannels * cxImgSize;        wDIRowBytes = (WORD) ((cDIChannels * cxWinSize + 3L) >> 2) << 2;        // copy image to screen        for (yImg = 0, yWin = cyImgPos; yImg < cyImgSize; yImg++, yWin++)        {            if (yWin >= cyWinSize - MARGIN)                break;            src = pbImage + yImg * wImgRowBytes;            dst = pDiData + yWin * wDIRowBytes + cxImgPos * cDIChannels;            for (xImg = 0, xWin = cxImgPos; xImg < cxImgSize; xImg++, xWin++)            {                if (xWin >= cxWinSize - MARGIN)                    break;                r = *src++;                g = *src++;                b = *src++;                *dst++ = b; /* note the reverse order */                *dst++ = g;                *dst++ = r;                if (cImgChannels == 4)                {                    a = *src++;                }            }        }    }    return TRUE;}//-----------------//  end of source//-----------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人综合自拍| 国产麻豆午夜三级精品| 99精品国产热久久91蜜凸| 久久青草欧美一区二区三区| 国产91丝袜在线18| 国产日韩视频一区二区三区| k8久久久一区二区三区| 亚洲色图色小说| 欧美日韩国产综合草草| 日韩电影在线一区| 久久精品一区四区| 91国产成人在线| 国产999精品久久| 国产精品护士白丝一区av| 99久久精品国产导航| 天堂精品中文字幕在线| 欧美精品一区二区不卡 | 色吊一区二区三区| 五月天婷婷综合| 久久精品视频一区| 欧洲日韩一区二区三区| 久久精品久久久精品美女| 国产精品天干天干在观线| 欧美日韩视频在线观看一区二区三区| 免费看日韩精品| 国产精品久久免费看| 7777精品伊人久久久大香线蕉经典版下载 | 精品久久久久一区二区国产| caoporm超碰国产精品| 亚洲一区二区三区在线播放| 欧美精品一区视频| 色哟哟亚洲精品| 免费在线观看不卡| 中文字幕中文字幕一区二区| 欧美丰满一区二区免费视频| 国产成人av资源| 丝袜诱惑亚洲看片| 亚洲色图在线播放| 精品国产91亚洲一区二区三区婷婷| 99久久国产综合精品女不卡| 久色婷婷小香蕉久久| 国产精品成人在线观看| 欧美www视频| 欧美日韩精品一区二区在线播放| 国产69精品久久777的优势| 五月综合激情网| 亚洲日本欧美天堂| 国产亚洲精品aa午夜观看| 在线播放日韩导航| 92国产精品观看| 国产福利电影一区二区三区| 美女免费视频一区| 一级特黄大欧美久久久| 国产精品伦一区二区三级视频| 日韩美女在线视频| 欧美精品18+| 欧美日韩日日夜夜| 日韩欧美综合一区| 欧美美女网站色| 欧洲av一区二区嗯嗯嗯啊| av在线播放不卡| 国产91丝袜在线18| 国产盗摄女厕一区二区三区| 精品亚洲国产成人av制服丝袜| 性欧美大战久久久久久久久| 亚洲综合在线观看视频| 亚洲人成网站色在线观看| 国产精品国产三级国产aⅴ中文 | 国产精品久久久久久久久动漫 | 久久99精品一区二区三区三区| 亚洲一区二区欧美| 亚洲一区电影777| 亚洲小少妇裸体bbw| 又紧又大又爽精品一区二区| 中文字幕综合网| 亚洲男人天堂av| 一区二区三区在线观看网站| 亚洲黄网站在线观看| 亚洲六月丁香色婷婷综合久久 | 久久国产精品露脸对白| 久久激情五月婷婷| 在线看不卡av| 欧美三级电影在线观看| 欧美亚洲愉拍一区二区| 91久久精品国产91性色tv| 日本道在线观看一区二区| 欧美三级视频在线| 日韩欧美一区电影| 精品国产乱码久久久久久久| 久久一区二区三区四区| 国产婷婷一区二区| 中文字幕亚洲在| 亚洲中国最大av网站| 亚洲.国产.中文慕字在线| 麻豆国产精品官网| 成人一区二区三区在线观看| 99re热视频这里只精品| 欧美日韩国产欧美日美国产精品| 欧美日韩精品欧美日韩精品| 欧美一级国产精品| 久久精品这里都是精品| 136国产福利精品导航| 亚洲二区视频在线| 久久不见久久见中文字幕免费| 国产九九视频一区二区三区| 99精品视频一区| 91精品国产综合久久福利软件 | 久久久精品国产免大香伊| 中文字幕不卡在线观看| 一片黄亚洲嫩模| 麻豆专区一区二区三区四区五区| 国产成人激情av| 91福利在线导航| 久久青草欧美一区二区三区| 一区二区三区久久| 国产综合成人久久大片91| 成人三级伦理片| 欧美精品 日韩| 中文字幕永久在线不卡| 日韩 欧美一区二区三区| 高清在线不卡av| 欧美精品国产精品| 国产精品毛片a∨一区二区三区| 香港成人在线视频| 成年人网站91| 欧美一区二区不卡视频| 亚洲欧洲成人精品av97| 老司机精品视频导航| 在线免费不卡电影| 国产欧美中文在线| 视频一区免费在线观看| eeuss国产一区二区三区| 日韩欧美在线观看一区二区三区| 国产精品国产三级国产专播品爱网| 免费高清视频精品| 色婷婷久久久综合中文字幕| 久久久久久99久久久精品网站| 日韩电影网1区2区| 欧美一区二区三区精品| 亚洲精品一二三四区| 成人性生交大片免费看中文网站| 欧美一级在线观看| 亚洲高清免费视频| 91福利在线免费观看| 中文字幕一区二区三区精华液| 国产老女人精品毛片久久| 日韩午夜电影av| 日欧美一区二区| 在线观看亚洲精品视频| 亚洲视频综合在线| 亚洲成年人影院| 亚洲一区二区四区蜜桃| 日韩码欧中文字| 精品亚洲国内自在自线福利| 7777精品伊人久久久大香线蕉经典版下载| 亚洲另类春色国产| 91性感美女视频| 综合久久久久久久| 91视频免费观看| 亚洲欧美日韩人成在线播放| 成人福利视频网站| 国产精品国产成人国产三级| 成人天堂资源www在线| 中文字幕巨乱亚洲| 国产成人精品亚洲777人妖 | 欧日韩精品视频| 自拍偷拍欧美精品| 色婷婷一区二区三区四区| 亚洲免费在线观看| 欧美系列日韩一区| 视频一区国产视频| 成人免费在线观看入口| 色综合亚洲欧洲| 樱桃国产成人精品视频| 欧美在线视频你懂得| 一二三区精品福利视频| 欧美在线制服丝袜| 亚洲成人777| 精品日本一线二线三线不卡| 激情国产一区二区| 久久久国产午夜精品| 成人动漫一区二区| 亚洲精品成人精品456| 一本久道久久综合中文字幕 | 日韩欧美国产精品一区| 韩日欧美一区二区三区| 日本一区二区视频在线| 99久久精品国产毛片| 亚洲一区二区三区精品在线| 欧美一区二区三区在线看| 国产美女精品在线| 中文字幕在线视频一区| 91福利社在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久夜色精品一区| 91小视频在线免费看| 秋霞电影网一区二区| 中文字幕第一页久久| 欧美色网站导航| 国产一区二区精品久久99|