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

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

?? interface.cpp

?? video linux conference
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
    if( p_playlist == NULL ) return;    if( p_playlist->i_size && p_playlist->i_enabled )    {        vlc_value_t state;        input_thread_t *p_input = (input_thread_t *)vlc_object_find( p_intf,                                                       VLC_OBJECT_INPUT,                                                       FIND_ANYWHERE );        if( p_input == NULL )        {            /* No stream was playing, start one */            playlist_Play( p_playlist );            TogglePlayButton( PLAYING_S );            vlc_object_release( p_playlist );            return;        }        var_Get( p_input, "state", &state );        if( state.i_int != PAUSE_S )        {            /* A stream is being played, pause it */            state.i_int = PAUSE_S;        }        else        {            /* Stream is paused, resume it */            state.i_int = PLAYING_S;        }        var_Set( p_input, "state", state );        TogglePlayButton( state.i_int );        vlc_object_release( p_input );        vlc_object_release( p_playlist );    }    else    {        /* If the playlist is empty, open a file requester instead */        vlc_object_release( p_playlist );        OnShowDialog( dummy );    }}void Interface::OnStopStream( wxCommandEvent& WXUNUSED(event) ){    StopStream();}void Interface::StopStream(){    playlist_t * p_playlist =        (playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,                                       FIND_ANYWHERE );    if( p_playlist == NULL )    {        return;    }    playlist_Stop( p_playlist );    TogglePlayButton( PAUSE_S );    vlc_object_release( p_playlist );}void Interface::OnSliderUpdate( wxScrollEvent& event ){    vlc_mutex_lock( &p_intf->change_lock );#ifdef WIN32    if( event.GetEventType() == wxEVT_SCROLL_THUMBRELEASE        || event.GetEventType() == wxEVT_SCROLL_ENDSCROLL )    {#endif        if( p_intf->p_sys->i_slider_pos != event.GetPosition()            && p_intf->p_sys->p_input )        {            vlc_value_t pos;            pos.f_float = (float)event.GetPosition() / (float)SLIDER_MAX_POS;            var_Set( p_intf->p_sys->p_input, "position", pos );        }#ifdef WIN32        p_intf->p_sys->b_slider_free = VLC_TRUE;    }    else    {        p_intf->p_sys->b_slider_free = VLC_FALSE;        if( p_intf->p_sys->p_input )        {            /* Update stream date */            char psz_time[ MSTRTIME_MAX_SIZE ], psz_total[ MSTRTIME_MAX_SIZE ];            mtime_t i_seconds;            i_seconds = var_GetTime( p_intf->p_sys->p_input, "length" ) /                        I64C(1000000 );            secstotimestr( psz_total, i_seconds );            i_seconds = var_GetTime( p_intf->p_sys->p_input, "time" ) /                        I64C(1000000 );            secstotimestr( psz_time, i_seconds );            statusbar->SetStatusText( wxU(psz_time) + wxString(wxT(" / ") ) +                                      wxU(psz_total), 0 );        }    }#endif#undef WIN32    vlc_mutex_unlock( &p_intf->change_lock );}void Interface::OnPrevStream( wxCommandEvent& WXUNUSED(event) ){    PrevStream();}void Interface::PrevStream(){    playlist_t * p_playlist =        (playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,                                       FIND_ANYWHERE );    if( p_playlist == NULL )    {        return;    }    /* FIXME --fenrir */#if 0    if( p_playlist->p_input != NULL )    {        vlc_mutex_lock( &p_playlist->p_input->stream.stream_lock );        if( p_playlist->p_input->stream.p_selected_area->i_id > 1 )        {            vlc_value_t val; val.b_bool = VLC_TRUE;            vlc_mutex_unlock( &p_playlist->p_input->stream.stream_lock );            var_Set( p_playlist->p_input, "prev-title", val );        } else            vlc_mutex_unlock( &p_playlist->p_input->stream.stream_lock );    }    vlc_mutex_unlock( &p_playlist->object_lock );#endif    playlist_Prev( p_playlist );    vlc_object_release( p_playlist );}void Interface::OnNextStream( wxCommandEvent& WXUNUSED(event) ){    NextStream();}void Interface::NextStream(){    playlist_t * p_playlist =        (playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,                                       FIND_ANYWHERE );    if( p_playlist == NULL )    {        return;    }    /* FIXME --fenrir */#if 0    var_Change( p_input, "title", VLC_VAR_CHOICESCOUNT, &val, NULL );    vlc_mutex_lock( &p_playlist->object_lock );    if( p_playlist->p_input != NULL )    {        vlc_mutex_lock( &p_playlist->p_input->stream.stream_lock );        if( p_playlist->p_input->stream.i_area_nb > 1 &&            p_playlist->p_input->stream.p_selected_area->i_id <              p_playlist->p_input->stream.i_area_nb - 1 )        {            vlc_value_t val; val.b_bool = VLC_TRUE;            vlc_mutex_unlock( &p_playlist->p_input->stream.stream_lock );            var_Set( p_playlist->p_input, "next-title", val );        } else            vlc_mutex_unlock( &p_playlist->p_input->stream.stream_lock );    }    vlc_mutex_unlock( &p_playlist->object_lock );#endif    playlist_Next( p_playlist );    vlc_object_release( p_playlist );}void Interface::OnSlowStream( wxCommandEvent& WXUNUSED(event) ){    input_thread_t *p_input =        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,                                           FIND_ANYWHERE );    if( p_input )    {        vlc_value_t val; val.b_bool = VLC_TRUE;        var_Set( p_input, "rate-slower", val );        vlc_object_release( p_input );    }}void Interface::OnFastStream( wxCommandEvent& WXUNUSED(event) ){    input_thread_t *p_input =        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,                                           FIND_ANYWHERE );    if( p_input )    {        vlc_value_t val; val.b_bool = VLC_TRUE;        var_Set( p_input, "rate-faster", val );        vlc_object_release( p_input );    }}void Interface::TogglePlayButton( int i_playing_status ){    if( i_playing_status == i_old_playing_status )        return;    wxToolBarToolBase *p_tool = (wxToolBarToolBase *)        GetToolBar()->GetToolClientData( PlayStream_Event );    if( !p_tool ) return;    if( i_playing_status == PLAYING_S )    {        p_tool->SetNormalBitmap( wxBitmap( pause_xpm ) );        p_tool->SetLabel( wxU(_("Pause")) );        p_tool->SetShortHelp( wxU(_(HELP_PAUSE)) );    }    else    {        p_tool->SetNormalBitmap( wxBitmap( play_xpm ) );        p_tool->SetLabel( wxU(_("Play")) );        p_tool->SetShortHelp( wxU(_(HELP_PLAY)) );    }    GetToolBar()->Realize();    GetToolBar()->ToggleTool( PlayStream_Event, true );    GetToolBar()->ToggleTool( PlayStream_Event, false );    i_old_playing_status = i_playing_status;}void Interface::OnDiscMenu( wxCommandEvent& WXUNUSED(event) ){    input_thread_t *p_input =        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,                                           FIND_ANYWHERE );    if( p_input )    {        vlc_value_t val; val.i_int = 2;        var_Set( p_input, "title  0", val);        vlc_object_release( p_input );    }}void Interface::OnDiscPrev( wxCommandEvent& WXUNUSED(event) ){    input_thread_t *p_input =        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,                                           FIND_ANYWHERE );    if( p_input )    {        int i_type = var_Type( p_input, "prev-chapter" );        vlc_value_t val; val.b_bool = VLC_TRUE;        var_Set( p_input, ( i_type & VLC_VAR_TYPE ) != 0 ?                 "prev-chapter" : "prev-title", val );        vlc_object_release( p_input );    }}void Interface::OnDiscNext( wxCommandEvent& WXUNUSED(event) ){    input_thread_t *p_input =        (input_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,                                           FIND_ANYWHERE );    if( p_input )    {        int i_type = var_Type( p_input, "next-chapter" );        vlc_value_t val; val.b_bool = VLC_TRUE;        var_Set( p_input, ( i_type & VLC_VAR_TYPE ) != 0 ?                 "next-chapter" : "next-title", val );        vlc_object_release( p_input );    }}#if wxUSE_DRAG_AND_DROP/***************************************************************************** * Definition of DragAndDrop class. *****************************************************************************/DragAndDrop::DragAndDrop( intf_thread_t *_p_intf, vlc_bool_t _b_enqueue ){    p_intf = _p_intf;    b_enqueue = _b_enqueue;}bool DragAndDrop::OnDropFiles( wxCoord, wxCoord,                               const wxArrayString& filenames ){    /* Add dropped files to the playlist */    playlist_t *p_playlist =        (playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,                                       FIND_ANYWHERE );    if( p_playlist == NULL )    {        return FALSE;    }    for( size_t i = 0; i < filenames.GetCount(); i++ )        playlist_Add( p_playlist, (const char *)filenames[i].mb_str(),                      (const char *)filenames[i].mb_str(),                      PLAYLIST_APPEND | ((i | b_enqueue) ? 0 : PLAYLIST_GO),                      PLAYLIST_END );    vlc_object_release( p_playlist );    return TRUE;}#endif/***************************************************************************** * Definition of VolCtrl class. *****************************************************************************/class wxVolCtrl: public wxGauge{public:    /* Constructor */    wxVolCtrl( intf_thread_t *_p_intf, wxWindow* parent, wxWindowID id,               wxPoint = wxDefaultPosition, wxSize = wxSize( 20, -1 ) );    virtual ~wxVolCtrl() {};    void UpdateVolume();    int GetVolume();    void OnChange( wxMouseEvent& event );private:    intf_thread_t *p_intf;    DECLARE_EVENT_TABLE();};BEGIN_EVENT_TABLE(wxVolCtrl, wxWindow)    /* Mouse events */    EVT_LEFT_DOWN(wxVolCtrl::OnChange)    EVT_MOTION(wxVolCtrl::OnChange)END_EVENT_TABLE()wxVolCtrl::wxVolCtrl( intf_thread_t *_p_intf, wxWindow* parent, wxWindowID id,                      wxPoint point, wxSize size )  : wxGauge( parent, id, 200, point, size, wxGA_HORIZONTAL | wxGA_SMOOTH ){    p_intf = _p_intf;    UpdateVolume();}void wxVolCtrl::OnChange( wxMouseEvent& event ){    if( !event.LeftDown() && !event.LeftIsDown() ) return;    int i_volume = event.GetX() * 200 / GetClientSize().GetWidth();    aout_VolumeSet( p_intf, i_volume * AOUT_VOLUME_MAX / 200 / 2 );    UpdateVolume();}void wxVolCtrl::UpdateVolume(){    audio_volume_t i_volume;    aout_VolumeGet( p_intf, &i_volume );    int i_gauge_volume = i_volume * 200 * 2 / AOUT_VOLUME_MAX;    if( i_gauge_volume == GetValue() ) return;    SetValue( i_gauge_volume );    SetToolTip( wxString::Format((wxString)wxU(_("Volume")) + wxT(" %d"),                i_gauge_volume / 2 ) );}#if defined(__WXGTK__)#define VLCVOL_HEIGHT p_parent->GetSize().GetHeight()#else#define VLCVOL_HEIGHT TOOLBAR_BMP_HEIGHT#endifVLCVolCtrl::VLCVolCtrl( intf_thread_t *_p_intf, wxWindow *p_parent )  :wxControl( p_parent, -1, wxDefaultPosition, wxSize(64, VLCVOL_HEIGHT ),              wxBORDER_NONE ),   i_y_offset((VLCVOL_HEIGHT - TOOLBAR_BMP_HEIGHT) / 2),   b_mute(0), p_intf(_p_intf){    gauge = new wxVolCtrl( p_intf, this, -1, wxPoint( 18, i_y_offset ),                           wxSize( 44, TOOLBAR_BMP_HEIGHT ) );}void VLCVolCtrl::OnPaint( wxPaintEvent &evt ){    wxPaintDC dc( this );    wxBitmap mPlayBitmap( b_mute ? speaker_mute_xpm : speaker_xpm );    dc.DrawBitmap( mPlayBitmap, 0, i_y_offset, TRUE );}void VLCVolCtrl::OnChange( wxMouseEvent& event ){    if( event.GetX() < TOOLBAR_BMP_WIDTH )    {        int i_volume;        aout_VolumeMute( p_intf, (audio_volume_t *)&i_volume );        b_mute = !b_mute;        Refresh();    }}void VLCVolCtrl::UpdateVolume(){    gauge->UpdateVolume();    int i_volume = gauge->GetValue();    if( !!i_volume == !b_mute ) return;    b_mute = !b_mute;    Refresh();}/***************************************************************************** * Systray class. *****************************************************************************/#ifdef wxHAS_TASK_BAR_ICONBEGIN_EVENT_TABLE(Systray, wxTaskBarIcon)    /* Mouse events */#ifdef WIN32    EVT_TASKBAR_LEFT_DCLICK(Systray::OnLeftClick)#else    EVT_TASKBAR_LEFT_DOWN(Systray::OnLeftClick)#endif    /* Menu events */    EVT_MENU(Iconize_Event, Systray::OnMenuIconize)    EVT_MENU(Exit_Event, Systray::OnExit)    EVT_MENU(PlayStream_Event, Systray::OnPlayStream)    EVT_MENU(NextStream_Event, Systray::OnNextStream)    EVT_MENU(PrevStream_Event, Systray::OnPrevStream)    EVT_MENU(StopStream_Event, Systray::OnStopStream)END_EVENT_TABLE()Systray::Systray( Interface *_p_main_interface, intf_thread_t *_p_intf ){    p_main_interface = _p_main_interface;    p_intf = _p_intf;}/* Event handlers */void Systray::OnMenuIconize( wxCommandEvent& event ){    p_main_interface->Show( ! p_main_interface->IsShown() );    if ( p_main_interface->IsShown() ) p_main_interface->Raise();}void Systray::OnLeftClick( wxTaskBarIconEvent& event ){    wxCommandEvent cevent;    OnMenuIconize(cevent);}void Systray::OnExit( wxCommandEvent& event ){    p_main_interface->Close(TRUE);}void Systray::OnPrevStream( wxCommandEvent& event ){    p_main_interface->PrevStream();}void Systray::OnNextStream( wxCommandEvent& event ){    p_main_interface->NextStream();}void Systray::OnPlayStream( wxCommandEvent& event ){    p_main_interface->PlayStream();}void Systray::OnStopStream( wxCommandEvent& event ){    p_main_interface->StopStream();}/* Systray popup menu */wxMenu* Systray::CreatePopupMenu(){    int minimal = config_GetInt( p_intf, "wxwin-minimal" );    wxMenu* systray_menu = new wxMenu;    systray_menu->Append( Exit_Event, wxU(_("Quit VLC")) );    systray_menu->AppendSeparator();    systray_menu->Append( PlayStream_Event, wxU(_("Play/Pause")) );    if (!minimal)    {    systray_menu->Append( PrevStream_Event, wxU(_("Previous")) );    systray_menu->Append( NextStream_Event, wxU(_("Next")) );    systray_menu->Append( StopStream_Event, wxU(_("Stop")) );    }    systray_menu->AppendSeparator();    systray_menu->Append( Iconize_Event, wxU(_("Show/Hide interface")) );    return systray_menu;}void Systray::UpdateTooltip( const wxChar* tooltip ){    SetIcon( wxIcon( vlc16x16_xpm ), tooltip );}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草97国产精品免费观看| 欧美亚洲国产一区二区三区va| 国产精品夜夜嗨| 欧美色中文字幕| 亚洲精品中文在线观看| 成人av免费在线播放| 久久综合九色综合欧美亚洲| 日本麻豆一区二区三区视频| 91免费视频大全| 亚洲天堂福利av| 日韩av在线免费观看不卡| 经典三级视频一区| 91免费版pro下载短视频| 4438x亚洲最大成人网| 中文字幕在线一区二区三区| 亚洲大片在线观看| bt7086福利一区国产| 国产欧美视频一区二区| 欧美久久久久久久久中文字幕| 精品国产成人在线影院 | 日本精品视频一区二区| 国产精品素人视频| av高清不卡在线| 91精品国产91久久综合桃花| 久久久久亚洲综合| 亚洲综合在线免费观看| 国产乱理伦片在线观看夜一区| 波多野结衣视频一区| 日韩一区二区三区精品视频 | 黑人巨大精品欧美黑白配亚洲| 波多野结衣一区二区三区| 日韩精品一区二区三区在线观看| 悠悠色在线精品| 国产成人av一区二区| 欧美哺乳videos| 日韩国产欧美在线视频| 欧美体内she精视频| 亚洲黄色性网站| 色婷婷亚洲婷婷| 中文字幕一区二区不卡| 粉嫩嫩av羞羞动漫久久久| 欧美mv日韩mv国产网站| 日本不卡一区二区| 欧美一区二区三区的| 三级在线观看一区二区| 欧美久久久久久久久中文字幕| 亚洲精品少妇30p| 欧美日韩国产一级片| 天堂一区二区在线免费观看| 欧美日韩一二三区| 欧美tickling挠脚心丨vk| 国产精品入口麻豆九色| 成人涩涩免费视频| 亚洲免费观看高清完整版在线观看熊 | 欧美激情自拍偷拍| 99精品视频一区| 视频一区国产视频| 亚洲精品一区二区三区在线观看| 国产福利精品一区| 一区二区三区在线播放| 欧美精品久久一区二区三区| 蜜臀av在线播放一区二区三区 | 加勒比av一区二区| 一区二区三区免费在线观看| 91麻豆精品国产91久久久久 | 欧美精品一区二区蜜臀亚洲| 国产**成人网毛片九色| 午夜婷婷国产麻豆精品| 久久精品夜色噜噜亚洲a∨| 99久久综合精品| 久久精品国产精品青草| 一区二区三区在线免费播放| 欧美xxxxx裸体时装秀| 欧美日韩五月天| proumb性欧美在线观看| 国产乱码一区二区三区| 国产精品激情偷乱一区二区∴| 欧美伊人久久大香线蕉综合69| 日韩欧美国产wwwww| 亚洲国产精品久久人人爱蜜臀| 国产一区 二区| 免费av网站大全久久| 亚洲欧洲精品一区二区三区| 国产欧美日韩视频一区二区 | 国产日韩欧美激情| 最新国产成人在线观看| 精品国产免费久久| 日韩精品一区二区三区在线播放| 欧美性猛交xxxx乱大交退制版 | 亚洲制服丝袜av| 亚洲精品国久久99热| 亚洲福利视频导航| 免费观看在线色综合| 蜜桃精品视频在线观看| 国产一区久久久| 国产91富婆露脸刺激对白| 东方aⅴ免费观看久久av| 国产成人啪免费观看软件| 国产麻豆精品视频| 91在线一区二区三区| 91国偷自产一区二区使用方法| 一本久道久久综合中文字幕 | 日韩一区国产二区欧美三区| 成人爽a毛片一区二区免费| 色香蕉成人二区免费| 欧美片网站yy| 国产日韩欧美a| 亚洲狠狠爱一区二区三区| 亚洲成人中文在线| 韩国成人精品a∨在线观看| 色综合av在线| 亚洲制服丝袜av| 国产一区二区免费看| 欧美综合天天夜夜久久| 久久婷婷成人综合色| 亚洲一区二区三区爽爽爽爽爽| 亚洲欧美韩国综合色| 国产一区久久久| 欧美xxxx老人做受| 香蕉久久一区二区不卡无毒影院| 国产乱淫av一区二区三区| 欧美视频在线播放| 亚洲精品中文在线影院| 成人激情小说网站| 久久一二三国产| 国产麻豆9l精品三级站| 欧美精品一区二区三区高清aⅴ | 欧美日韩在线综合| 亚洲欧美日韩在线不卡| 91在线精品一区二区| 国产日韩三级在线| 一区二区三区中文字幕精品精品 | 日韩视频一区二区在线观看| 亚洲精品成人在线| 欧美日韩一区久久| 一区二区理论电影在线观看| 91女厕偷拍女厕偷拍高清| 亚洲天堂精品视频| 欧美午夜精品久久久久久超碰 | 91美女片黄在线观看91美女| 国产精品高潮久久久久无| 91在线丨porny丨国产| 亚洲视频一区二区在线观看| 欧洲一区二区三区在线| 肉丝袜脚交视频一区二区| 欧美变态tickle挠乳网站| 丰满亚洲少妇av| 午夜日韩在线电影| 久久久亚洲国产美女国产盗摄| 成人av片在线观看| 婷婷国产v国产偷v亚洲高清| 久久女同精品一区二区| 91美女视频网站| 久草精品在线观看| 亚洲私人黄色宅男| 久久综合给合久久狠狠狠97色69| 成人av午夜电影| 蜜桃视频一区二区三区在线观看| 国产欧美日韩一区二区三区在线观看| 91精彩视频在线| 国产精品99久| 青娱乐精品视频| 中文字幕亚洲综合久久菠萝蜜| 中文字幕一区二区三区精华液 | 精品国一区二区三区| 91色porny| 不卡av电影在线播放| 精品午夜一区二区三区在线观看| 一区二区三区电影在线播| 欧美激情在线看| 久久久精品天堂| 欧美电视剧在线观看完整版| 欧美日韩视频在线观看一区二区三区| 国产精品中文字幕欧美| 久久99国产精品免费| 午夜精品福利一区二区三区av | 欧美日本国产一区| 日本精品一级二级| 欧美日韩久久一区| 欧美精品日韩综合在线| 欧美日韩精品高清| 69精品人人人人| 欧美人妖巨大在线| 91精品国产91久久久久久一区二区| 欧美日韩不卡一区二区| 51精品久久久久久久蜜臀| 制服丝袜激情欧洲亚洲| 日韩亚洲国产中文字幕欧美| 精品国产一区二区在线观看| 日韩欧美aaaaaa| 久久精品国产精品亚洲精品| 九色综合国产一区二区三区| 懂色av中文一区二区三区| 99re8在线精品视频免费播放| 国产成人亚洲综合a∨婷婷图片| 国产成人精品免费网站| 在线视频综合导航| 久久嫩草精品久久久精品| 夜夜嗨av一区二区三区| 国产美女在线观看一区|