Creation of the function ModulesHandle::applyModuleIf and minor changes in the modules

This commit is contained in:
2014-05-13 04:03:28 +01:00
parent dc1827946f
commit 851c2ffb13
6 changed files with 35 additions and 8 deletions
+21 -1
View File
@@ -96,16 +96,36 @@ SubWindowHandle* ModulesHandle::toggleSelectedModuleIf()
else
{
pcSubWindow->enableModule( currModuleIf );
currModuleIf->m_pcDisplaySubWindow = pcSubWindow;
}
currModuleIf->m_pcSubWindow = pcSubWindow;
}
else
{
QCoreApplication::processEvents();
destroyModuleIf( currModuleIf );
}
return interfaceChild;
}
PlaYUVerFrame* ModulesHandle::applyModuleIf( PlaYUVerModuleIf *pcCurrModuleIf )
{
PlaYUVerFrame* processedFrame;
switch( pcCurrModuleIf->m_cModuleDef.m_uiNumberOfFrames )
{
case MODULE_REQUIRES_ONE_FRAME:
processedFrame = pcCurrModuleIf->process( pcCurrModuleIf->m_pcSubWindow->getCurrFrame() );
break;
case MODULE_REQUIRES_TWO_FRAMES:
break;
case MODULE_REQUIRES_THREE_FRAMES:
break;
}
pcCurrModuleIf->m_pcDisplaySubWindow->setCurrFrame( processedFrame );
return processedFrame;
}
Void ModulesHandle::destroyModuleIf( PlaYUVerModuleIf *pcCurrModuleIf )
{
pcCurrModuleIf->m_pcAction->setChecked( false );
@@ -140,7 +160,7 @@ QMenu* ModulesHandle::createMenus( QMenuBar *MainAppMenuBar )
m_pcModulesMenu = MainAppMenuBar->addMenu( "&Modules" );
//m_arrayModulesActions.resize( m_uiModulesCount );
//m_arrayModulesActions.resize( m_uiModulesCount );
for( Int i = 0; i < m_pcPlaYUVerModules.size(); i++ )
{
+1
View File
@@ -55,6 +55,7 @@ public:
Void updateMenus( Bool hasSubWindow );
SubWindowHandle* toggleSelectedModuleIf();
static PlaYUVerFrame* applyModuleIf( PlaYUVerModuleIf *pcCurrModuleIf );
static Void destroyModuleIf( PlaYUVerModuleIf* pcCurrModuleIf );
private:
+7 -4
View File
@@ -47,10 +47,12 @@ enum __PlaYUVerModuleTypes
enum __PlaYUVerModuleRequirements
{
MODULE_REQUIRES_FRAME = 1,
MODULE_REQUIRES_TWOFRAMES = 2,
MODULE_REQUIRES_NEW_WINDOW = 4,
MODULE_REQUIRES_SIDEBAR = 8,
MODULE_REQUIRES_ONE_FRAME = 1,
MODULE_REQUIRES_TWO_FRAMES = 2,
MODULE_REQUIRES_THREE_FRAMES = 3,
MODULE_REQUIRES_NOTHING = 0,
MODULE_REQUIRES_NEW_WINDOW = 2,
MODULE_REQUIRES_SIDEBAR = 4,
MODULES_REQUIREMENTS_TOTAL,
};
@@ -69,6 +71,7 @@ typedef struct __PlaYUVerModuleDefinition
const Char* m_pchModuleCategory;
const Char* m_pchModuleName;
const Char* m_pchModuleTooltip;
UInt m_uiNumberOfFrames;
UInt m_uiModuleRequirements;
} PlaYUVerModuleDefinition;
+2 -1
View File
@@ -35,7 +35,8 @@ PlaYUVerModuleDefinition FilterFrameDef = {
"Filters",
"Y_Filter",
"Filter Y matrix of YUV frame",
MODULE_REQUIRES_FRAME,
MODULE_REQUIRES_ONE_FRAME,
MODULE_REQUIRES_NOTHING,
};
FilterFrame::FilterFrame()
+2 -1
View File
@@ -36,7 +36,8 @@ static PlaYUVerModuleDefinition FrameDifferenceDef =
"Measurements",
"FrameDifference",
"Measure the difference between two images (Y plane)",
MODULE_REQUIRES_TWOFRAMES | MODULE_REQUIRES_NEW_WINDOW,
MODULE_REQUIRES_TWO_FRAMES,
MODULE_REQUIRES_NEW_WINDOW,
};
FrameDifference::FrameDifference()
+2 -1
View File
@@ -36,7 +36,8 @@ static PlaYUVerModuleDefinition MeasurePSNRDef =
"Measurements",
"PSNR",
"Measure the PSNR between two images",
MODULE_REQUIRES_TWOFRAMES | MODULE_REQUIRES_SIDEBAR,
MODULE_REQUIRES_TWO_FRAMES,
MODULE_REQUIRES_NEW_WINDOW,
};
MeasurePSNR::MeasurePSNR()