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

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

?? skinload.c

?? uclinux下mplayer的源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
        mywidget->bitmap[1] = pngRead(skin, findnextstring(temp, desc, &base));        mywidget->phases = atoi(findnextstring(temp, desc, &base));        mywidget->value = atof(findnextstring(temp, desc, &base));        mywidget->x = mywidget->wx = atoi(findnextstring(temp, desc, &base));        mywidget->y = mywidget->wy = atoi(findnextstring(temp, desc, &base));        mywidget->wwidth = atoi(findnextstring(temp, desc, &base));        mywidget->wheight = atoi(findnextstring(temp, desc, &base));        findnextstring(temp, desc, &base);        mywidget->msg = evNone;        for (i=0; i<evBoxs; i++)        {            if(!strcmp(temp, evNames[i].name))            {                mywidget->msg = evNames[i].msg;                break;            }        }#ifdef DEBUG        mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [ITEM] %s %s %i %i %s %i %f %i %i %i %i msg %i\n",                (mywidget->type == tyHpotmeter) ? "[HPOTMETER]" : "[VPOTMETER]",                (mywidget->bitmap[0]) ? mywidget->bitmap[0]->name : NULL,                mywidget->width, mywidget->height,                (mywidget->bitmap[1]) ? mywidget->bitmap[1]->name : NULL,                mywidget->phases, mywidget->value,                mywidget->wx, mywidget->wy, mywidget->wwidth, mywidget->wwidth,                mywidget->msg);#endif    }    else if(!strncmp(desc, "potmeter", 8))    {        int base = counttonextchar(desc, '=') + 1;        int i;        /* potmeter = phases, numphases, default, X, Y, width, height, message */        mywidget->type = tyPotmeter;        mywidget->bitmap[0] = pngRead(skin, findnextstring(temp, desc, &base));        mywidget->phases = atoi(findnextstring(temp, desc, &base));        mywidget->value = atof(findnextstring(temp, desc, &base));        mywidget->wx = mywidget->x = atoi(findnextstring(temp, desc, &base));        mywidget->wy = mywidget->y = atoi(findnextstring(temp, desc, &base));        mywidget->wwidth = mywidget->width = atoi(findnextstring(temp, desc, &base));        mywidget->wheight = mywidget->height = atoi(findnextstring(temp, desc, &base));        findnextstring(temp, desc, &base);        mywidget->msg = evNone;        for (i=0; i<evBoxs; i++)        {            if(!strcmp(temp, evNames[i].name))            {                mywidget->msg=evNames[i].msg;                break;            }        }#ifdef DEBUG        mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [ITEM] [POTMETER] %s %i %i %i %f %i %i msg %i\n",                (mywidget->bitmap[0]) ? mywidget->bitmap[0]->name : NULL,                mywidget->width, mywidget->height,                mywidget->phases, mywidget->value,                mywidget->x, mywidget->y,                mywidget->msg);#endif    }    else if(!strncmp(desc, "menu", 4))    {        int base = counttonextchar(desc, '=') + 1;        int i;        mywidget->type = tyMenu;        mywidget->wx=atoi(findnextstring(temp, desc, &base));        mywidget->x=0;        mywidget->wy=mywidget->y=atoi(findnextstring(temp, desc, &base));        mywidget->wwidth=mywidget->width=atoi(findnextstring(temp, desc, &base));        mywidget->wheight=mywidget->height=atoi(findnextstring(temp, desc, &base));        findnextstring(temp, desc, &base);        mywidget->msg = evNone;        for (i=0; i<evBoxs; i++)        {            if(!strcmp(temp, evNames[i].name))            {                mywidget->msg = evNames[i].msg;                break;            }        }#ifdef DEBUG        mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [ITEM] [MENU] %i %i %i %i msg %i\n",               mywidget->x, mywidget->y, mywidget->width, mywidget->height, mywidget->msg);#endif    }    else if(!strncmp(desc, "selected", 8))    {        win->base->bitmap[1] = pngRead(skin, (char *) desc + 9);#ifdef DEBUG        mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [ITEM] [BASE] added image %s\n", win->base->bitmap[1]->name);#endif    }    else if(!strncmp(desc, "slabel",6))    {        int base = counttonextchar(desc, '=') + 1;        unsigned int i;        mywidget->type = tySlabel;        mywidget->wx = mywidget->x = atoi(findnextstring(temp, desc, &base));        mywidget->wy = mywidget->y = atoi(findnextstring(temp, desc, &base));        findnextstring(temp, desc, &base);        mywidget->font = NULL;        for (i=0; i<skin->fontcount; i++)        {            if(!strcmp(temp, skin->fonts[i]->name))            {                mywidget->font = skin->fonts[i];                break;            }        }        mywidget->label = strdup(findnextstring(temp, desc, &base));#ifdef DEBUG        mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [ITEM] [SLABEL] %i %i %s %s\n",               mywidget->x, mywidget->y, mywidget->font->name, mywidget->label);#endif    }    else if(!strncmp(desc, "dlabel", 6))    {        int base = counttonextchar(desc, '=') + 1;        unsigned int i;        mywidget->type = tyDlabel;        mywidget->wx = mywidget->x = atoi(findnextstring(temp, desc, &base));        mywidget->wy = mywidget->y = atoi(findnextstring(temp, desc, &base));        mywidget->length = atoi(findnextstring(temp, desc, &base));        mywidget->align = atoi(findnextstring(temp, desc, &base));        findnextstring(temp, desc, &base);        mywidget->font = NULL;        for (i=0; i<skin->fontcount; i++)        {            if(!strcmp(temp, skin->fonts[i]->name))            {                mywidget->font=skin->fonts[i];                break;            }        }        mywidget->label=strdup(findnextstring(temp, desc, &base));#ifdef DEBUG        mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [ITEM] [DLABEL] %i %i %i %i %s \"%s\"\n",               mywidget->x, mywidget->y, mywidget->length, mywidget->align, mywidget->font->name, mywidget->label);#endif    }    free(temp);}static void loadfonts(skin_t* skin){    unsigned int x;    for (x=0; x<skin->fontcount; x++)    {        FILE *fp;        int linenumber=0;        char *filename;        char *tmp = calloc(1, MAX_LINESIZE);        char *desc = calloc(1, MAX_LINESIZE);        filename = calloc(1, strlen(skin->skindir) + strlen(skin->fonts[x]->name) + 6);        sprintf(filename, "%s\\%s.fnt", skin->skindir, skin->fonts[x]->name);        if(!(fp = fopen(filename,"rb")))        {            mp_msg(MSGT_GPLAYER, MSGL_ERR, "[FONT LOAD] Font not found \"%s\"\n", skin->fonts[x]->name);            return;        }        while(!feof(fp))        {            int pos = 0;            unsigned int i;            fgets(tmp, MAX_LINESIZE, fp);            linenumber++;            memset(desc, 0, MAX_LINESIZE);            for (i=0; i<strlen(tmp); i++)            {                /* remove spaces and linebreaks */                if((tmp[i] == ' ') || (tmp[i] == '\n') || (tmp[i] == '\r')) continue;                /* remove comments */                if((tmp[i] == ';') &&  ((i < 1) || (tmp[i-1] != '\"')))                {#ifdef DEBUG                    mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[FONT LOAD] Comment: %s", tmp + i + 1);#endif                    break;                }                desc[pos] = tmp[i];                pos++;            }            if(!strlen(desc)) continue;            /* now we have "readable" output -> parse it */            if(!strncmp(desc, "image", 5))            {                skin->fonts[x]->image = pngRead(skin, desc + 6);#ifdef DEBUG                mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[FONT] [IMAGE] \"%s\"\n", desc + 6);#endif            }            else            {                int base = 4;                if(*desc != '"') break;                if(*(desc + 1) == 0) break;                (skin->fonts[x]->charcount)++;                skin->fonts[x]->chars = realloc(skin->fonts[x]->chars, sizeof(char_t *) *skin->fonts[x]->charcount);                skin->fonts[x]->chars[skin->fonts[x]->charcount - 1]=calloc(1, sizeof(char_t));                skin->fonts[x]->chars[skin->fonts[x]->charcount - 1]->c = ((*(desc + 1) == '"') && (*(desc + 2) != '"')) ? ' ': *(desc + 1);                if((*(desc + 1) == '"') && (*(desc + 2) != '"')) base = 3;                skin->fonts[x]->chars[skin->fonts[x]->charcount - 1]->x = atoi(findnextstring(tmp, desc, &base));                skin->fonts[x]->chars[skin->fonts[x]->charcount - 1]->y = atoi(findnextstring(tmp, desc, &base));                skin->fonts[x]->chars[skin->fonts[x]->charcount - 1]->width = atoi(findnextstring(tmp, desc, &base));                skin->fonts[x]->chars[skin->fonts[x]->charcount - 1]->height = atoi(findnextstring(tmp, desc, &base));#ifdef DEBUG                mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[FONT] [CHAR] %c %i %i %i %i\n",                        skin->fonts[x]->chars[skin->fonts[x]->charcount - 1]->c,                        skin->fonts[x]->chars[skin->fonts[x]->charcount - 1]->x,                        skin->fonts[x]->chars[skin->fonts[x]->charcount - 1]->y,                        skin->fonts[x]->chars[skin->fonts[x]->charcount - 1]->width,                        skin->fonts[x]->chars[skin->fonts[x]->charcount - 1]->height);#endif            }        }        free(desc);        free(filename);        free(tmp);        fclose(fp);    }}skin_t* loadskin(char* skindir, int desktopbpp){    FILE *fp;    int reachedendofwindow = 0;    int linenumber = 0;    skin_t *skin = calloc(1, sizeof(skin_t));    char *filename;    char *tmp = calloc(1, MAX_LINESIZE);    char *desc = calloc(1, MAX_LINESIZE);    window* mywindow = NULL;    /* init swscaler */    sws_rgb2rgb_init(get_sws_cpuflags());    /* setup funcs */    skin->freeskin = freeskin;    skin->pngRead = pngRead;    skin->addwidget = addwidget;    skin->removewidget = removewidget;    skin->geteventname = geteventname;    skin->desktopbpp = desktopbpp;    skin->skindir = strdup(skindir);    filename = calloc(1, strlen(skin->skindir) + strlen("skin") + 2);    sprintf(filename, "%s\\skin", skin->skindir);    if(!(fp = fopen(filename, "rb")))    {        mp_msg(MSGT_GPLAYER, MSGL_FATAL, "[SKIN LOAD] Skin \"%s\" not found\n", skindir);        skin->freeskin(skin);        return NULL;    }    while(!feof(fp))    {        int pos = 0;        unsigned int i;        int insidequote = 0;        fgets(tmp, MAX_LINESIZE, fp);        linenumber++;        memset(desc, 0, MAX_LINESIZE);        for (i=0; i<strlen(tmp); i++)        {            if((tmp[i] == '"') && !insidequote) { insidequote=1; continue; }            else if((tmp[i] == '"') && insidequote) { insidequote=0 ; continue; }            /* remove spaces and linebreaks */            if((!insidequote && (tmp[i] == ' ')) || (tmp[i] == '\n') || (tmp[i] == '\r')) continue;            /* remove comments */            else if(tmp[i] == ';')            {#ifdef DEBUG                mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN LOAD] Comment: %s", tmp + i + 1);#endif                break;            }            desc[pos] = tmp[i];            pos++;        }        if(!strlen(desc)) continue;        /* now we have "readable" output -> parse it */        /* parse window specific info */        if(!strncmp(desc, "section", 7))        {#ifdef DEBUG            mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [SECTION] \"%s\"\n", desc + 8);#endif        }        else if(!strncmp(desc, "window", 6))        {#ifdef DEBUG            mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [WINDOW] \"%s\"\n", desc + 7);#endif            reachedendofwindow = 0;            (skin->windowcount)++;            skin->windows = realloc(skin->windows, sizeof(window *) * skin->windowcount);            mywindow = skin->windows[(skin->windowcount) - 1] = calloc(1, sizeof(window));            mywindow->name = strdup(desc + 7);            if(!strncmp(desc + 7, "main", 4)) mywindow->type = wiMain;            else if(!strncmp(desc+7, "sub", 3))            {                mywindow->type = wiSub;                mywindow->decoration = 1;            }            else if(!strncmp(desc + 7, "menu", 4)) mywindow->type = wiMenu;            else if(!strncmp(desc + 7, "playbar", 7)) mywindow->type = wiPlaybar;            else mp_msg(MSGT_GPLAYER, MSGL_V, "[SKIN] warning found unknown windowtype");        }        else if(!strncmp(desc, "decoration", 10) && !strncmp(desc + 11, "enable", 6))        {            mywindow->decoration = 1;#ifdef DEBUG            mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [DECORATION] enabled decoration for window \"%s\"\n", mywindow->name);#endif        }        else if(!strncmp(desc, "background", 10))        {            int base = counttonextchar(desc, '=') + 1;            char temp[MAX_LINESIZE];            mywindow->backgroundcolor[0] = atoi(findnextstring(temp, desc, &base));            mywindow->backgroundcolor[1] = atoi(findnextstring(temp, desc, &base));            mywindow->backgroundcolor[2] = atoi(findnextstring(temp, desc, &base));#ifdef DEBUG            mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [BACKGROUND] window \"%s\" has backgroundcolor (%i,%i,%i)\n", mywindow->name,                    mywindow->backgroundcolor[0],                    mywindow->backgroundcolor[1],                    mywindow->backgroundcolor[2]);#endif        }        else if(!strncmp(desc, "end", 3))        {            if(reachedendofwindow)            {#ifdef DEBUG                mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [END] of section\n");#endif            }            else            {                reachedendofwindow = 1;#ifdef DEBUG                mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [END] of window \"%s\"\n", mywindow->name);#endif            }        }        else if(!strncmp(desc, "font", 4))        {            unsigned int i;            int id = 0;            char temp[MAX_LINESIZE];            int base = counttonextchar(desc, '=')+1;            findnextstring(temp, desc, &base);            findnextstring(temp, desc, &base);            for (i=0; i<skin->fontcount; i++)                if(!strcmp(skin->fonts[i]->id, temp))                {                    id = i;                    break;                }            if(!id)            {                int base = counttonextchar(desc, '=') + 1;                findnextstring(temp, desc, &base);                id = skin->fontcount;                (skin->fontcount)++;                skin->fonts = realloc(skin->fonts, sizeof(font_t *) * skin->fontcount);                skin->fonts[id]=calloc(1, sizeof(font_t));                skin->fonts[id]->name = strdup(temp);                skin->fonts[id]->id = strdup(findnextstring(temp, desc, &base));            }#ifdef DEBUG            mp_msg(MSGT_GPLAYER, MSGL_DBG4, "[SKIN] [FONT] id  \"%s\" name \"%s\"\n", skin->fonts[id]->name, skin->fonts[id]->id);#endif        }        else            skin->addwidget(skin, mywindow, desc);    }    free(desc);    free(filename);    free(tmp);    fclose(fp);    loadfonts(skin);    mp_msg(MSGT_GPLAYER, MSGL_V, "[SKIN LOAD] loaded skin \"%s\"\n", skin->skindir);    /* dumpwidgets(skin); */    return skin;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中日韩av电影| 国产成人在线视频网站| 日韩av一区二区三区四区| 精品一区二区久久久| 91免费视频网| 久久久久久99精品| 日本va欧美va精品发布| 色网综合在线观看| 欧美国产日韩一二三区| 麻豆精品在线看| 亚洲一区二区在线播放相泽| 九一九一国产精品| 欧美日韩综合一区| 一区二区三区在线观看欧美| 国产成人小视频| 久久久久久久性| 日本视频免费一区| 538prom精品视频线放| 一区二区三区在线观看欧美| voyeur盗摄精品| 国产日韩欧美精品电影三级在线| 日日骚欧美日韩| 精品视频123区在线观看| 亚洲国产成人一区二区三区| 精品一区二区三区免费观看| 欧美精品一卡二卡| 日韩精品乱码免费| 欧美日韩国产色站一区二区三区| 亚洲精品中文字幕在线观看| av在线不卡免费看| 亚洲精品一二三| 91福利精品视频| 亚洲最新在线观看| 欧美中文字幕久久| 亚洲图片自拍偷拍| 欧美巨大另类极品videosbest| 亚洲国产精品影院| 欧美日精品一区视频| 香港成人在线视频| 日韩一区二区三区视频在线 | 韩国成人在线视频| 欧美xxxxx牲另类人与| 久久精品72免费观看| 日韩欧美一区中文| 国产资源精品在线观看| 久久久91精品国产一区二区三区| 国产成人亚洲综合a∨婷婷| 国产精品美女久久久久高潮| 94-欧美-setu| 亚洲国产三级在线| 国产精品美女久久久久高潮| 国产成人午夜精品5599| 中文欧美字幕免费| 91黄色免费版| 日本中文字幕一区| 久久久欧美精品sm网站| 99久久99久久综合| 日日摸夜夜添夜夜添国产精品 | 色综合久久88色综合天天免费| 亚洲欧美一区二区三区国产精品| 色欧美片视频在线观看| 日韩高清在线一区| 国产清纯白嫩初高生在线观看91| 色先锋资源久久综合| 麻豆精品国产传媒mv男同| 日本一区二区三区四区| 欧美视频一区二区三区四区 | 成人午夜av影视| 亚洲成av人片一区二区| 久久久久高清精品| 欧美日韩亚洲综合| 国产成人欧美日韩在线电影| 亚洲v日本v欧美v久久精品| 久久综合狠狠综合久久综合88 | 亚洲一区视频在线| 精品福利一区二区三区免费视频| 99在线精品视频| 久久 天天综合| 一区二区三国产精华液| 欧美一区二区三区免费观看视频| 成人短视频下载| 蜜臀av国产精品久久久久| 综合激情网...| 精品欧美乱码久久久久久1区2区| 色诱视频网站一区| 国产精一品亚洲二区在线视频| 亚洲电影激情视频网站| 亚洲国产成人自拍| 精品国产91久久久久久久妲己| 日本精品一级二级| 成人黄色综合网站| 寂寞少妇一区二区三区| 亚洲第一福利一区| 国产精品久久久久久久久免费桃花 | 亚洲va韩国va欧美va| 国产日产欧美一区二区视频| 欧美久久一二三四区| 成人免费视频网站在线观看| 青草av.久久免费一区| 亚洲精品乱码久久久久久| 国产色综合久久| 日韩三级视频在线看| 欧美亚洲自拍偷拍| 99在线精品视频| 成人精品国产福利| 国产·精品毛片| 激情成人综合网| 免费欧美在线视频| 日本成人在线一区| 午夜国产精品一区| 亚洲国产视频a| 亚洲成人手机在线| 午夜久久电影网| 亚洲一区二区三区四区五区黄| 亚洲品质自拍视频网站| 国产精品久久久久婷婷二区次| 久久婷婷成人综合色| 精品国产乱码久久久久久免费| 欧美一区二区在线不卡| 日韩欧美亚洲国产另类| 亚洲精品一区二区精华| 久久久久国产免费免费| www欧美成人18+| 国产色91在线| 国产精品国产成人国产三级| 亚洲人成网站影音先锋播放| 亚洲精品成人少妇| 午夜一区二区三区视频| 首页亚洲欧美制服丝腿| 蜜臀精品久久久久久蜜臀| 国产在线播放一区二区三区| 国产91在线|亚洲| 91麻豆成人久久精品二区三区| 欧美在线看片a免费观看| 欧美日韩免费在线视频| 欧美一区二区三区成人| 欧美不卡一区二区三区| 久久精品夜夜夜夜久久| 成人免费在线观看入口| 亚洲综合清纯丝袜自拍| 麻豆极品一区二区三区| eeuss鲁片一区二区三区在线看| 色国产综合视频| 日韩小视频在线观看专区| 久久久久久久久久久久电影| 国产精品久久久久精k8| 五月激情丁香一区二区三区| 国产一区二区免费看| 91丨porny丨首页| 欧美一区永久视频免费观看| 国产午夜精品美女毛片视频| 亚洲色图一区二区三区| 日本在线不卡一区| 国产成人精品午夜视频免费| 在线观看国产91| 久久亚洲一区二区三区四区| 亚洲欧美一区二区三区极速播放 | 色综合久久综合| 日韩一区二区麻豆国产| 国产精品麻豆视频| 日韩二区在线观看| 99r国产精品| 欧美成人精品高清在线播放| 一区二区三区中文免费| 精品亚洲国内自在自线福利| 在线影视一区二区三区| 亚洲人一二三区| 国产在线精品一区二区夜色| 色拍拍在线精品视频8848| 日韩欧美专区在线| 亚洲黄色性网站| 国产99久久久精品| 欧美一区二区三区日韩视频| 亚洲欧洲成人精品av97| 久久成人麻豆午夜电影| 欧美人与禽zozo性伦| 亚洲视频小说图片| 国产乱子伦一区二区三区国色天香| 91黄色免费观看| 中文字幕一区在线| 国产精品一区一区三区| 日韩一区二区三区四区| 性欧美大战久久久久久久久| 91免费在线播放| 亚洲色图19p| eeuss国产一区二区三区| 国产亚洲欧美色| 国产在线视频精品一区| 日韩精品一区二| 美女视频黄a大片欧美| 欧美撒尿777hd撒尿| 一区二区三区欧美视频| 99热99精品| 自拍偷在线精品自拍偷无码专区| 国产丶欧美丶日本不卡视频| 久久综合九色综合97_久久久| 久久er精品视频| 日韩欧美中文字幕精品| 久久成人久久鬼色| 久久久亚洲精华液精华液精华液|