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

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

?? ncurses.c

?? VLC Player Source Code
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
        case '<':            if( p_sys->p_input )            {                val.b_bool = true;                var_Set( p_sys->p_input, "prev-chapter", val );            }            ReturnTrue;        case '>':            if( p_sys->p_input )            {                val.b_bool = true;                var_Set( p_sys->p_input, "next-chapter", val );            }            ReturnTrue;        case 'p':            playlist_Prev( p_playlist );            clear();            ReturnTrue;        case 'n':            playlist_Next( p_playlist );            clear();            ReturnTrue;        case 'a':            aout_VolumeUp( p_intf, 1, NULL );            clear();            ReturnTrue;        case 'z':            aout_VolumeDown( p_intf, 1, NULL );            clear();            ReturnTrue;        /*         * ^l should clear and redraw the screen         */        case KEY_CLEAR:        case 0x0c:          /* ^l */            clear();            ReturnTrue;        default:            ReturnFalse;    }#undef ReturnFalse#undef ReturnTrue}static void ManageSlider( intf_thread_t *p_intf ){    intf_sys_t     *p_sys = p_intf->p_sys;    input_thread_t *p_input = p_sys->p_input;    vlc_value_t     val;    if( p_input == NULL )    {        return;    }    var_Get( p_input, "state", &val );    if( val.i_int != PLAYING_S )    {        return;    }    var_Get( p_input, "position", &val );    if( p_sys->f_slider == p_sys->f_slider_old )    {        p_sys->f_slider =        p_sys->f_slider_old = 100 * val.f_float;    }    else    {        p_sys->f_slider_old = p_sys->f_slider;        val.f_float = p_sys->f_slider / 100.0;        var_Set( p_input, "position", val );    }}static void SearchPlaylist( intf_thread_t *p_intf, char *psz_searchstring ){    int i_max;    int i_first = 0 ;    int i_item = -1;    intf_sys_t *p_sys = p_intf->p_sys;    if( p_sys->i_before_search >= 0 )    {        i_first = p_sys->i_before_search;    }    if( ( ! psz_searchstring ) ||  strlen( psz_searchstring ) <= 0 )    {        p_sys->i_box_plidx = p_sys->i_before_search;        return;    }    i_max = p_sys->i_plist_entries;    i_item = SubSearchPlaylist( p_intf, psz_searchstring, i_first + 1, i_max );    if( i_item < 0 )    {        i_item = SubSearchPlaylist( p_intf, psz_searchstring, 0, i_first );    }    if( i_item < 0 || i_item >= i_max ) return;    p_sys->i_box_plidx = i_item;}static int SubSearchPlaylist( intf_thread_t *p_intf, char *psz_searchstring,                              int i_start, int i_stop ){    intf_sys_t *p_sys = p_intf->p_sys;    int i, i_item = -1;    for( i = i_start + 1; i < i_stop; i++ )    {        if( strcasestr( p_sys->pp_plist[i]->psz_display,                        psz_searchstring ) != NULL )        {            i_item = i;            break;        }    }    return i_item;}static void mvnprintw( int y, int x, int w, const char *p_fmt, ... ){    va_list  vl_args;    char    *p_buf = NULL;    int      i_len;    if( w <= 0 )        return;    va_start( vl_args, p_fmt );    if( vasprintf( &p_buf, p_fmt, vl_args ) == -1 )        return;    va_end( vl_args );    i_len = strlen( p_buf );#ifdef HAVE_NCURSESW    wchar_t psz_wide[i_len + 1];    EnsureUTF8( p_buf );    size_t i_char_len = mbstowcs( psz_wide, p_buf, i_len );    size_t i_width; /* number of columns */    if( i_char_len == (size_t)-1 )    /* an invalid character was encountered */    {        free( p_buf );        return;    }    else    {        i_width = wcswidth( psz_wide, i_char_len );        if( i_width == (size_t)-1 )        {            /* a non printable character was encountered */            unsigned int i;            int i_cwidth;            i_width = 0;            for( i = 0 ; i < i_char_len ; i++ )            {                i_cwidth = wcwidth( psz_wide[i] );                if( i_cwidth != -1 )                    i_width += i_cwidth;            }        }    }    if( i_width > (size_t)w )    {        int i_total_width = 0;        int i = 0;        while( i_total_width < w )        {            i_total_width += wcwidth( psz_wide[i] );            if( w > 7 && i_total_width >= w/2 )            {                psz_wide[i  ] = '.';                psz_wide[i+1] = '.';                i_total_width -= wcwidth( psz_wide[i] ) - 2;                if( i > 0 )                {                    /* we require this check only if at least one character                     * 4 or more columns wide exists (which i doubt) */                    psz_wide[i-1] = '.';                    i_total_width -= wcwidth( psz_wide[i-1] ) - 1;                }                /* find the widest string */                int j, i_2nd_width = 0;                for( j = i_char_len - 1; i_2nd_width < w - i_total_width; j-- )                    i_2nd_width += wcwidth( psz_wide[j] );                /* we already have i_total_width columns filled, and we can't                 * have more than w columns */                if( i_2nd_width > w - i_total_width )                    j++;                wmemmove( &psz_wide[i+2], &psz_wide[j+1], i_char_len - j - 1 );                psz_wide[i + 2 + i_char_len - j - 1] = '\0';                break;            }            i++;        }        if( w <= 7 ) /* we don't add the '...' else we lose too much chars */            psz_wide[i] = '\0';        size_t i_wlen = wcslen( psz_wide ) * 6 + 1; /* worst case */        char psz_ellipsized[i_wlen];        wcstombs( psz_ellipsized, psz_wide, i_wlen );        mvprintw( y, x, "%s", psz_ellipsized );    }    else    {        mvprintw( y, x, "%s", p_buf );        mvhline( y, x + i_width, ' ', w - i_width );    }#else    if( i_len > w )    {        int i_cut = i_len - w;        int x1 = i_len/2 - i_cut/2;        int x2 = x1 + i_cut;        if( i_len > x2 )        {            memmove( &p_buf[x1], &p_buf[x2], i_len - x2 );        }        p_buf[w] = '\0';        if( w > 7 )        {            p_buf[w/2-1] = '.';            p_buf[w/2  ] = '.';            p_buf[w/2+1] = '.';        }        char *psz_local = ToLocale( p_buf );        mvprintw( y, x, "%s", psz_local );        LocaleFree( p_buf );    }    else    {        char *psz_local = ToLocale( p_buf );        mvprintw( y, x, "%s", psz_local );        LocaleFree( p_buf );        mvhline( y, x + i_len, ' ', w - i_len );    }#endif    free( p_buf );}static void MainBoxWrite( intf_thread_t *p_intf, int l, int x, const char *p_fmt, ... ){    intf_sys_t     *p_sys = p_intf->p_sys;    va_list  vl_args;    char    *p_buf = NULL;    if( l < p_sys->i_box_start || l - p_sys->i_box_start >= p_sys->i_box_lines )    {        return;    }    va_start( vl_args, p_fmt );    if( vasprintf( &p_buf, p_fmt, vl_args ) == -1 )        return;    va_end( vl_args );    mvnprintw( p_sys->i_box_y + l - p_sys->i_box_start, x, COLS - x - 1, "%s", p_buf );    free( p_buf );}static void DumpObject( intf_thread_t *p_intf, int *l, vlc_object_t *p_obj, int i_level ){    if( p_obj->psz_object_name )        MainBoxWrite( p_intf, (*l)++, 1 + 2 * i_level, "%s \"%s\" (%d)",                p_obj->psz_object_type, p_obj->psz_object_name,                p_obj->i_object_id );    else        MainBoxWrite( p_intf, (*l)++, 1 + 2 * i_level, "%s (%d)",                p_obj->psz_object_type, p_obj->i_object_id );    vlc_list_t *list = vlc_list_children( p_obj );    for( int i = 0; i < list->i_count ; i++ )    {        MainBoxWrite( p_intf, *l, 1 + 2 * i_level,            i == list->i_count - 1 ? "`-" : "|-" );        DumpObject( p_intf, l, list->p_values[i].p_object, i_level + 1 );    }    vlc_list_release( list );}static void Redraw( intf_thread_t *p_intf, time_t *t_last_refresh ){    intf_sys_t     *p_sys = p_intf->p_sys;    input_thread_t *p_input = p_sys->p_input;    playlist_t     *p_playlist = pl_Yield( p_intf );    int y = 0;    int h;    int y_end;    /* Title */    attrset( A_REVERSE );    int i_len = strlen( "VLC media player "PACKAGE_VERSION );    int mid = ( COLS - i_len ) / 2;    if( mid < 0 )        mid = 0;    int i_size = ( COLS > i_len + 1 ) ? COLS : i_len + 1;    char psz_title[i_size];    memset( psz_title, ' ', mid );    if( p_sys->b_color )        wcolor_set( p_sys->w, C_TITLE, NULL );    snprintf( &psz_title[mid], i_size, "VLC media player "PACKAGE_VERSION );    mvnprintw( y, 0, COLS, "%s", psz_title );    attroff( A_REVERSE );    y += 2;    if( p_sys->b_color )        wcolor_set( p_sys->w, C_STATUS, NULL );    /* Infos */    char *psz_state;    if( asprintf( &psz_state, "%s%s%s",            var_GetBool( p_playlist, "repeat" ) ? _( "[Repeat] " ) : "",            var_GetBool( p_playlist, "random" ) ? _( "[Random] " ) : "",            var_GetBool( p_playlist, "loop" ) ? _( "[Loop]" ) : "" ) == -1 )        psz_state = NULL;    if( p_input && !p_input->b_dead )    {        char buf1[MSTRTIME_MAX_SIZE];        char buf2[MSTRTIME_MAX_SIZE];        vlc_value_t val;        vlc_value_t val_list;        /* Source */        char *psz_uri = input_item_GetURI( input_GetItem( p_input ) );        mvnprintw( y++, 0, COLS, _(" Source   : %s"), psz_uri );        free( psz_uri );        /* State */        var_Get( p_input, "state", &val );        if( val.i_int == PLAYING_S )        {            mvnprintw( y++, 0, COLS, _(" State    : Playing %s"), psz_state );        }        else if( val.i_int == STOP_S )        {            mvnprintw( y++, 0, COLS, _(" State    : Stopped %s"), psz_state );        }        else if( val.i_int == OPENING_S )        {            mvnprintw( y++, 0, COLS, _(" State    : Opening/Connecting %s"), psz_state );        }        else if( val.i_int == BUFFERING_S )        {            mvnprintw( y++, 0, COLS, _(" State    : Buffering %s"), psz_state );        }        else if( val.i_int == PAUSE_S )        {            mvnprintw( y++, 0, COLS, _(" State    : Paused %s"), psz_state );        }        if( val.i_int != INIT_S && val.i_int != END_S )        {            audio_volume_t i_volume;            /* Position */            var_Get( p_input, "time", &val );            msecstotimestr( buf1, val.i_time / 1000 );            var_Get( p_input, "length", &val );            msecstotimestr( buf2, val.i_time / 1000 );            mvnprintw( y++, 0, COLS, _(" Position : %s/%s (%.2f%%)"), buf1, buf2, p_sys->f_slider );            /* Volume */            aout_VolumeGet( p_intf, &i_volume );            mvnprintw( y++, 0, COLS, _(" Volume   : %i%%"), i_volume*200/AOUT_VOLUME_MAX );            /* Title */            if( !var_Get( p_input, "title", &val ) )            {                var_Change( p_input, "title", VLC_VAR_GETCHOICES, &val_list, NULL );                if( val_list.p_list->i_count > 0 )                {                    mvnprintw( y++, 0, COLS, _(" Title    : %d/%d"), val.i_int, val_list.p_list->i_count );                }                var_Change( p_input, "title", VLC_VAR_FREELIST, &val_list, NULL );            }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品亚洲欧美一区| 国产精品中文欧美| 成人av在线影院| 精品久久久久av影院| 免费高清在线一区| 欧美日韩日日夜夜| 亚洲国产日韩a在线播放性色| 99精品久久免费看蜜臀剧情介绍 | 国产精品久久久久久久蜜臀| www.亚洲色图.com| 国产日韩欧美不卡在线| 顶级嫩模精品视频在线看| 久久精品在这里| 国产91色综合久久免费分享| 欧美国产禁国产网站cc| 99国产精品99久久久久久| 日韩一区二区三区免费观看| 欧美国产日韩a欧美在线观看| 国产成人一区二区精品非洲| 国产女同互慰高潮91漫画| 国产一区二区免费在线| 久久久精品黄色| 97精品久久久午夜一区二区三区| 亚洲视频电影在线| 精品视频一区 二区 三区| 丝袜美腿亚洲色图| 精品国产乱子伦一区| 国产成人精品在线看| 日本一区免费视频| 欧美性xxxxxxxx| 久久99精品久久久| 国产精品久久久久精k8| 7777精品伊人久久久大香线蕉超级流畅 | 久久91精品国产91久久小草| 中文字幕第一区二区| 在线精品国精品国产尤物884a| 免费成人你懂的| 亚洲三级小视频| 精品欧美一区二区三区精品久久| 粉嫩久久99精品久久久久久夜 | 久色婷婷小香蕉久久| 国产精品福利一区| 日韩欧美中文字幕制服| 色狠狠色噜噜噜综合网| 久久99精品一区二区三区| 亚洲少妇30p| 久久精品人人做人人综合| 91久久精品一区二区三| 精品一区二区三区在线播放| 亚洲欧美日韩电影| 国产精品久久久久久久裸模| 精品久久免费看| 欧美一区二区在线免费播放 | 久久久久青草大香线综合精品| 欧美视频一区在线观看| 99国产欧美久久久精品| 丰满亚洲少妇av| 国产一区二区三区四区五区美女| 日韩精品1区2区3区| 亚洲乱码国产乱码精品精的特点| 国产欧美日韩一区二区三区在线观看| 日韩一区二区三区视频| 欧美一区二区久久久| 欧美日韩免费在线视频| 色狠狠一区二区| 91久久国产最好的精华液| 一本色道a无线码一区v| 99v久久综合狠狠综合久久| 国产精品一区二区久久不卡| 国产综合久久久久久鬼色 | 欧美精品三级在线观看| 欧美精品在线视频| 欧美一区二区在线免费播放 | 亚洲国产一区二区视频| 亚洲午夜免费电影| 午夜欧美视频在线观看| 日韩电影在线一区二区三区| 另类综合日韩欧美亚洲| 国产不卡视频在线观看| 色婷婷亚洲综合| 欧美日韩精品免费| 久久久天堂av| 一区二区三区四区在线播放 | 欧美日韩高清一区二区不卡| 欧美精品少妇一区二区三区| 久久精品视频在线免费观看| 亚洲欧美影音先锋| 日韩av一区二区三区| 国产成人无遮挡在线视频| 波多野结衣亚洲| 日韩一级免费观看| 国产精品毛片高清在线完整版| 亚洲国产精品天堂| 国产一区美女在线| 色综合久久中文字幕综合网| 91精品在线观看入口| 国产精品久久免费看| 日韩成人午夜电影| 北条麻妃国产九九精品视频| 67194成人在线观看| 国产精品无码永久免费888| 亚洲成人av一区二区三区| 国产69精品久久777的优势| 欧美久久免费观看| 成人动漫一区二区| 中文字幕中文字幕在线一区 | 国产尤物一区二区在线| 91国产免费看| 国产精品第四页| 国产一区二区三区观看| 日韩一级大片在线观看| 亚洲欧美在线视频| 精品国产在天天线2019| 亚洲福利一区二区三区| 9人人澡人人爽人人精品| 久久久一区二区三区捆绑**| 亚洲h在线观看| 色吧成人激情小说| 国产精品久久久久久久第一福利 | 亚洲色图在线看| 成人精品视频一区二区三区尤物| 精品免费国产二区三区| 免费看日韩a级影片| 欧美浪妇xxxx高跟鞋交| 无码av中文一区二区三区桃花岛| 色婷婷狠狠综合| 一区二区三区四区激情| 色婷婷国产精品| 亚洲高清免费在线| 欧美人动与zoxxxx乱| 亚洲国产精品麻豆| 尤物在线观看一区| 欧美日韩一级二级| 男人操女人的视频在线观看欧美 | 亚洲狠狠爱一区二区三区| 色狠狠桃花综合| 天堂成人国产精品一区| 欧美不卡一二三| 成人午夜在线免费| 国产精品九色蝌蚪自拍| 欧美日韩国产bt| 美女在线一区二区| 久久久久97国产精华液好用吗| 国产成人免费视频| 又紧又大又爽精品一区二区| 3d动漫精品啪啪1区2区免费| 九九精品一区二区| 亚洲区小说区图片区qvod| 3atv在线一区二区三区| 国产精品伊人色| 亚洲黄色av一区| 精品国产一区二区三区久久影院| 成人avav影音| 奇米综合一区二区三区精品视频| 国产欧美精品一区二区三区四区| 欧美亚洲日本一区| 国产精品一区久久久久| 一区二区三区在线视频观看58| 欧美成人猛片aaaaaaa| 99久久国产综合精品麻豆| 看电视剧不卡顿的网站| 一级女性全黄久久生活片免费| 欧美一级一区二区| 日本久久一区二区三区| 黑人巨大精品欧美一区| 日韩国产精品久久久| 亚洲天堂免费看| 国产女人18毛片水真多成人如厕| 欧美日韩亚洲综合在线| 久久精品欧美一区二区三区不卡| 3d动漫精品啪啪| 欧美日韩日日摸| 欧美性极品少妇| 在线观看视频欧美| 91免费国产在线| 成人的网站免费观看| 成人avav影音| 国产传媒日韩欧美成人| 中国av一区二区三区| 色综合久久久久久久久| 美女视频网站久久| 国产精品中文字幕一区二区三区| av在线不卡观看免费观看| 欧美视频第二页| 337p日本欧洲亚洲大胆色噜噜| 国产精品青草久久| 香蕉加勒比综合久久| 极品销魂美女一区二区三区| 国产精品一线二线三线精华| 懂色一区二区三区免费观看| 91美女视频网站| 欧美日韩高清一区二区三区| 欧美一级午夜免费电影| 26uuu亚洲| 亚洲影视在线播放| 九九九精品视频| 色婷婷激情综合| 精品少妇一区二区| 中文子幕无线码一区tr| 亚洲一区二区视频在线观看|