Add an array of window to each module in order to support multiple frames
This commit is contained in:
1 parent
e2cf98d4cd
commit
c87115b3e8
2 files changed
+19
-9
No files matched your search
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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() { }
|
||||
|
||||
Reference in new issue
Block a user