Enable save of a region (breaking the features freeze, but it is needed for debug purposes)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user