00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "ctrl_video.hpp"
00025 #include "../src/theme.hpp"
00026 #include "../src/vout_window.hpp"
00027 #include "../src/os_graphics.hpp"
00028
00029
00030 CtrlVideo::CtrlVideo( intf_thread_t *pIntf, const UString &rHelp,
00031 VarBool *pVisible ):
00032 CtrlGeneric( pIntf, rHelp, pVisible ), m_pVout( NULL )
00033 {
00034 }
00035
00036
00037 CtrlVideo::~CtrlVideo()
00038 {
00039 if( m_pVout )
00040 {
00041 delete m_pVout;
00042 }
00043 }
00044
00045
00046 void CtrlVideo::handleEvent( EvtGeneric &rEvent )
00047 {
00048 }
00049
00050
00051 bool CtrlVideo::mouseOver( int x, int y ) const
00052 {
00053 return false;
00054 }
00055
00056
00057 void CtrlVideo::onResize()
00058 {
00059 const Position *pPos = getPosition();
00060 if( pPos && m_pVout )
00061 {
00062 m_pVout->move( pPos->getLeft(), pPos->getTop() );
00063 m_pVout->resize( pPos->getWidth(), pPos->getHeight() );
00064 }
00065 }
00066
00067
00068 void CtrlVideo::draw( OSGraphics &rImage, int xDest, int yDest )
00069 {
00070 GenericWindow *pParent = getWindow();
00071 const Position *pPos = getPosition();
00072 if( pParent && pPos )
00073 {
00074
00075 rImage.fillRect( pPos->getLeft(), pPos->getTop(), pPos->getWidth(),
00076 pPos->getHeight(), 0 );
00077
00078
00079 if (!m_pVout)
00080 {
00081 m_pVout = new VoutWindow( getIntf(), pPos->getLeft(),
00082 pPos->getTop(), false, false, *pParent );
00083 m_pVout->resize( pPos->getWidth(), pPos->getHeight() );
00084 m_pVout->show();
00085 }
00086 }
00087 }