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


C++ ObjectBase::drawPrev方法代码示例

本文整理汇总了C++中ObjectBase::drawPrev方法的典型用法代码示例。如果您正苦于以下问题:C++ ObjectBase::drawPrev方法的具体用法?C++ ObjectBase::drawPrev怎么用?C++ ObjectBase::drawPrev使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ObjectBase的用法示例。


在下文中一共展示了ObjectBase::drawPrev方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: UnLink

//=============================================================================
// リンク解除
//=============================================================================
void DrawList::UnLink(ObjectBase* object)
{
	// 存在チェック
	if(object->drawList(m_shaderPatternId) == nullptr)
		return;

	ObjectBase*	prev	 = object->drawPrev(m_shaderPatternId);
	ObjectBase*	next	 = object->drawNext(m_shaderPatternId);
	int			priority = object->priority(m_shaderPatternId);

	//----------------------------
	// 前オブジェクトの再設定
	//----------------------------
	object->drawPrev(m_shaderPatternId, nullptr);
	if(prev != nullptr)
	{
		// 前オブジェクトに次オブジェクトを連結
		prev->drawNext(m_shaderPatternId, next);
	}
	else
	{
		// 先頭オブジェクトを変更
		m_top[priority] = next;

		if(m_top[priority] != nullptr)
			// 先頭の前をnullptrに
			m_top[priority]->drawPrev(m_shaderPatternId, nullptr);
	}

	//----------------------------
	// 次オブジェクトの再設定
	//----------------------------
	object->drawNext(m_shaderPatternId, nullptr);
	if(next != nullptr)
	{
		// 次オブジェクトに前オブジェクトを連結
		next->drawPrev(m_shaderPatternId, prev);
	}
	else
	{
		// 終端オブジェクトを変更
		m_end[priority] = prev;

		if(m_end[priority] != nullptr)
			// 終端をnullptrに
			m_end[priority]->drawNext(m_shaderPatternId, nullptr);
	}

	//----------------------------
	// 描画リストを解除
	//----------------------------
	object->drawList(nullptr, m_shaderPatternId);
}
开发者ID:tnbmi,项目名称:ms_project,代码行数:56,代码来源:drawList.cpp


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