tahoma2d/toonz/sources/toonzlib/txshlevelhandle.cpp

49 lines
1.4 KiB
C++
Raw Normal View History

2016-03-19 06:57:51 +13:00
#include "toonz/txshlevelhandle.h"
#include "toonz/txshlevel.h"
#include "toonz/txshsimplelevel.h"
#include "toonz/txsheet.h"
#include "toonz/txshcell.h"
//=============================================================================
// TXshLevelHandle
//-----------------------------------------------------------------------------
2016-06-15 18:43:10 +12:00
TXshLevelHandle::TXshLevelHandle() : m_level(0) {}
2016-03-19 06:57:51 +13:00
//-----------------------------------------------------------------------------
2016-06-15 18:43:10 +12:00
TXshLevelHandle::~TXshLevelHandle() {
if (m_level) m_level->release();
2016-03-19 06:57:51 +13:00
}
//-----------------------------------------------------------------------------
2016-06-15 18:43:10 +12:00
TXshLevel *TXshLevelHandle::getLevel() const { return m_level; }
2016-03-19 06:57:51 +13:00
//-----------------------------------------------------------------------------
2016-06-15 18:43:10 +12:00
TXshSimpleLevel *TXshLevelHandle::getSimpleLevel() const {
if (!m_level)
return 0;
else
return m_level->getSimpleLevel();
2016-03-19 06:57:51 +13:00
}
//-----------------------------------------------------------------------------
2016-06-15 18:43:10 +12:00
void TXshLevelHandle::setLevel(TXshLevel *level) {
if (m_level == level) return;
TXshLevel *oldLevel = m_level;
m_level = level;
if (level) level->addRef();
bool levelExists = oldLevel ? oldLevel->getRefCount() > 1 : false;
if (oldLevel) oldLevel->release();
emit xshLevelSwitched(levelExists ? oldLevel : 0);
2016-03-19 06:57:51 +13:00
}
//-----------------------------------------------------------------------------