Creation of the function ModulesHandle::applyModuleIf and minor changes in the modules
This commit is contained in:
@@ -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++ )
|
||||
{
|
||||
|
||||
@@ -55,6 +55,7 @@ public:
|
||||
Void updateMenus( Bool hasSubWindow );
|
||||
SubWindowHandle* toggleSelectedModuleIf();
|
||||
|
||||
static PlaYUVerFrame* applyModuleIf( PlaYUVerModuleIf *pcCurrModuleIf );
|
||||
static Void destroyModuleIf( PlaYUVerModuleIf* pcCurrModuleIf );
|
||||
|
||||
private:
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user