blob: 16c7e3826939ee0a9d492ee3314282636adb41f9 [file] [log] [blame]
/* ------------------------------------------------------------------
* Copyright (C) 1998-2009 PacketVideo
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied.
* See the License for the specific language governing permissions
* and limitations under the License.
* -------------------------------------------------------------------
*/
#define IMPLEMENT_TextSampleModifiers
#include "textsamplemodifiers.h"
#include "atomutils.h"
#include "atomdefs.h"
typedef Oscl_Vector<TimedTextModifiers*, OsclMemAllocator> timedTextModifiersVecType;
typedef Oscl_Vector<StyleRecord*, OsclMemAllocator> styleRecordVecType;
TextStyleBox:: TextStyleBox(uint8 *buf) : Atom(buf)
{
_pparent = NULL;
_pStyleRecordVec = NULL;
if (_success)
{
PV_MP4_FF_NEW(fp->auditCB, styleRecordVecType, (), _pStyleRecordVec);
if (!AtomUtils::read16(buf, _entryCount))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
for (uint16 i = 0; i < _entryCount; i++)
{
StyleRecord *pStyleRecord = NULL;
PV_MP4_FF_NEW(fp->auditCB, StyleRecord, (buf), pStyleRecord);
if (!pStyleRecord->MP4Success())
{
_success = false;
_mp4ErrorCode = pStyleRecord->GetMP4Error();
return;
}
_pStyleRecordVec->push_back(pStyleRecord);
}
}
else
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
// Destructor
TextStyleBox::~TextStyleBox()
{
if (_pStyleRecordVec != NULL)
{
for (uint32 i = 0; i < _pStyleRecordVec->size(); i++)
{
PV_MP4_FF_DELETE(NULL, StyleRecord, (*_pStyleRecordVec)[i]);
}
PV_MP4_FF_TEMPLATED_DELETE(NULL, styleRecordVecType, Oscl_Vector, _pStyleRecordVec);
}
}
TextHighlightBox::TextHighlightBox(uint8 *buf) : Atom(buf)
{
_startCharOffset = 0;
_endCharOffset = 0;
if (_success)
{
if (!AtomUtils::read16(buf, _startCharOffset))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
if (!AtomUtils::read16(buf, _endCharOffset))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
else
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
TextHilightColorBox::TextHilightColorBox(uint8 *buf) : Atom(buf)
{
_pHighlightColorRGBA = NULL;
if (_success)
{
PV_MP4_FF_ARRAY_NEW(NULL, uint8, (4), _pHighlightColorRGBA);
if (!AtomUtils::readByteData(buf, 4, _pHighlightColorRGBA))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
else
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
TextHilightColorBox::~TextHilightColorBox()
{
if (_pHighlightColorRGBA != NULL)
{
PV_MP4_ARRAY_DELETE(NULL, _pHighlightColorRGBA);
}
}
TextKaraokeBox::TextKaraokeBox(uint8 *buf) : Atom(buf)
{
_pHighLightEndTimeVec = NULL;
_pStartCharOffsetVec = NULL;
_pEndCharOffsetVec = NULL;
if (_success)
{
if (!AtomUtils::read32(buf, _highLightStartTime))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
if (!AtomUtils::read16(buf, _entryCount))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
uint32 endTime;
uint16 startOffset;
uint16 endOffset;
if (_entryCount > 0)
{
PV_MP4_FF_ARRAY_NEW(NULL, uint32, (_entryCount), _pHighLightEndTimeVec);
PV_MP4_FF_ARRAY_NEW(NULL, uint16, (_entryCount), _pStartCharOffsetVec);
PV_MP4_FF_ARRAY_NEW(NULL, uint16, (_entryCount), _pEndCharOffsetVec);
for (uint16 i = 0; i < _entryCount; i++)
{
if (!AtomUtils::read32(buf, endTime))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
if (!AtomUtils::read16(buf, startOffset))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
if (!AtomUtils::read16(buf, endOffset))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
_pHighLightEndTimeVec[i] = endTime;
_pStartCharOffsetVec[i] = startOffset;
_pEndCharOffsetVec[i] = endOffset;
}
}
}
else
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
TextKaraokeBox::~TextKaraokeBox()
{
if (_pHighLightEndTimeVec != NULL)
{
PV_MP4_ARRAY_DELETE(NULL, _pHighLightEndTimeVec);
}
if (_pStartCharOffsetVec != NULL)
{
PV_MP4_ARRAY_DELETE(NULL, _pStartCharOffsetVec);
}
if (_pEndCharOffsetVec != NULL)
{
PV_MP4_ARRAY_DELETE(NULL, _pEndCharOffsetVec);
}
}
TextScrollDelay::TextScrollDelay(uint8 *buf) : Atom(buf)
{
if (_success)
{
if (!AtomUtils::read32(buf, _scrollDelay))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
else
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
TextHyperTextBox::TextHyperTextBox(uint8 *buf) : Atom(buf)
{
_startCharOffset = 0;
_endCharOffset = 0;
_urlLength = 0;
_pURL = NULL;
_altLength = 0;
_pAltString = NULL;
if (_success)
{
if (!AtomUtils::read16(buf, _startCharOffset))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
if (!AtomUtils::read16(buf, _endCharOffset))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
if (!AtomUtils::read8(buf, _urlLength))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
PV_MP4_FF_ARRAY_NEW(NULL, uint8, (_urlLength), _pURL);
if (!AtomUtils::readByteData(buf, _urlLength, _pURL))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
if (!AtomUtils::read8(buf, _altLength))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
PV_MP4_FF_ARRAY_NEW(NULL, uint8, (_altLength), _pAltString);
if (!AtomUtils::readByteData(buf, _altLength, _pAltString))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
else
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
TextHyperTextBox::~TextHyperTextBox()
{
if (_pURL != NULL)
{
PV_MP4_ARRAY_DELETE(NULL, _pURL);
}
if (_pAltString != NULL)
{
PV_MP4_ARRAY_DELETE(NULL, _pAltString);
}
}
TextBoxBox::TextBoxBox(uint8 *buf) : Atom(buf)
{
_pBoxRecord = NULL;
if (_success)
{
PV_MP4_FF_NEW(fp->auditCB, BoxRecord, (buf), _pBoxRecord);
if (!_pBoxRecord->MP4Success())
{
_success = false;
_mp4ErrorCode = _pBoxRecord->GetMP4Error();
return;
}
}
else
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
TextBoxBox::~TextBoxBox()
{
if (_pBoxRecord != NULL)
{
PV_MP4_FF_DELETE(NULL, BoxRecord, _pBoxRecord);
}
}
BlinkBox::BlinkBox(uint8 *buf) : Atom(buf)
{
if (_success)
{
if (!AtomUtils::read16(buf, _startCharOffset))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
if (!AtomUtils::read16(buf, _endCharOffset))
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
else
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
#define SUPPRESS__NOT_YET_IMPLEMENTED
TextSampleModifiers*
TextSampleModifiers::parseTextModifiers(uint8* buf, uint32 size)
{
TextSampleModifiers *pTextSampleModifiers = NULL;
#ifndef SUPPRESS__NOT_YET_IMPLEMENTED
PV_MP4_FF_NEW(fp->auditCB, TextSampleModifiers, (buf, size), pTextSampleModifiers);
if (!pTextSampleModifiers->MP4Success())
{
return NULL;
}
#else
OSCL_UNUSED_ARG(buf);
OSCL_UNUSED_ARG(size);
#endif
return (pTextSampleModifiers);
}
#ifndef SUPPRESS__NOT_YET_IMPLEMENTED
TextSampleModifiers:: TextSampleModifiers(uint8 *buf, uint32 size)
{
TimedTextModifiers *timedTextModifier = NULL;
timedTextModifier->value->_pBlinkBox = NULL;
timedTextModifier->value->_pTextBoxBox = NULL;
timedTextModifier->value->_pTextHighlightBox = NULL;
timedTextModifier->value->_pTextHilightColorBox = NULL;
timedTextModifier->value->_pTextHyperTextBox = NULL;
timedTextModifier->value->_pTextKaraokeBox = NULL;
timedTextModifier->value->_pTextScrollDelay = NULL;
timedTextModifier->value->_pTextStyleBox = NULL;
_success = true;
PV_MP4_FF_NEW(fp->auditCB, timedTextModifiersVecType, (), _pTimedTextModifiersVec);
if (_success)
{
uint32 count = 0;
uint32 atomType = AtomUtils::getNextAtomType(buf);
while (((atomType == TEXT_STYLE_BOX) ||
(atomType == TEXT_HIGHLIGHT_BOX) ||
(atomType == TEXT_HILIGHT_COLOR_BOX) ||
(atomType == TEXT_KARAOKE_BOX) ||
(atomType == TEXT_SCROLL_DELAY_BOX) ||
(atomType == TEXT_HYPER_TEXT_BOX) ||
(atomType == TEXT_OVER_RIDE_BOX) ||
(atomType == TEXT_BLINK_BOX)) &&
(count < size))
{
if (atomType == TEXT_STYLE_BOX)
{
TextStyleBox *pStyleBox = NULL;
PV_MP4_FF_NEW(fp->auditCB, TextStyleBox, (buf), pStyleBox);
if (!pStyleBox->MP4Success())
{
_success = false;
_mp4ErrorCode = pStyleBox->GetMP4Error();
PV_MP4_FF_DELETE(NULL, TextStyleBox, pStyleBox);
pStyleBox = NULL;
return;
}
timedTextModifier->value->_pTextStyleBox = pStyleBox;
timedTextModifier->type = TEXT_STYLE;
_pTimedTextModifiersVec->push_back(timedTextModifier);
count += pStyleBox->getSize();
buf += pStyleBox->getSize();
}
else if (atomType == TEXT_HIGHLIGHT_BOX)
{
TextHighlightBox *pHighlightBox = NULL;
PV_MP4_FF_NEW(fp->auditCB, TextHighlightBox, (buf), pHighlightBox);
if (!pHighlightBox->MP4Success())
{
_success = false;
_mp4ErrorCode = pHighlightBox->GetMP4Error();
PV_MP4_FF_DELETE(NULL, TextHighlightBox, pHighlightBox);
pHighlightBox = NULL;
return;
}
timedTextModifier->value->_pTextHighlightBox = pHighlightBox;
timedTextModifier->type = TEXT_HIGHLIGHT;
_pTimedTextModifiersVec->push_back(timedTextModifier);
count += pHighlightBox->getSize();
buf += pHighlightBox->getSize();
}
else if (atomType == TEXT_HILIGHT_COLOR_BOX)
{
if (timedTextModifier->value->_pTextHilightColorBox == NULL)
{
TextHilightColorBox *textHilightColorBox = NULL;
PV_MP4_FF_NEW(fp->auditCB, TextHilightColorBox, (buf), textHilightColorBox);
if (!textHilightColorBox->MP4Success())
{
_success = false;
_mp4ErrorCode = textHilightColorBox->GetMP4Error();
PV_MP4_FF_DELETE(NULL, TextHilightColorBox, textHilightColorBox);
textHilightColorBox = NULL;
return;
}
timedTextModifier->value->_pTextHilightColorBox = textHilightColorBox;
timedTextModifier->type = TEXT_WRAP;
_pTimedTextModifiersVec->push_back(timedTextModifier);
count += textHilightColorBox->getSize();
buf += textHilightColorBox->getSize();
}
else
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
else if (atomType == TEXT_KARAOKE_BOX)
{
TextKaraokeBox *pKaraokeBox = NULL;
PV_MP4_FF_NEW(fp->auditCB, TextKaraokeBox, (buf), pKaraokeBox);
if (!pKaraokeBox->MP4Success())
{
_success = false;
_mp4ErrorCode = pKaraokeBox->GetMP4Error();
PV_MP4_FF_DELETE(NULL, TextKaraokeBox, pKaraokeBox);
pKaraokeBox = NULL;
return;
}
timedTextModifier->value->_pTextKaraokeBox = pKaraokeBox;
timedTextModifier->type = TEXT_KARAOKE;
_pTimedTextModifiersVec->push_back(timedTextModifier);
count += pKaraokeBox->getSize();
buf += pKaraokeBox->getSize();
}
else if (atomType == TEXT_SCROLL_DELAY_BOX)
{
if (timedTextModifier->value->_pTextScrollDelay == NULL)
{
TextScrollDelay *textScrollDelay = NULL;
PV_MP4_FF_NEW(fp->auditCB, TextScrollDelay, (buf), textScrollDelay);
if (!textScrollDelay->MP4Success())
{
_success = false;
_mp4ErrorCode = textScrollDelay->GetMP4Error();
PV_MP4_FF_DELETE(NULL, TextScrollDelay, textScrollDelay);
textScrollDelay = NULL;
return;
}
timedTextModifier->value->_pTextScrollDelay = textScrollDelay;
timedTextModifier->type = TEXT_SCROLL_DELAY;
_pTimedTextModifiersVec->push_back(timedTextModifier);
count += textScrollDelay->getSize();
buf += textScrollDelay->getSize();
}
else
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
else if (atomType == TEXT_HYPER_TEXT_BOX)
{
TextHyperTextBox *pHyperTextBox = NULL;
PV_MP4_FF_NEW(fp->auditCB, TextHyperTextBox, (buf), pHyperTextBox);
if (!pHyperTextBox->MP4Success())
{
_success = false;
_mp4ErrorCode = pHyperTextBox->GetMP4Error();
PV_MP4_FF_DELETE(NULL, TextHyperTextBox, pHyperTextBox);
pHyperTextBox = NULL;
return;
}
timedTextModifier->value->_pTextHyperTextBox = pHyperTextBox;
timedTextModifier->type = TEXT_HYPERTEXT;
_pTimedTextModifiersVec->push_back(timedTextModifier);
count += pHyperTextBox->getSize();
buf += pHyperTextBox->getSize();
}
else if (atomType == TEXT_OVER_RIDE_BOX)
{
if (timedTextModifier->value->_pTextBoxBox == NULL)
{
TextBoxBox *textBoxBox = NULL;
PV_MP4_FF_NEW(fp->auditCB, TextBoxBox, (buf), textBoxBox);
if (!textBoxBox->MP4Success())
{
_success = false;
_mp4ErrorCode = textBoxBox->GetMP4Error();
PV_MP4_FF_DELETE(NULL, TextBoxBox, textBoxBox);
textBoxBox = NULL;
return;
}
timedTextModifier->value->_pTextBoxBox = textBoxBox;
timedTextModifier->type = TEXT_BOX;
_pTimedTextModifiersVec->push_back(timedTextModifier);
count += textBoxBox->getSize();
buf += textBoxBox->getSize();
}
else
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
else if (atomType == TEXT_BLINK_BOX)
{
BlinkBox *pBlinkBox = NULL;
PV_MP4_FF_NEW(fp->auditCB, BlinkBox, (buf), pBlinkBox);
if (!pBlinkBox->MP4Success())
{
_success = false;
_mp4ErrorCode = pBlinkBox->GetMP4Error();
PV_MP4_FF_DELETE(NULL, BlinkBox, pBlinkBox);
pBlinkBox = NULL;
return;
}
timedTextModifier->value->_pBlinkBox = pBlinkBox;
timedTextModifier->type = TEXT_BLINK;
_pTimedTextModifiersVec->push_back(timedTextModifier);
count += pBlinkBox->getSize();
buf += pBlinkBox->getSize();
}
atomType = AtomUtils::getNextAtomType(buf);
}
}
else
{
_success = false;
_mp4ErrorCode = READ_TEXT_SAMPLE_MODIFIERS_FAILED;
return;
}
}
TextSampleModifiers::~TextSampleModifiers()
{
if (_pTimedTextModifiersVec != NULL)
{
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
PV_MP4_FF_DELETE(NULL, TimedTextModifiers, (*_pTimedTextModifiersVec)[idx]);
}
}
PV_MP4_FF_TEMPLATED_DELETE(NULL, timedTextModifiersVecType, Oscl_Vector, _pTimedTextModifiersVec);
_pTimedTextModifiersVec = NULL;
}
int32 geTextSampleModifiers::tNumTextStyleBoxes()
{
int32 styleboxcount = 0;
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_STYLE)
styleboxcount++;
}
return (styleboxcount);
}
TextStyleBox* TextSampleModifiers::getTextStyleBoxAt(int32 index)
{
uint32 styleboxcount = 0;
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_STYLE)
styleboxcount++;
if (styleboxcount == (uint32)index)
return (*_pTimedTextModifiersVec)[index]->value->_pTextStyleBox;
}
if ((uint32)index > styleboxcount)
return NULL;
}
int32 TextSampleModifiers::getNumTextHighlightBoxes()
{
int32 texthighlightboxcount = 0;
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_HIGHLIGHT)
texthighlightboxcount++;
}
return (texthighlightboxcount);
}
TextHighlightBox* TextSampleModifiers::getTextHighlightBoxAt(int32 index)
{
uint32 texthighlightboxcount = 0;
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_HIGHLIGHT)
texthighlightboxcount++;
if (texthighlightboxcount == (uint32)index)
return (*_pTimedTextModifiersVec)[index]->value->_pTextHighlightBox;
}
if ((uint32)index > texthighlightboxcount)
return NULL;
}
int32 TextSampleModifiers::getNumTextKaraokeBoxes()
{
int32 textkoraokboxcount = 0;
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_KARAOKE)
textkoraokboxcount ++;
}
return (textkoraokboxcount);
}
TextKaraokeBox* TextSampleModifiers::getTextKaraokeBoxAt(int32 index)
{
uint32 textkoraokboxcount = 0;
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_KARAOKE)
textkoraokboxcount++;
if (textkoraokboxcount == (uint32)index)
return (*_pTimedTextModifiersVec)[index]->value->_pTextKaraokeBox;
}
if ((uint32)index > textkoraokboxcount)
return NULL;
}
int32 TextSampleModifiers::getNumTextHyperTextBoxes()
{
int32 texthypertextboxcount = 0;
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_HYPERTEXT)
texthypertextboxcount ++;
}
return (texthypertextboxcount);
}
TextHyperTextBox* TextSampleModifiers::getTextHyperTextBoxAt(int32 index)
{
uint32 texthypertextboxcount = 0;
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_HYPERTEXT)
texthypertextboxcount++;
if (texthypertextboxcount == (uint32)index)
return (*_pTimedTextModifiersVec)[index]->value->_pTextHyperTextBox;
}
if ((uint32)index > texthypertextboxcount)
return NULL;
}
int32 TextSampleModifiers::getNumTextBlinkBoxes()
{
int32 textblinkboxcount = 0;
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_BLINK)
textblinkboxcount ++;
}
return (textblinkboxcount);
}
BlinkBox* TextSampleModifiers::getTextBlinkBoxAt(int32 index)
{
uint32 textblinkboxcount = 0;
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_BLINK)
textblinkboxcount++;
if (textblinkboxcount == (uint32)index)
return (*_pTimedTextModifiersVec)[index]->value->_pBlinkBox;
}
if ((uint32)index > textblinkboxcount)
return NULL;
}
TextHilightColorBox* TextSampleModifiers::getTextHilightColorBox()
{
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_WRAP)
{
return (*_pTimedTextModifiersVec)[idx]->value->_pTextHilightColorBox;
}
}
return NULL;
}
TextScrollDelay* TextSampleModifiers::getTextScrollDelayBox();
{
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_SCROLL_DELAY)
{
return (*_pTimedTextModifiersVec)[idx]->value->_pTextScrollDelay;
}
}
return NULL;
}
TextBoxBox* TextSampleModifiers::getTextOverideBox()
{
for (uint32 idx = 0; idx < _pTimedTextModifiersVec->size(); idx++)
{
if ((*_pTimedTextModifiersVec)[idx]->type == TEXT_BOX)
{
return (*_pTimedTextModifiersVec)[idx]->value->_pTextBoxBox;
}
}
return NULL;
}
#endif // SUPPRESS__NOT_YET_IMPLEMENTED