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


C++ NodeAttribute::PostDynCreateInit方法代码示例

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


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

示例1: PostBlendInit

// Required for all GLA's
// NB must only be called on attrmaps with copied attributes
// DO NOT CALL on maps with 'live' attributes - ie pointers to attrs in the tree
// (eg a mpa made by MakeAppliedAttrMap(pInk))
void CCAttrMap::PostBlendInit(Path* pPath, CCRuntimeClass* pCreatorClass)
{
	INT32 curr = 0;

	// NB this function is called on a Blended attr map
	// The Blend() function should return false if it doesn't want to be in the blended attr map
	// ie default GLAs shouldn't be in here!

	do
	{
		CCRuntimeClass *pType = (CCRuntimeClass *)GeometryLinkedAttributeClasses[curr];
		void		   *pVal;
				
		if( Lookup( pType, pVal ) )
		{
			if (pVal != NULL)
			{
				NodeAttribute * pAttr = (NodeAttribute *)pVal;

				// call the attributes routine to initialise itself
				if(!pAttr->PostDynCreateInit(this, pPath, pCreatorClass))
				{
					// make sure the node is not going to try and render itself
					TRACEUSER( "Ilan", wxT("Dynamically created attribute failed to post init itself. Removing attribute from map.\n") );
					// NB map must contain copied attrs
					RemoveKey( pType );
					// Must cast to NodeAttribute before deleting, otherwise wrong destructor gets called
					delete (NodeAttribute*)pVal;
				}
			}
		}

		curr++;
	}
	while(curr<NumGLAs);
}
开发者ID:Amadiro,项目名称:xara-cairo,代码行数:40,代码来源:attrmap.cpp


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