本文整理汇总了C++中ObjectItem::getFrameData方法的典型用法代码示例。如果您正苦于以下问题:C++ ObjectItem::getFrameData方法的具体用法?C++ ObjectItem::getFrameData怎么用?C++ ObjectItem::getFrameData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObjectItem
的用法示例。
在下文中一共展示了ObjectItem::getFrameData方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: jumpEndFrame
void AnimationForm::jumpEndFrame()
{
CObjectModel *pModel = m_pEditData->getObjectModel() ;
QModelIndex index = m_pEditData->getSelIndex() ;
if ( !pModel->isLayer(index) ) { return ; }
ObjectItem *pItem = pModel->getItemFromIndex(index) ;
if ( !pItem ) { return ; }
int maxFrame = -1 ;
const QList<FrameData> &datas = pItem->getFrameData() ;
for ( int i = 0 ; i < datas.size() ; i ++ ) {
if ( maxFrame < datas.at(i).frame ) {
maxFrame = datas.at(i).frame ;
}
}
if ( !pItem->getFrameDataPtr(maxFrame) ) { return ; }
slot_frameChanged(maxFrame) ;
}
示例2: drawLayer
void DataMarkerLabel::drawLayer(const QModelIndex &index, QPainter &painter, const QModelIndex selIndex, QList<int> &frames)
{
if (!index.isValid())
{
return;
}
ObjectItem *pItem = m_pEditData->getObjectModel()->getItemFromIndex(index);
if (!pItem)
{
return;
}
bool bMine = false;
if (selIndex.isValid() && index == selIndex)
{
bMine = true;
}
const QList<FrameData> &datas = pItem->getFrameData();
for (int i = 0; i < datas.size(); i++)
{
const FrameData data = datas.at(i);
if (data.frame < m_frameStart || data.frame > m_frameEnd)
{
continue;
}
int x0 = getX(data.frame);
int x1 = getX(data.frame + 1);
if (x1 < 0)
{
continue;
}
if (bMine)
{
if (m_pressFrame == data.frame)
{
continue;
}
painter.fillRect(x0, 0, x1 - x0, height() / 3, QColor(255, 0, 0, 128));
}
else
{
if (frames.indexOf(data.frame) >= 0)
{
continue;
}
frames.append(data.frame);
QColor col = QColor(0, 0, 255, 128);
if (m_pEditData->getObjectModel()->isObject(m_pEditData->getSelIndex()))
{
col.setRed(255);
}
painter.fillRect(x0, height() / 3, x1 - x0, height() / 3, col);
}
}
for (int i = 0; i < pItem->childCount(); i++)
{
QModelIndex child = m_pEditData->getObjectModel()->index(i, 0, index);
drawLayer(child, painter, selIndex, frames);
}
}