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

📄 wxwindows.h

📁 video linux conference
💻 H
📖 第 1 页 / 共 2 页
字号:
#define MAX_ACCESS CAPTURE_ACCESS/* Stream output Dialog */enum{    PLAY_ACCESS_OUT = 0,    FILE_ACCESS_OUT,    HTTP_ACCESS_OUT,    MMSH_ACCESS_OUT,    UDP_ACCESS_OUT,    ACCESS_OUT_NUM};enum{    TS_ENCAPSULATION = 0,    PS_ENCAPSULATION,    MPEG1_ENCAPSULATION,    OGG_ENCAPSULATION,    ASF_ENCAPSULATION,    MP4_ENCAPSULATION,    MOV_ENCAPSULATION,    WAV_ENCAPSULATION,    RAW_ENCAPSULATION,    AVI_ENCAPSULATION,    ENCAPS_NUM};enum{    ANN_MISC_SOUT = 0,    MISC_SOUT_NUM};class SoutDialog: public wxDialog{public:    /* Constructor */    SoutDialog( intf_thread_t *p_intf, wxWindow *p_parent );    virtual ~SoutDialog();    wxArrayString GetOptions();private:    void UpdateMRL();    wxPanel *AccessPanel( wxWindow* parent );    wxPanel *MiscPanel( wxWindow* parent );    wxPanel *EncapsulationPanel( wxWindow* parent );    wxPanel *TranscodingPanel( wxWindow* parent );    void    ParseMRL();    /* Event handlers (these functions should _not_ be virtual) */    void OnOk( wxCommandEvent& event );    void OnCancel( wxCommandEvent& event );    void OnMRLChange( wxCommandEvent& event );    void OnAccessTypeChange( wxCommandEvent& event );    /* Event handlers for the file access output */    void OnFileChange( wxCommandEvent& event );    void OnFileBrowse( wxCommandEvent& event );    void OnFileDump( wxCommandEvent& event );    /* Event handlers for the net access output */    void OnNetChange( wxCommandEvent& event );    /* Event specific to the announce address */    void OnAnnounceGroupChange( wxCommandEvent& event );    void OnAnnounceAddrChange( wxCommandEvent& event );    /* Event handlers for the encapsulation panel */    void OnEncapsulationChange( wxCommandEvent& event );    /* Event handlers for the transcoding panel */    void OnTranscodingEnable( wxCommandEvent& event );    void OnTranscodingChange( wxCommandEvent& event );    /* Event handlers for the misc panel */    void OnSAPMiscChange( wxCommandEvent& event );    void OnSLPMiscChange( wxCommandEvent& event );    DECLARE_EVENT_TABLE();    intf_thread_t *p_intf;    wxWindow *p_parent;    wxComboBox *mrl_combo;    /* Controls for the access outputs */    wxPanel *access_panel;    wxPanel *access_subpanels[ACCESS_OUT_NUM];    wxCheckBox *access_checkboxes[ACCESS_OUT_NUM];    int i_access_type;    wxComboBox *file_combo;    wxCheckBox *dump_checkbox;    wxSpinCtrl *net_ports[ACCESS_OUT_NUM];    wxTextCtrl *net_addrs[ACCESS_OUT_NUM];    /* Controls for the SAP announces */    wxPanel *misc_panel;    wxPanel *misc_subpanels[MISC_SOUT_NUM];    wxCheckBox *sap_checkbox;    wxCheckBox *slp_checkbox;    wxTextCtrl *announce_group;    wxTextCtrl *announce_addr;    /* Controls for the encapsulation */    wxPanel *encapsulation_panel;    wxRadioButton *encapsulation_radios[ENCAPS_NUM];    int i_encapsulation_type;    /* Controls for transcoding */    wxPanel *transcoding_panel;    wxCheckBox *video_transc_checkbox;    wxComboBox *video_codec_combo;    wxComboBox *audio_codec_combo;    wxCheckBox *audio_transc_checkbox;    wxComboBox *video_bitrate_combo;    wxComboBox *audio_bitrate_combo;    wxComboBox *audio_channels_combo;    wxComboBox *video_scale_combo;    wxComboBox *subtitles_codec_combo;    wxCheckBox *subtitles_transc_checkbox;    wxCheckBox *subtitles_overlay_checkbox;    /* Misc controls */    wxCheckBox *sout_all_checkbox;};/* Subtitles File Dialog */class SubsFileDialog: public wxDialog{public:    /* Constructor */    SubsFileDialog( intf_thread_t *p_intf, wxWindow *p_parent );    virtual ~SubsFileDialog();    wxComboBox *file_combo;    wxComboBox *encoding_combo;    wxComboBox *size_combo;    wxComboBox *align_combo;    wxSpinCtrl *fps_spinctrl;    wxSpinCtrl *delay_spinctrl;private:    /* Event handlers (these functions should _not_ be virtual) */    void OnOk( wxCommandEvent& event );    void OnCancel( wxCommandEvent& event );    void OnFileBrowse( wxCommandEvent& event );    DECLARE_EVENT_TABLE();    intf_thread_t *p_intf;    wxWindow *p_parent;};/* Stream */class StreamDialog: public wxFrame{public:    /* Constructor */    StreamDialog( intf_thread_t *p_intf, wxWindow *p_parent );    virtual ~StreamDialog();private:    void OnClose( wxCommandEvent& event );    void OnOpen( wxCommandEvent& event );    void OnSout( wxCommandEvent& event );    void OnStart( wxCommandEvent& event );    DECLARE_EVENT_TABLE();    intf_thread_t *p_intf;    wxStaticText *step2_label;    wxStaticText *step3_label;    wxButton *sout_button;    wxButton *start_button;    wxArrayString mrl;    wxArrayString sout_mrl;    OpenDialog *p_open_dialog;    SoutDialog *p_sout_dialog;};/* Wizard */class WizardDialog : public wxWizard{public:    /* Constructor */    WizardDialog( intf_thread_t *p_intf, wxWindow *p_parent,char *, int, int );    virtual ~WizardDialog();    void SetTranscode( char *vcodec, int vb, char *acodec,int ab);    void SetMrl( const char *mrl );    void SetTTL( int i_ttl );    void SetPartial( int, int );    void SetStream( char *method, char *address );    void SetTranscodeOut( const char *address );    void SetAction( int i_action );    int  GetAction();    void SetSAP( bool b_enabled, const char *psz_name );    void SetMux( char *mux );    void Run();    int i_action;    char *method;protected:    int vb,ab;    int i_from, i_to, i_ttl;    char *vcodec , *acodec , *address , *mrl , *mux ;    char *psz_sap_name;    bool b_sap;    DECLARE_EVENT_TABLE();    intf_thread_t *p_intf;};/* Preferences Dialog */class PrefsDialog: public wxFrame{public:    /* Constructor */    PrefsDialog( intf_thread_t *p_intf, wxWindow *p_parent );    virtual ~PrefsDialog();private:    wxPanel *PrefsPanel( wxWindow* parent );    /* Event handlers (these functions should _not_ be virtual) */    void OnOk( wxCommandEvent& event );    void OnCancel( wxCommandEvent& event );    void OnSave( wxCommandEvent& event );    void OnResetAll( wxCommandEvent& event );    void OnAdvanced( wxCommandEvent& event );    void OnClose( wxCloseEvent& event );    DECLARE_EVENT_TABLE();    intf_thread_t *p_intf;    PrefsTreeCtrl *prefs_tree;};/* Messages */class Messages: public wxFrame{public:    /* Constructor */    Messages( intf_thread_t *p_intf, wxWindow *p_parent );    virtual ~Messages();    bool Show( bool show = TRUE );    void UpdateLog();private:    /* Event handlers (these functions should _not_ be virtual) */    void OnButtonClose( wxCommandEvent& event );    void OnClose( wxCloseEvent& WXUNUSED(event) );    void OnClear( wxCommandEvent& event );    void OnSaveLog( wxCommandEvent& event );    DECLARE_EVENT_TABLE();    intf_thread_t *p_intf;    wxTextCtrl *textctrl;    wxTextAttr *info_attr;    wxTextAttr *err_attr;    wxTextAttr *warn_attr;    wxTextAttr *dbg_attr;    wxFileDialog *save_log_dialog;    vlc_bool_t b_verbose;};/* Playlist */class Playlist: public wxFrame{public:    /* Constructor */    Playlist( intf_thread_t *p_intf, wxWindow *p_parent );    virtual ~Playlist();    void UpdatePlaylist();    void ShowPlaylist( bool show );    void UpdateItem( int );    void AppendItem( wxCommandEvent& );    bool b_need_update;private:    void RemoveItem( int );    void DeleteTreeItem( wxTreeItemId );    void DeleteItem( int item );    void DeleteNode( playlist_item_t *node );    void RecursiveDeleteSelection( wxTreeItemId );    /* Event handlers (these functions should _not_ be virtual) */    /* Menu Handlers */    void OnAddFile( wxCommandEvent& event );    void OnAddDir( wxCommandEvent& event );    void OnAddMRL( wxCommandEvent& event );    void OnMenuClose( wxCommandEvent& event );    void OnClose( wxCloseEvent& WXUNUSED(event) );    void OnDeleteSelection( wxCommandEvent& event );    void OnOpen( wxCommandEvent& event );    void OnSave( wxCommandEvent& event );    /* Search (user) */    void OnSearch( wxCommandEvent& event );    /*void OnSearchTextChange( wxCommandEvent& event );*/    wxTextCtrl *search_text;    wxButton *search_button;    wxTreeItemId search_current;    void OnEnDis( wxCommandEvent& event );    /* Sort */    int i_sort_mode;    void OnSort( wxCommandEvent& event );    int i_title_sorted;    int i_group_sorted;    int i_duration_sorted;    /* Dynamic menus */    void OnMenuEvent( wxCommandEvent& event );    void OnMenuOpen( wxMenuEvent& event );    wxMenu *p_view_menu;    wxMenu *p_sd_menu;    wxMenu *ViewMenu();    wxMenu *SDMenu();    void OnUp( wxCommandEvent& event);    void OnDown( wxCommandEvent& event);    void OnRandom( wxCommandEvent& event );    void OnRepeat( wxCommandEvent& event );    void OnLoop ( wxCommandEvent& event );    void OnActivateItem( wxTreeEvent& event );    void OnKeyDown( wxTreeEvent& event );    void OnNewGroup( wxCommandEvent& event );    /* Popup  */    wxMenu *item_popup;    wxMenu *node_popup;    wxTreeItemId i_wx_popup_item;    int i_popup_item;    int i_popup_parent;    void OnPopup( wxContextMenuEvent& event );    void OnPopupPlay( wxCommandEvent& event );    void OnPopupPreparse( wxCommandEvent& event );    void OnPopupSort( wxCommandEvent& event );    void OnPopupDel( wxCommandEvent& event );    void OnPopupEna( wxCommandEvent& event );    void OnPopupInfo( wxCommandEvent& event );    void Rebuild( vlc_bool_t );    void Preparse();    /* Update */    void UpdateNode( playlist_item_t*, wxTreeItemId );    void UpdateNodeChildren( playlist_item_t*, wxTreeItemId );    void CreateNode( playlist_item_t*, wxTreeItemId );    void UpdateTreeItem( wxTreeItemId );    /* Search (internal) */    int CountItems( wxTreeItemId);    wxTreeItemId FindItem( wxTreeItemId, int );    wxTreeItemId FindItemByName( wxTreeItemId, wxString,                                 wxTreeItemId, vlc_bool_t *);    wxTreeItemId saved_tree_item;    int i_saved_id;    playlist_t *p_playlist;    /* Custom events */    void OnPlaylistEvent( wxCommandEvent& event );    DECLARE_EVENT_TABLE();    /* Global widgets */    wxStatusBar *statusbar;    ItemInfoDialog *iteminfo_dialog;    int i_update_counter;    intf_thread_t *p_intf;    wxTreeCtrl *treectrl;    int i_current_view;    vlc_bool_t b_changed_view;    char **pp_sds;};/* ItemInfo Dialog */class ItemInfoDialog: public wxDialog{public:    /* Constructor */    ItemInfoDialog( intf_thread_t *p_intf, playlist_item_t *_p_item,                    wxWindow *p_parent );    virtual ~ItemInfoDialog();    wxArrayString GetOptions();private:    wxPanel *InfoPanel( wxWindow* parent );    wxPanel *GroupPanel( wxWindow* parent );    /* Event handlers (these functions should _not_ be virtual) */    void OnOk( wxCommandEvent& event );    void OnCancel( wxCommandEvent& event );    void UpdateInfo();    DECLARE_EVENT_TABLE();    intf_thread_t *p_intf;    playlist_item_t *p_item;    wxWindow *p_parent;    /* Controls for the iteminfo dialog box */    wxPanel *info_subpanel;    wxPanel *info_panel;    wxPanel *group_subpanel;    wxPanel *group_panel;    wxTextCtrl *uri_text;    wxTextCtrl *name_text;    wxTreeCtrl *info_tree;    wxTreeItemId info_root;};/* File Info */class FileInfo: public wxFrame{public:    /* Constructor */    FileInfo( intf_thread_t *p_intf, wxWindow *p_parent );    virtual ~FileInfo();    void UpdateFileInfo();    vlc_bool_t b_need_update;private:    void OnButtonClose( wxCommandEvent& event );    void OnClose( wxCloseEvent& WXUNUSED(event) );    DECLARE_EVENT_TABLE();    intf_thread_t *p_intf;    wxTreeCtrl *fileinfo_tree;    wxTreeItemId fileinfo_root;    wxString fileinfo_root_label;};#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} // end of wxvlc namespace/* */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_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];};/* Menus */void PopupMenu( 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 );namespace wxvlc{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;};} // end of wxvlc namespace/* * wxWindows keeps dead locking because the timer tries to lock the playlist * when it's already locked somewhere else in the very wxWindows interface * module. Unless someone implements a "vlc_mutex_trylock", we need that. */inline void LockPlaylist( intf_sys_t *p_sys, playlist_t *p_pl ){    if( p_sys->i_playlist_usage++ == 0)        vlc_mutex_lock( &p_pl->object_lock );}inline void UnlockPlaylist( intf_sys_t *p_sys, playlist_t *p_pl ){    if( --p_sys->i_playlist_usage == 0)        vlc_mutex_unlock( &p_pl->object_lock );}using namespace wxvlc;

⌨️ 快捷键说明

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