Change PlaYUVerAppModuleIf functions
apply and show are part of PlaYUVerAppModuleIf class
This commit is contained in:
+7
-60
@@ -425,7 +425,7 @@ Void ModulesHandle::activateModule()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
applyModuleIf( pcCurrAppModuleIf, false, true );
|
pcCurrAppModuleIf->apply( false, true );
|
||||||
QCoreApplication::processEvents();
|
QCoreApplication::processEvents();
|
||||||
|
|
||||||
if( pcModuleSubWindow )
|
if( pcModuleSubWindow )
|
||||||
@@ -474,41 +474,12 @@ Void ModulesHandle::destroyAllModulesIf()
|
|||||||
emit changed();
|
emit changed();
|
||||||
}
|
}
|
||||||
|
|
||||||
Bool ModulesHandle::applyModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf, Bool isPlaying, Bool disableThreads )
|
Void ModulesHandle::applyModuleIf( QList<PlaYUVerAppModuleIf*> pcCurrModuleIfList, Bool isPlaying, Bool disableThreads )
|
||||||
{
|
{
|
||||||
Bool bRet = false;
|
for( Int i = 0; i < pcCurrModuleIfList.size() && !isPlaying; i++ )
|
||||||
QApplication::setOverrideCursor( Qt::WaitCursor );
|
|
||||||
if( pcCurrModuleIf->m_pcDisplaySubWindow )
|
|
||||||
{
|
{
|
||||||
pcCurrModuleIf->m_pcDisplaySubWindow->setFillWindow( true );
|
pcCurrModuleIfList.at( i )->apply( isPlaying, disableThreads );
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
pcCurrModuleIf->m_pcSubWindow[0]->setFillWindow( true );
|
|
||||||
}
|
|
||||||
if( !( isPlaying && ( pcCurrModuleIf->m_pcModule->m_uiModuleRequirements & MODULE_REQUIRES_SKIP_WHILE_PLAY ) ) )
|
|
||||||
{
|
|
||||||
#ifdef PLAYUVER_THREADED_MODULES
|
|
||||||
if( !disableThreads )
|
|
||||||
pcCurrModuleIf->start();
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
pcCurrModuleIf->run();
|
|
||||||
showModuleIf( pcCurrModuleIf );
|
|
||||||
}
|
|
||||||
|
|
||||||
if( pcCurrModuleIf->m_pcDisplaySubWindow || pcCurrModuleIf->m_pcModule->m_iModuleType == FRAME_MEASUREMENT_MODULE )
|
|
||||||
{
|
|
||||||
bRet = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
bRet = true;
|
|
||||||
}
|
|
||||||
QApplication::restoreOverrideCursor();
|
|
||||||
return bRet;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Void ModulesHandle::applyAllModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
Void ModulesHandle::applyAllModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
||||||
@@ -574,7 +545,7 @@ Void ModulesHandle::applyAllModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
|||||||
QApplication::setOverrideCursor( Qt::WaitCursor );
|
QApplication::setOverrideCursor( Qt::WaitCursor );
|
||||||
for( UInt f = 1; f < numberOfFrames; f++ )
|
for( UInt f = 1; f < numberOfFrames; f++ )
|
||||||
{
|
{
|
||||||
applyModuleIf( pcCurrModuleIf, false, true );
|
pcCurrModuleIf->apply( false, true );
|
||||||
QCoreApplication::processEvents();
|
QCoreApplication::processEvents();
|
||||||
pcCurrModuleIf->m_pcModuleStream->writeFrame( pcCurrModuleIf->m_pcProcessedFrame );
|
pcCurrModuleIf->m_pcModuleStream->writeFrame( pcCurrModuleIf->m_pcProcessedFrame );
|
||||||
for( UInt i = 0; i < numberOfWindows; i++ )
|
for( UInt i = 0; i < numberOfWindows; i++ )
|
||||||
@@ -591,30 +562,6 @@ Void ModulesHandle::applyAllModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Void ModulesHandle::showModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
|
||||||
{
|
|
||||||
switch( pcCurrModuleIf->m_pcModule->m_iModuleType )
|
|
||||||
{
|
|
||||||
case FRAME_PROCESSING_MODULE:
|
|
||||||
if( pcCurrModuleIf->m_pcDisplaySubWindow )
|
|
||||||
{
|
|
||||||
pcCurrModuleIf->m_pcDisplaySubWindow->setCurrFrame( pcCurrModuleIf->m_pcProcessedFrame );
|
|
||||||
pcCurrModuleIf->m_pcDisplaySubWindow->setFillWindow( false );
|
|
||||||
pcCurrModuleIf->m_pcDisplaySubWindow->clearWindowBusy();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pcCurrModuleIf->m_pcSubWindow[0]->setCurrFrame( pcCurrModuleIf->m_pcProcessedFrame );
|
|
||||||
pcCurrModuleIf->m_pcSubWindow[0]->setFillWindow( false );
|
|
||||||
pcCurrModuleIf->m_pcSubWindow[0]->clearWindowBusy();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case FRAME_MEASUREMENT_MODULE:
|
|
||||||
pcCurrModuleIf->m_pcModuleDock->setModulueReturnValue( pcCurrModuleIf->m_dMeasurementResult );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Void ModulesHandle::swapModulesWindowsIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
Void ModulesHandle::swapModulesWindowsIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
||||||
{
|
{
|
||||||
if( pcCurrModuleIf->m_pcModule->m_uiNumberOfFrames == MODULE_REQUIRES_TWO_FRAMES )
|
if( pcCurrModuleIf->m_pcModule->m_uiNumberOfFrames == MODULE_REQUIRES_TWO_FRAMES )
|
||||||
@@ -622,7 +569,7 @@ Void ModulesHandle::swapModulesWindowsIf( PlaYUVerAppModuleIf *pcCurrModuleIf )
|
|||||||
VideoSubWindow* auxWindowHandle = pcCurrModuleIf->m_pcSubWindow[0];
|
VideoSubWindow* auxWindowHandle = pcCurrModuleIf->m_pcSubWindow[0];
|
||||||
pcCurrModuleIf->m_pcSubWindow[0] = pcCurrModuleIf->m_pcSubWindow[1];
|
pcCurrModuleIf->m_pcSubWindow[0] = pcCurrModuleIf->m_pcSubWindow[1];
|
||||||
pcCurrModuleIf->m_pcSubWindow[1] = auxWindowHandle;
|
pcCurrModuleIf->m_pcSubWindow[1] = auxWindowHandle;
|
||||||
applyModuleIf( pcCurrModuleIf );
|
pcCurrModuleIf->apply();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -635,7 +582,7 @@ Void ModulesHandle::customEvent( QEvent *event )
|
|||||||
PlaYUVerAppModuleIf::EventData *eventData = ( PlaYUVerAppModuleIf::EventData* )event;
|
PlaYUVerAppModuleIf::EventData *eventData = ( PlaYUVerAppModuleIf::EventData* )event;
|
||||||
if( eventData->m_bSuccess )
|
if( eventData->m_bSuccess )
|
||||||
{
|
{
|
||||||
showModuleIf( eventData->m_pcModule );
|
eventData->m_pcModule->show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-3
@@ -64,9 +64,7 @@ public:
|
|||||||
Void writeSettings();
|
Void writeSettings();
|
||||||
|
|
||||||
static Void destroyModuleIf( PlaYUVerAppModuleIf* pcCurrModuleIf );
|
static Void destroyModuleIf( PlaYUVerAppModuleIf* pcCurrModuleIf );
|
||||||
static Bool applyModuleIf( PlaYUVerAppModuleIf* pcCurrModuleIf, Bool isPlaying = false, Bool disableThreads = false );
|
static Void applyModuleIf( QList<PlaYUVerAppModuleIf*> pcCurrModuleIfList, Bool isPlaying = false, Bool disableThreads = false );
|
||||||
|
|
||||||
static Void showModuleIf( PlaYUVerAppModuleIf *pcCurrModuleIf );
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QWidget* m_pcParent;
|
QWidget* m_pcParent;
|
||||||
|
|||||||
@@ -47,11 +47,46 @@ PlaYUVerAppModuleIf::PlaYUVerAppModuleIf( QObject* parent, QAction* action, PlaY
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Bool PlaYUVerAppModuleIf::apply( Bool isPlaying, Bool disableThreads )
|
||||||
|
{
|
||||||
|
Bool bRet = false;
|
||||||
|
QApplication::setOverrideCursor( Qt::WaitCursor );
|
||||||
|
if( m_pcDisplaySubWindow )
|
||||||
|
{
|
||||||
|
m_pcDisplaySubWindow->setFillWindow( true );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_pcSubWindow[0]->setFillWindow( true );
|
||||||
|
}
|
||||||
|
if( !( isPlaying && ( m_pcModule->m_uiModuleRequirements & MODULE_REQUIRES_SKIP_WHILE_PLAY ) ) )
|
||||||
|
{
|
||||||
|
#ifdef PLAYUVER_THREADED_MODULES
|
||||||
|
if( !disableThreads )
|
||||||
|
start();
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
run();
|
||||||
|
show();
|
||||||
|
}
|
||||||
|
|
||||||
|
if( m_pcDisplaySubWindow || m_pcModule->m_iModuleType == FRAME_MEASUREMENT_MODULE )
|
||||||
|
{
|
||||||
|
bRet = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bRet = true;
|
||||||
|
}
|
||||||
|
QApplication::restoreOverrideCursor();
|
||||||
|
return bRet;
|
||||||
|
}
|
||||||
|
|
||||||
Void PlaYUVerAppModuleIf::run()
|
Void PlaYUVerAppModuleIf::run()
|
||||||
{
|
{
|
||||||
m_bIsRunning = true;
|
m_bIsRunning = true;
|
||||||
// m_pcProcessedFrame = NULL;
|
|
||||||
// m_dMeasurementResult = 0;
|
|
||||||
|
|
||||||
std::vector<PlaYUVerFrame*> apcFrameList;
|
std::vector<PlaYUVerFrame*> apcFrameList;
|
||||||
for( UInt i = 0; i < m_pcModule->m_uiNumberOfFrames; i++ )
|
for( UInt i = 0; i < m_pcModule->m_uiNumberOfFrames; i++ )
|
||||||
@@ -94,6 +129,30 @@ Void PlaYUVerAppModuleIf::run()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Void PlaYUVerAppModuleIf::show()
|
||||||
|
{
|
||||||
|
switch( m_pcModule->m_iModuleType )
|
||||||
|
{
|
||||||
|
case FRAME_PROCESSING_MODULE:
|
||||||
|
if( m_pcDisplaySubWindow )
|
||||||
|
{
|
||||||
|
m_pcDisplaySubWindow->setCurrFrame( m_pcProcessedFrame );
|
||||||
|
m_pcDisplaySubWindow->setFillWindow( false );
|
||||||
|
m_pcDisplaySubWindow->clearWindowBusy();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_pcSubWindow[0]->setCurrFrame( m_pcProcessedFrame );
|
||||||
|
m_pcSubWindow[0]->setFillWindow( false );
|
||||||
|
m_pcSubWindow[0]->clearWindowBusy();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FRAME_MEASUREMENT_MODULE:
|
||||||
|
m_pcModuleDock->setModulueReturnValue( m_dMeasurementResult );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Void PlaYUVerAppModuleIf::destroy()
|
Void PlaYUVerAppModuleIf::destroy()
|
||||||
{
|
{
|
||||||
if( m_bIsRunning )
|
if( m_bIsRunning )
|
||||||
|
|||||||
@@ -111,6 +111,8 @@ public:
|
|||||||
return m_pcModule->m_uiModuleRequirements;
|
return m_pcModule->m_uiModuleRequirements;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Bool apply( Bool isPlaying = false, Bool disableThreads = false );
|
||||||
|
Void show();
|
||||||
Void destroy();
|
Void destroy();
|
||||||
protected:
|
protected:
|
||||||
virtual void run();
|
virtual void run();
|
||||||
|
|||||||
@@ -618,18 +618,14 @@ Void VideoSubWindow::refreshFrameOperation()
|
|||||||
if( m_pcCurrentDisplayModule )
|
if( m_pcCurrentDisplayModule )
|
||||||
{
|
{
|
||||||
m_bWindowBusy = true;
|
m_bWindowBusy = true;
|
||||||
ModulesHandle::applyModuleIf( m_pcCurrentDisplayModule, m_bIsPlaying, !m_bIsPlaying && m_apcCurrentModule.size() );
|
m_pcCurrentDisplayModule->apply( m_bIsPlaying, !m_bIsPlaying && m_apcCurrentModule.size() );
|
||||||
bSetFrame = false;
|
bSetFrame = false;
|
||||||
}
|
}
|
||||||
if( bSetFrame )
|
if( bSetFrame )
|
||||||
{
|
{
|
||||||
m_cViewArea->setImage( m_pcCurrFrame );
|
m_cViewArea->setImage( m_pcCurrFrame );
|
||||||
}
|
}
|
||||||
for( Int i = 0; i < m_apcCurrentModule.size() && !m_bIsPlaying; i++ )
|
ModulesHandle::applyModuleIf( m_apcCurrentModule, m_bIsPlaying );
|
||||||
{
|
|
||||||
m_bWindowBusy = true;
|
|
||||||
ModulesHandle::applyModuleIf( m_apcCurrentModule.at( i ), m_bIsPlaying );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Void VideoSubWindow::refreshFrame( Bool bThreaded )
|
Void VideoSubWindow::refreshFrame( Bool bThreaded )
|
||||||
|
|||||||
Reference in New Issue
Block a user