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

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

?? cpsk_skin.c

?? VC++視頻開發實例集錦(包括“遠程視頻監控”"語音識別系統"等13個經典例子)
?? C
?? 第 1 頁 / 共 2 頁
字號:
    {
        pRect = &pSkin->mpl_rVScrollBar_Track_Tile;
        ppImage = &pSkin->mpl_pVScrollBar_TrackDn;
    }
    else
        return;

    // Set data members
    if(*ppImage)
        CPIG_DestroyImage(*ppImage);
    *ppImage = CPIG_CreateImage_FromSubFile(hComposite, cFile);
    *pRect = rTileBorders;
    if(*ppImage)
    {
        pRect->right = (*ppImage)->m_szSize.cx - rTileBorders.right;
        pRect->bottom = (*ppImage)->m_szSize.cy - rTileBorders.bottom;
    }
}
//
//
//
void CPSK_ReadSkinCommand_ButtonDraw(CP_COMPOSITEFILE hComposite, CPs_Skin* pSkin, const char* pcParams)
{
    char cElement[32];
    char cStates[12];
    char cFile[128];
    CPs_Image_WithState** ppImage;
    int iNumStates;

    // Decode params
    if(sscanf(pcParams, " %32[A-Za-z_-] , \"%128[^\"]\" , %12s ",
              cElement, cFile, cStates) != 3)
    {
        return;
    }

    // Setup number of states
    if(stricmp(cStates, "2State") == 0)
        iNumStates = 2;
    else
        iNumStates = 2;

    // Decide which data members are affected by this command
    if(stricmp(cElement, "HScrollBar_Left") == 0)
    {
        ppImage = &pSkin->mpl_pHScrollBar_Left;
    }
    else if(stricmp(cElement, "HScrollBar_Right") == 0)
    {
        ppImage = &pSkin->mpl_pHScrollBar_Right;
    }
    else if(stricmp(cElement, "VScrollBar_Up") == 0)
    {
        ppImage = &pSkin->mpl_pVScrollBar_Up;
    }
    else if(stricmp(cElement, "VScrollBar_Down") == 0)
    {
        ppImage = &pSkin->mpl_pVScrollBar_Down;
    }
    else
        return;

    // Set data members
    if(*ppImage)
        CPIG_DestroyImage_WithState(*ppImage);
    *ppImage = CPIG_CreateStateImage(CPIG_CreateImage_FromSubFile(hComposite, cFile), iNumStates);
}
//
//
//
DWORD CPSK_DecodeAlign(const char* pcAlign)
{
    char cAlign[1024];
    char cAlign_Remains[128];
    char cAlignFlag[128];
    DWORD dwAlignFlag = 0;

    strcpy(cAlign, pcAlign);
    while(sscanf(cAlign, " %128[a-zA-Z_] | %[^\0]", cAlignFlag, cAlign_Remains) > 0)
    {
        strcpy(cAlign, cAlign_Remains);
        cAlign_Remains[0] = '\0';

        if(stricmp(cAlignFlag, "ALIGN_LEFT") == 0)
            dwAlignFlag |= CPC_COMMANDTARGET_ALIGN_LEFT;
        else if(stricmp(cAlignFlag, "ALIGN_TOP") == 0)
            dwAlignFlag |= CPC_COMMANDTARGET_ALIGN_TOP;
        else if(stricmp(cAlignFlag, "ALIGN_RIGHT") == 0)
            dwAlignFlag |= CPC_COMMANDTARGET_ALIGN_RIGHT;
        else if(stricmp(cAlignFlag, "ALIGN_BOTTOM") == 0)
            dwAlignFlag |= CPC_COMMANDTARGET_ALIGN_BOTTOM;
    }

    return dwAlignFlag;
}
//
//
//
void CPSK_ReadSkinCommand_AddVerb(CP_COMPOSITEFILE hComposite, CPs_CommandTarget** ppCommandTarget, const char* pcParams)
{
    char cElement[32];
    char cStates[12];
    char cAlign[128];
    char cFile[128];
    int iNumStates;
    POINT ptOffset;
    wp_Verb pfnVerb = NULL;
    DWORD dwAlignFlag;
    CPs_CommandTarget* pNext;

    // Decode params
    if(sscanf(pcParams, " %32[A-Za-z_-] , \"%128[^\"]\" , %12[0-9a-zA-Z] , %d , %d , \"%128[^\"]\" ",
              cElement, cFile, cStates, &ptOffset.x, &ptOffset.y, cAlign) != 6)
    {
        return;
    }

    // Setup number of states
    if(stricmp(cStates, "3State") == 0)
        iNumStates = 3;
    else
        iNumStates = 2;

    // Find the verb with this name
    {
        int iVerbIDX;
        CPs_VerbQueryName queryname;

        queryname.m_pcName = cElement;
        queryname.m_bNameMatched = FALSE;
        for(iVerbIDX = 0; glb_pfnAllVerbs[iVerbIDX]; iVerbIDX++)
        {
            glb_pfnAllVerbs[iVerbIDX](vaQueryName, &queryname);
            if(queryname.m_bNameMatched)
            {
                pfnVerb = glb_pfnAllVerbs[iVerbIDX];
                break;
            }
        }
    }

    // Build the align flags
    dwAlignFlag = CPSK_DecodeAlign(cAlign);

    // Load state image
    pNext = *ppCommandTarget;
    *ppCommandTarget = (CPs_CommandTarget*)malloc(sizeof(CPs_CommandTarget));
    (*ppCommandTarget)->m_pStateImage = CPIG_CreateStateImage(CPIG_CreateImage_FromSubFile(hComposite, cFile), iNumStates);
    (*ppCommandTarget)->m_ptOffset = ptOffset;
    (*ppCommandTarget)->m_dwAlign = dwAlignFlag;
    (*ppCommandTarget)->m_pfnVerb = pfnVerb;
    (*ppCommandTarget)->m_pNext = pNext;
}
//
//
//
void CPSK_ReadSkinCommand_AddIndicator(CP_COMPOSITEFILE hComposite, CPs_Skin* pSkin, const char* pcParams)
{
    char cElement[32];
    char cAlign[128];
    RECT rOffset;
    DWORD dwAlignFlag;
    CPs_Indicator* pNext;

    // Decode params
    if(sscanf(pcParams, " %32[A-Za-z_-] , %d , %d , %d , %d , \"%128[^\"]\" ",
              cElement, &rOffset.left, &rOffset.top, &rOffset.right, &rOffset.bottom, cAlign) != 6)
    {
        return;
    }

    // Build the align flags
    dwAlignFlag = CPSK_DecodeAlign(cAlign);

    // Load state image
    pNext = pSkin->mpl_pIndicators;
    pSkin->mpl_pIndicators = (CPs_Indicator*)malloc(sizeof(CPs_Indicator));
    pSkin->mpl_pIndicators->m_pNext = pNext;
    pSkin->mpl_pIndicators->m_dwAlign = dwAlignFlag;
    pSkin->mpl_pIndicators->m_rAlign = rOffset;
    STR_AllocSetString(&pSkin->mpl_pIndicators->m_pcName, cElement, FALSE);

}
void CPSK_ReadSkinCommand_AddPlaylistVerb(CP_COMPOSITEFILE hComposite, CPs_Skin* pSkin, const char* pcParams)
{
    CPSK_ReadSkinCommand_AddVerb(hComposite, &pSkin->mpl_pCommandTargets, pcParams);
}
//
//
//
void CPSK_ReadSkinLine(CP_COMPOSITEFILE hComposite, CPs_Skin* pSkin, const char* pcLine)
{
    char cCommand[32];
    char cParams[480];

    // Decode command
    if(sscanf(pcLine, " %32s %480[^\0]", cCommand, cParams) != 2)
        return;

    // Skip comments
    if(cCommand[0] == '#')
        return;

    CP_TRACE2("Command:\"%s\" Params:\"%s\"", cCommand, cParams);
    if(stricmp(cCommand, "define") == 0)
        CPSK_ReadSkinCommand_Define(hComposite, pSkin, cParams);
    else if(stricmp(cCommand, "tileddraw") == 0)
        CPSK_ReadSkinCommand_TiledDraw(hComposite, pSkin, cParams);
    else if(stricmp(cCommand, "buttondraw") == 0)
        CPSK_ReadSkinCommand_ButtonDraw(hComposite, pSkin, cParams);
    else if(stricmp(cCommand, "addplaylistverb") == 0)
        CPSK_ReadSkinCommand_AddPlaylistVerb(hComposite, pSkin, cParams);
    else if(stricmp(cCommand, "addplaylistindicator") == 0)
        CPSK_ReadSkinCommand_AddIndicator(hComposite, pSkin, cParams);
}
//
//
//
CPs_Skin* CPSK_LoadSkin(CP_COMPOSITEFILE hComposite, const char* pcSkinFile, const unsigned int iFileSize)
{
    unsigned int iLastLineStartIDX, iCharIDX;
    CPs_Skin* pNewSkin = (CPs_Skin*)malloc(sizeof(CPs_Skin));
    memset(pNewSkin, 0, sizeof(*pNewSkin));

    // Read in the file line by line
    iLastLineStartIDX = 0;
    for(iCharIDX = 0; iCharIDX < iFileSize+1; iCharIDX++)
    {
        if( (pcSkinFile[iCharIDX] == '\r'
                || pcSkinFile[iCharIDX] == '\n'
                || iCharIDX == iFileSize)
                && iLastLineStartIDX < iCharIDX)
        {
            char cBuffer[512];
            int iBytesOnLine;

            iBytesOnLine = iCharIDX-iLastLineStartIDX;
            if(iBytesOnLine >= 512)
                iBytesOnLine = 511;
            memcpy(cBuffer, pcSkinFile + iLastLineStartIDX, iBytesOnLine);
            cBuffer[iBytesOnLine] = '\0';
            CPSK_ReadSkinLine(hComposite, pNewSkin, cBuffer);

            // Set the line start for the next line
            if(pcSkinFile[iCharIDX + 1] == '\n')
                iCharIDX++;
            iLastLineStartIDX = iCharIDX + 1;
        }
    }

    return pNewSkin;
}
//
//
//

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美成人激情| 日本中文字幕一区二区视频| 亚洲综合激情网| 久久精品国产99国产| 91亚洲男人天堂| 精品91自产拍在线观看一区| 亚洲精品高清在线| 韩国成人福利片在线播放| 在线视频中文字幕一区二区| 久久众筹精品私拍模特| 亚洲国产视频直播| 91在线观看视频| 国产午夜精品久久久久久免费视| 午夜精品成人在线| 一本久久a久久精品亚洲| 国产欧美精品国产国产专区| 美日韩一级片在线观看| 欧美日本在线视频| 亚洲超丰满肉感bbw| 欧美性猛交一区二区三区精品| 亚洲国产精品av| 国产成人综合亚洲91猫咪| 欧美大片拔萝卜| 日韩不卡一区二区| 91精品国产综合久久蜜臀| 亚洲一二三四久久| 欧美性欧美巨大黑白大战| 一区二区三区四区高清精品免费观看| 国产精品自拍毛片| 久久久久久久久免费| 国内成人免费视频| 久久综合色鬼综合色| 国产精品小仙女| 欧美激情资源网| 99精品热视频| 亚洲人成伊人成综合网小说| 色综合天天综合给合国产| 亚洲码国产岛国毛片在线| 色94色欧美sute亚洲线路二| 一区二区三区精品久久久| 91国产免费看| 丝瓜av网站精品一区二区| 欧美日韩国产成人在线91| 日本不卡在线视频| 久久影视一区二区| 色国产综合视频| 午夜精品视频在线观看| 日韩三级在线免费观看| 另类小说一区二区三区| 久久青草国产手机看片福利盒子| 高清日韩电视剧大全免费| 中文字幕一区视频| 欧美午夜精品理论片a级按摩| 丝袜亚洲另类欧美综合| 久久久不卡网国产精品二区| 91在线你懂得| 日韩精品电影在线| 久久精品人人做人人综合| av福利精品导航| 日本一不卡视频| 国产精品午夜在线观看| 欧美日韩午夜影院| 国内国产精品久久| 一区二区三区四区不卡视频| 日韩欧美国产系列| 成人开心网精品视频| 午夜视频久久久久久| 国产日韩欧美电影| 欧美久久久一区| 国产成人午夜视频| 日本不卡一区二区| 亚洲视频一区二区在线观看| 欧美一级久久久| 色综合一区二区三区| 经典三级视频一区| 婷婷久久综合九色综合伊人色| 久久蜜臀精品av| 欧美日韩国产综合一区二区| 大陆成人av片| 精品一区二区三区免费视频| 亚洲一卡二卡三卡四卡| 国产欧美精品在线观看| 91精品国产色综合久久| 91视视频在线观看入口直接观看www | 精品国产伦一区二区三区观看方式 | 国产一区二区三区免费看 | 欧美日韩午夜在线| 成人av在线资源网站| 奇米一区二区三区| 亚洲一区二区三区不卡国产欧美| 欧美国产激情二区三区| 日韩精品一区国产麻豆| 欧美二区乱c少妇| 91久久一区二区| 成人aa视频在线观看| 国产精品一区在线观看乱码| 久久www免费人成看片高清| 亚洲综合色成人| 亚洲精品一二三| 中文字幕中文在线不卡住| 精品国产伦一区二区三区免费| 欧美一级在线观看| 国产精品国产三级国产aⅴ无密码| 亚洲精品在线网站| 精品欧美久久久| 精品噜噜噜噜久久久久久久久试看 | 亚洲6080在线| 樱花草国产18久久久久| 亚洲美女电影在线| 亚洲精品老司机| 亚洲线精品一区二区三区八戒| 综合久久久久久| 亚洲视频一区在线| 亚洲免费资源在线播放| 亚洲免费在线看| 亚洲一区中文在线| 午夜亚洲福利老司机| 亚洲综合清纯丝袜自拍| 性久久久久久久| 麻豆国产一区二区| 国产做a爰片久久毛片| 国产精品一区二区免费不卡 | 日本欧美韩国一区三区| 青青青爽久久午夜综合久久午夜| 男人的天堂久久精品| 久草中文综合在线| 国产精品一区二区免费不卡| 国产999精品久久久久久| 波多野结衣中文一区| 色吧成人激情小说| 91.xcao| 久久久久久久久久久黄色| 国产日韩欧美高清在线| 亚洲另类一区二区| 日韩 欧美一区二区三区| 韩国欧美一区二区| 99久久精品99国产精品| 欧美日本视频在线| 亚洲精品一区二区精华| 国产精品久99| 日韩av一二三| 国产精品77777竹菊影视小说| 91性感美女视频| 欧美精品第1页| 国产日韩精品视频一区| 一区二区欧美精品| 狠狠网亚洲精品| 91传媒视频在线播放| 日韩三级.com| 成人欧美一区二区三区黑人麻豆| 亚洲高清免费视频| 国产成人亚洲综合a∨婷婷图片| 成人av在线影院| 欧美一级日韩免费不卡| 国产精品色噜噜| 日韩av网站在线观看| 91在线播放网址| 久久久噜噜噜久久人人看| 亚洲精品国产一区二区精华液| 捆绑调教一区二区三区| 色综合色综合色综合色综合色综合| 欧美一二区视频| 亚洲视频一区二区在线观看| 捆绑调教美女网站视频一区| 91蜜桃婷婷狠狠久久综合9色| 日韩欧美一区二区久久婷婷| 成人欧美一区二区三区小说| 国产综合色视频| 91精品国产色综合久久久蜜香臀| 亚洲欧洲性图库| 精彩视频一区二区三区| 欧美日韩在线直播| 亚洲欧美中日韩| 国产一区二区视频在线| 欧美高清精品3d| 亚洲永久精品大片| 99热这里都是精品| 国产欧美日韩在线观看| 久久se精品一区精品二区| 欧美精品乱码久久久久久| 樱花草国产18久久久久| 91视频在线观看免费| 国产欧美精品区一区二区三区| 激情另类小说区图片区视频区| 欧美精品久久久久久久多人混战 | 伊人夜夜躁av伊人久久| 成人午夜视频福利| 久久精品亚洲精品国产欧美 | 日韩精品国产欧美| 欧美日韩在线直播| 亚洲国产日产av| 欧美视频精品在线| 亚洲一区在线观看网站| 色综合久久中文综合久久97| 18涩涩午夜精品.www| 99国产欧美另类久久久精品| 中文字幕成人av| 99久久国产综合精品女不卡| 国产精品你懂的在线欣赏| 懂色av一区二区三区蜜臀|