00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _WXVLC_VIDEO_H_
00025 #define _WXVLC_VIDEO_H_
00026
00027 #include "wxwidgets.hpp"
00028
00029 namespace wxvlc
00030 {
00031 class VideoWindow: public wxWindow
00032 {
00033 public:
00034
00035 VideoWindow( intf_thread_t *_p_intf, wxWindow *p_parent );
00036 virtual ~VideoWindow();
00037
00038 void *GetWindow( vout_thread_t *p_vout, int *, int *,
00039 unsigned int *, unsigned int * );
00040 void ReleaseWindow( void * );
00041 int ControlWindow( void *, int, va_list );
00042
00043 mtime_t i_creation_date;
00044
00045 private:
00046 intf_thread_t *p_intf;
00047 vout_thread_t *p_vout;
00048 wxWindow *p_parent;
00049 vlc_mutex_t lock;
00050 bool b_shown;
00051 bool b_auto_size;
00052
00053 wxWindow *p_child_window;
00054
00055 wxTimer m_hide_timer;
00056
00057 void UpdateSize( wxEvent& event );
00058 void UpdateHide( wxEvent& event );
00059 void OnControlEvent( wxCommandEvent& event );
00060 void OnHideTimer( wxTimerEvent& WXUNUSED(event));
00061
00062 DECLARE_EVENT_TABLE();
00063 };
00064 };
00065
00066
00067 wxWindow *CreateVideoWindow( intf_thread_t *p_intf, wxWindow *p_parent );
00068 void UpdateVideoWindow( intf_thread_t *p_intf, wxWindow *p_window );
00069
00070 #endif