Add an array of window to each module in order to support multiple frames

This commit is contained in:
jfmcarreira committed 2014-05-13 04:42:32 +01:00
1 parent e2cf98d4cd
commit c87115b3e8
2 files changed
+19 -9

No files matched your search

+11 -6
View File
@@ -91,7 +91,7 @@ SubWindowHandle* ModulesHandle::toggleSelectedModuleIf()
currModuleIf->m_pcDisplaySubWindow = interfaceChild;
currModuleIf->m_pcDisplaySubWindow->setModule( currModuleIf );
}
currModuleIf->m_pcSubWindow = pcSubWindow;
currModuleIf->m_pcSubWindow[0] = pcSubWindow;
pcSubWindow->enableModule( currModuleIf );
}
else
@@ -109,7 +109,7 @@ PlaYUVerFrame* ModulesHandle::applyModuleIf( PlaYUVerModuleIf *pcCurrModuleIf )
switch( pcCurrModuleIf->m_cModuleDef.m_uiNumberOfFrames )
{
case MODULE_REQUIRES_ONE_FRAME:
processedFrame = pcCurrModuleIf->process( pcCurrModuleIf->m_pcSubWindow->getCurrFrame() );
processedFrame = pcCurrModuleIf->process( pcCurrModuleIf->m_pcSubWindow[0]->getCurrFrame() );
break;
case MODULE_REQUIRES_TWO_FRAMES:
break;
@@ -119,7 +119,7 @@ PlaYUVerFrame* ModulesHandle::applyModuleIf( PlaYUVerModuleIf *pcCurrModuleIf )
if( pcCurrModuleIf->m_pcDisplaySubWindow )
pcCurrModuleIf->m_pcDisplaySubWindow->setCurrFrame( processedFrame );
else
pcCurrModuleIf->m_pcSubWindow->setCurrFrame( processedFrame );
pcCurrModuleIf->m_pcSubWindow[0]->setCurrFrame( processedFrame );
return processedFrame;
}
@@ -128,11 +128,16 @@ Void ModulesHandle::destroyModuleIf( PlaYUVerModuleIf *pcCurrModuleIf )
pcCurrModuleIf->m_pcAction->setChecked( false );
if( pcCurrModuleIf->m_pcDisplaySubWindow )
pcCurrModuleIf->m_pcDisplaySubWindow->close();
if( pcCurrModuleIf->m_pcSubWindow )
pcCurrModuleIf->m_pcSubWindow->disableModule();
for( Int i = 0; i < MAX_NUMBER_FRAMES; i++ )
{
if( pcCurrModuleIf->m_pcSubWindow[i] )
{
pcCurrModuleIf->m_pcSubWindow[i]->disableModule();
pcCurrModuleIf->m_pcSubWindow[i] = NULL;
}
}
pcCurrModuleIf->m_pcDisplaySubWindow = NULL;
pcCurrModuleIf->m_pcSubWindow = NULL;
pcCurrModuleIf->destroy();
}
+8 -3
View File
@@ -45,6 +45,7 @@ enum __PlaYUVerModuleTypes
VIDEO_LEVEL_MODULE,
};
#define MAX_NUMBER_FRAMES 3
enum __PlaYUVerModuleRequirements
{
MODULE_REQUIRES_ONE_FRAME = 1,
@@ -82,15 +83,19 @@ class PlaYUVerModuleIf
friend class ModulesHandle;
private:
QAction* m_pcAction;
SubWindowHandle* m_pcSubWindow;
SubWindowHandle* m_pcSubWindow[MAX_NUMBER_FRAMES];
SubWindowHandle* m_pcDisplaySubWindow;
PlaYUVerModuleDefinition m_cModuleDef;
public:
PlaYUVerModuleIf() :
m_pcAction( NULL ),
m_pcSubWindow( NULL ),
m_pcDisplaySubWindow( NULL )
{ }
{
for( Int i = 0; i < MAX_NUMBER_FRAMES; i++ )
{
m_pcSubWindow[i] = NULL;
}
}
virtual ~PlaYUVerModuleIf() { }
virtual Void create() { }