当前位置: 首页>>代码示例>>C++>>正文


C++ ObjectItem::getFrameData方法代码示例

本文整理汇总了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) ;
}
开发者ID:moximoxi,项目名称:AnimationCreator,代码行数:19,代码来源:animationform.cpp

示例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);
    }
}
开发者ID:chocoball,项目名称:AnimationCreator,代码行数:66,代码来源:datamarkerlabel.cpp


注:本文中的ObjectItem::getFrameData方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。