Enable save of a region (breaking the features freeze, but it is needed for debug purposes)

This commit is contained in:
2014-10-25 02:03:18 +01:00
parent d0ae3298e1
commit 83e797cd41
2 changed files with 17 additions and 4 deletions
+15 -4
View File
@@ -52,6 +52,7 @@ SubWindowHandle::SubWindowHandle( QWidget * parent, Bool isModule ) :
m_cViewArea = new ViewArea( m_cScrollArea );
connect( m_cViewArea, SIGNAL( zoomFactorChanged( double , QPoint) ), this, SLOT( adjustScrollBarByZoom(double, QPoint) ) );
connect( m_cViewArea, SIGNAL( moveScroll( QPoint ) ), this, SLOT( adjustScrollBarByOffset(QPoint) ) );
connect( m_cViewArea, SIGNAL( selectionChanged( QRect ) ), this, SLOT( updateSelectedArea( QRect ) ) );
connect( m_cScrollArea->horizontalScrollBar(), SIGNAL( actionTriggered( int ) ), this, SLOT( updateLastScrollValue() ) );
connect( m_cScrollArea->verticalScrollBar(), SIGNAL( actionTriggered( int ) ), this, SLOT( updateLastScrollValue() ) );
@@ -145,6 +146,11 @@ Bool SubWindowHandle::loadFile( PlaYUVerStreamInfo* streamInfo )
return true;
}
Void SubWindowHandle::updateSelectedArea( QRect area )
{
m_cSelectedArea = area;
}
/**
* Functions to enable a module in the
* current SubWindow
@@ -230,9 +236,14 @@ Bool SubWindowHandle::save( QString filename )
{
Bool iRet = false;
QApplication::setOverrideCursor( Qt::WaitCursor );
if( !m_pCurrStream )
if( !m_pCurrStream || m_cSelectedArea.isValid() )
{
if( !m_pcCurrFrame )
PlaYUVerFrame* savedFrame = m_pcCurrFrame;
if( m_cSelectedArea.isValid() )
{
savedFrame = new PlaYUVerFrame( m_pcCurrFrame, m_cSelectedArea );
}
if( !savedFrame )
{
return false;
}
@@ -247,8 +258,8 @@ Bool SubWindowHandle::save( QString filename )
{
return false;
}
m_pcCurrFrame->FrametoRGB8();
QImage qimg = QImage( m_pcCurrFrame->getQImageBuffer(), m_pcCurrFrame->getWidth(), m_pcCurrFrame->getHeight(), QImage::Format_RGB888 );
savedFrame->FrametoRGB8();
QImage qimg = QImage( savedFrame->getQImageBuffer(), savedFrame->getWidth(), savedFrame->getHeight(), QImage::Format_RGB888 );
iRet = qimg.save( filename );
}
else
+2
View File
@@ -52,6 +52,7 @@ private:
PlaYUVerStream* m_pCurrStream;
PlaYUVerFrame* m_pcCurrFrame;
QRect m_cSelectedArea;
QString m_cFilename;
PlaYUVerModuleIf* m_pcCurrentModule;
@@ -214,6 +215,7 @@ protected:
void closeEvent( QCloseEvent *event );
public Q_SLOTS:
void updateSelectedArea( QRect area );
void adjustScrollBarByZoom( double factor, QPoint center );
void adjustScrollBarByOffset( QPoint Offset );
void updateLastScrollValue();