|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/txshsoundtextlevel.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/txshleveltypes.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "tstream.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
DEFINE_CLASS_CODE(TXshSoundTextLevel, 54)
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
PERSIST_IDENTIFIER(TXshSoundTextLevel, "soundTextLevel")
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//=============================================================================
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
3bfa54 |
TXshSoundTextLevel::TXshSoundTextLevel(std::wstring name)
|
|
Shinya Kitaoka |
120a6e |
: TXshLevel(m_classCode, name), m_framesText() {}
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
TXshSoundTextLevel::~TXshSoundTextLevel() {}
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
TXshSoundTextLevel *TXshSoundTextLevel::clone() const {
|
|
Shinya Kitaoka |
120a6e |
TXshSoundTextLevel *sound = new TXshSoundTextLevel(m_name);
|
|
Shinya Kitaoka |
120a6e |
return sound;
|
|
Toshihiro Shimizu |
890ddd |
}
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void TXshSoundTextLevel::setFrameText(int frameIndex, QString text) {
|
|
Shinya Kitaoka |
120a6e |
while (frameIndex >= m_framesText.size()) m_framesText.append(QString());
|
|
Shinya Kitaoka |
120a6e |
m_framesText.replace(frameIndex, text);
|
|
Toshihiro Shimizu |
890ddd |
}
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QString TXshSoundTextLevel::getFrameText(int frameIndex) const {
|
|
Shinya Kitaoka |
120a6e |
if (frameIndex >= m_framesText.size()) return QString();
|
|
Shinya Kitaoka |
120a6e |
return m_framesText[frameIndex];
|
|
Toshihiro Shimizu |
890ddd |
}
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void TXshSoundTextLevel::loadData(TIStream &is) {
|
|
Shinya Kitaoka |
120a6e |
is >> m_name;
|
|
Shinya Kitaoka |
120a6e |
setName(m_name);
|
|
Shinya Kitaoka |
120a6e |
std::string tagName;
|
|
Shinya Kitaoka |
120a6e |
int type = UNKNOWN_XSHLEVEL;
|
|
Shinya Kitaoka |
120a6e |
while (is.matchTag(tagName)) {
|
|
Shinya Kitaoka |
120a6e |
if (tagName == "type") {
|
|
Shinya Kitaoka |
120a6e |
std::string v;
|
|
Shinya Kitaoka |
120a6e |
is >> v;
|
|
Shinya Kitaoka |
120a6e |
if (v == "textSound") type = SND_TXT_XSHLEVEL;
|
|
Shinya Kitaoka |
120a6e |
is.matchEndTag();
|
|
Shinya Kitaoka |
120a6e |
} else if (tagName == "frame") {
|
|
Shinya Kitaoka |
120a6e |
QString text;
|
|
Shinya Kitaoka |
120a6e |
is >> text;
|
|
Shinya Kitaoka |
120a6e |
m_framesText.push_back(text);
|
|
Shinya Kitaoka |
120a6e |
is.matchEndTag();
|
|
Shinya Kitaoka |
120a6e |
} else
|
|
Shinya Kitaoka |
120a6e |
throw TException("unexpected tag " + tagName);
|
|
Shinya Kitaoka |
120a6e |
}
|
|
Shinya Kitaoka |
120a6e |
setType(type);
|
|
Toshihiro Shimizu |
890ddd |
}
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void TXshSoundTextLevel::saveData(TOStream &os) {
|
|
Shinya Kitaoka |
120a6e |
os << m_name;
|
|
Shinya Kitaoka |
120a6e |
int i;
|
|
Shinya Kitaoka |
120a6e |
for (i = 0; i < m_framesText.size(); i++) {
|
|
Shinya Kitaoka |
120a6e |
os.openChild("frame");
|
|
Shinya Kitaoka |
120a6e |
os << m_framesText[i];
|
|
Shinya Kitaoka |
120a6e |
os.closeChild();
|
|
Shinya Kitaoka |
120a6e |
}
|
|
Shinya Kitaoka |
120a6e |
os.child("type") << L"textSound";
|
|
Toshihiro Shimizu |
890ddd |
}
|