VoutManager::VoutManager( intf_thread_t *pIntf ): SkinObject( pIntf ),
- m_pVoutMainWindow( NULL ), m_pCtrlVideoVec(),
+ m_pVoutMainWindow( NULL ), m_pFscWindow( NULL ), m_pCtrlVideoVec(),
m_pCtrlVideoVecBackup(), m_SavedWndVec()
{
m_pVoutMainWindow = new VoutMainWindow( getIntf() );
+
+ OSFactory *pOsFactory = OSFactory::instance( getIntf() );
+ int width = pOsFactory->getScreenWidth();
+ int height = pOsFactory->getScreenHeight();
+
+ m_pVoutMainWindow->move( 0, 0 );
+ m_pVoutMainWindow->resize( width, height );
}
}
+void VoutManager::registerFSC( TopWindow* p_Win )
+{
+ m_pFscWindow = p_Win;
+
+ int x = p_Win->getLeft();
+ int y = p_Win->getTop();
+ p_Win->setParent( m_pVoutMainWindow, x , y, 0, 0 );
+}
+
+
void VoutManager::saveVoutConfig( )
{
// Save width/height to be consistent across themes
{
if( (*it).pWnd == pWnd )
{
- msg_Dbg( getIntf(), "vout released vout=0x%p, VideoCtrl=0x%p",
+ msg_Dbg( getIntf(), "vout released vout=%p, VideoCtrl=%p",
pWnd, (*it).pCtrlVideo );
// if a video control was being used, detach from it
void VoutManager::setFullscreenWnd( vout_window_t *pWnd, bool b_fullscreen )
{
- msg_Dbg( pWnd, "setFullscreen (%d) received from vout thread",
- b_fullscreen ? 1 : 0 );
+ msg_Dbg( pWnd, "setFullscreen (%d) received from vout thread",
+ b_fullscreen ? 1 : 0 );
- vector<SavedWnd>::iterator it;
- for( it = m_SavedWndVec.begin(); it != m_SavedWndVec.end(); it++ )
- {
- if( (*it).pWnd == pWnd )
- {
- VoutWindow* pVoutWindow = (*it).pVoutWindow;
+ VlcProc::instance( getIntf() )->setFullscreenVar( b_fullscreen );
- pVoutWindow->setFullscreen( b_fullscreen );
- break;
- }
+ if( b_fullscreen )
+ {
+ m_pVoutMainWindow->show();
+ }
+ else
+ {
+ m_pVoutMainWindow->hide();
}
}
AsyncQueue::instance( pThis->getIntf() );
pQueue->push( CmdGenericPtr( pCmd ) );
}
- return VLC_SUCCESS;
+ return VLC_EGENERIC;
}
case VOUT_WINDOW_SET_FULLSCREEN: