⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interface.hpp

📁 uclinux 下的vlc播放器源代码
💻 HPP
字号:
/***************************************************************************** * interface.hpp: Main interface headers ***************************************************************************** * Copyright (C) 1999-2005 the VideoLAN team * $Id: interface.hpp 16457 2006-08-31 20:51:12Z hartman $ * * Authors: Gildas Bazin <gbazin@videolan.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/#ifndef _WXVLC_INTERFACE_H_#define _WXVLC_INTERFACE_H_#include "wxwidgets.hpp"#include "input_manager.hpp"#include <wx/dnd.h>#include <wx/accel.h>#include <wx/taskbar.h>class Splitter;namespace wxvlc{    class Timer;    class Interface;#if wxUSE_DRAG_AND_DROP    /* Drag and Drop class */    class DragAndDrop: public wxFileDropTarget    {    public:        DragAndDrop( intf_thread_t *_p_intf, vlc_bool_t b_enqueue = VLC_FALSE );        virtual bool OnDropFiles( wxCoord x, wxCoord y,                                  const wxArrayString& filenames );    private:        intf_thread_t *p_intf;        vlc_bool_t b_enqueue;    };#endif    /* Systray integration *//* wxCocoa pretends to support this, but at least 2.6.x doesn't */#ifndef __APPLE__#ifdef wxHAS_TASK_BAR_ICON   class Systray: public wxTaskBarIcon   {   public:        Systray( Interface* p_main_interface, intf_thread_t *p_intf );        virtual ~Systray() {};        wxMenu* CreatePopupMenu();        void UpdateTooltip( const wxChar* tooltip );    private:        void OnMenuIconize( wxCommandEvent& event );        void OnLeftClick( wxTaskBarIconEvent& event );        void OnPlayStream ( wxCommandEvent& event );        void OnStopStream ( wxCommandEvent& event );        void OnPrevStream ( wxCommandEvent& event );        void OnNextStream ( wxCommandEvent& event );        void OnExit(  wxCommandEvent& event );        Interface* p_main_interface;        intf_thread_t *p_intf;        DECLARE_EVENT_TABLE()    };#endif#endif    /* Main Interface */    class Interface: public wxFrame    {    public:        /* Constructor */        Interface( intf_thread_t *p_intf, long style = wxDEFAULT_FRAME_STYLE );        virtual ~Interface();        void Init();        void TogglePlayButton( int i_playing_status );        void Update();        void PlayStream();        void StopStream();        void PrevStream();        void NextStream();        wxBoxSizer  *main_sizer;        Splitter    *splitter;        wxPanel     *main_panel;        wxBoxSizer  *panel_sizer;        wxStatusBar *statusbar;        InputManager *input_manager;        wxControl  *volctrl;    /* wxCocoa pretends to support this, but at least 2.6.x doesn't */    #ifndef __APPLE__    #ifdef wxHAS_TASK_BAR_ICON        Systray     *p_systray;    #endif    #endif        wxWindow *video_window;    private:        void SetupHotkeys();        void CreateOurMenuBar();        void CreateOurToolBar();        void CreateOurExtendedPanel();        void Open( int i_access_method );        void SetIntfMinSize();        /* Event handlers (these functions should _not_ be virtual) */        void OnExit( wxCommandEvent& event );        void OnAbout( wxCommandEvent& event );        void OnOpenFileSimple( wxCommandEvent& event );        void OnOpenDir( wxCommandEvent& event );        void OnOpenFile( wxCommandEvent& event );        void OnOpenDisc( wxCommandEvent& event );        void OnOpenNet( wxCommandEvent& event );        void OnOpenSat( wxCommandEvent& event );        void OnExtended( wxCommandEvent& event );        void OnSmallPlaylist( wxCommandEvent& event );        void OnBookmarks( wxCommandEvent& event );        void OnShowDialog( wxCommandEvent& event );        void OnPlayStream( wxCommandEvent& event );        void OnStopStream( wxCommandEvent& event );        void OnPrevStream( wxCommandEvent& event );        void OnNextStream( wxCommandEvent& event );        void OnSlowStream( wxCommandEvent& event );        void OnFastStream( wxCommandEvent& event );        void OnInteraction( wxCommandEvent& event );        void OnMenuOpen( wxMenuEvent& event );    #if defined( __WXMSW__ ) || defined( __WXMAC__ )        void OnContextMenu2(wxContextMenuEvent& event);    #endif        void OnContextMenu(wxMouseEvent& event);        void OnControlEvent( wxCommandEvent& event );        DECLARE_EVENT_TABLE();        Timer *timer;        intf_thread_t *p_intf;        unsigned int i_update_counter;        int i_old_playing_status;        /* For auto-generated menus */        wxMenu *p_settings_menu;        wxMenu *p_audio_menu;        wxMenu *p_video_menu;        wxMenu *p_navig_menu;        /* Extended panel */        vlc_bool_t  b_extra;        wxPanel     *extra_frame;        /* Playlist panel */        wxPanel     *playlist_manager;        /* Utility dimensions */        wxSize main_min_size;        wxSize ext_min_size;    };    class WindowSettings    {    public:        WindowSettings( intf_thread_t *_p_intf );        virtual ~WindowSettings();        enum        {            ID_SCREEN = -1,            ID_MAIN,            ID_PLAYLIST,            ID_MESSAGES,            ID_FILE_INFO,            ID_BOOKMARKS,            ID_VIDEO,            ID_SMALL_PLAYLIST,            ID_MAX,        };        void SetSettings( int id, bool _b_shown,                    wxPoint p = wxDefaultPosition, wxSize s = wxDefaultSize );        bool GetSettings( int id, bool& _b_shown, wxPoint& p, wxSize& s );        void SetScreen( int i_screen_w, int i_screen_h );    private:        intf_thread_t *p_intf;        int     i_screen_w;        int     i_screen_h;        bool    b_valid[ID_MAX];        bool    b_shown[ID_MAX];        wxPoint position[ID_MAX];        wxSize  size[ID_MAX];    };    class MenuEvtHandler : public wxEvtHandler    {    public:        MenuEvtHandler( intf_thread_t *p_intf, Interface *p_main_interface );        virtual ~MenuEvtHandler();        void OnMenuEvent( wxCommandEvent& event );        void OnShowDialog( wxCommandEvent& event );    private:        DECLARE_EVENT_TABLE()        intf_thread_t *p_intf;        Interface *p_main_interface;    };};void PopupMenu( intf_thread_t *, wxWindow *, const wxPoint& );void AudioPopupMenu( intf_thread_t *, wxWindow *, const wxPoint& );void VideoPopupMenu( intf_thread_t *, wxWindow *, const wxPoint& );void MiscPopupMenu( intf_thread_t *, wxWindow *, const wxPoint& );wxMenu *SettingsMenu( intf_thread_t *, wxWindow *, wxMenu * = NULL );wxMenu *AudioMenu( intf_thread_t *, wxWindow *, wxMenu * = NULL );wxMenu *VideoMenu( intf_thread_t *, wxWindow *, wxMenu * = NULL );wxMenu *NavigMenu( intf_thread_t *, wxWindow *, wxMenu * = NULL );#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -