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


C++ PropertyNameList::begin方法代码示例

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


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

示例1: DirtyProperties

// Sets a list of properties as dirty.
void ElementStyle::DirtyProperties(const PropertyNameList& properties)
{
	if (properties.empty())
		return;

	PropertyNameList inherited_properties;
	for (PropertyNameList::const_iterator i = properties.begin(); i != properties.end(); ++i)
	{
		// If this property is an inherited property, then push it into the list to be passed onto our children.
		const PropertyDefinition* property = StyleSheetSpecification::GetProperty(*i);
		if (property != NULL &&
			property->IsInherited())
			inherited_properties.insert(*i);
	}

	// Pass the list of those properties that are inherited onto our children.
	if (!inherited_properties.empty())
	{
		for (int i = 0; i < element->GetNumChildren(true); i++)
			element->GetChild(i)->GetStyle()->DirtyInheritedProperties(inherited_properties);
	}

	// And send the event.
	element->OnPropertyChange(properties);
}
开发者ID:ABuus,项目名称:RuntimeCompiledCPlusPlus,代码行数:26,代码来源:ElementStyle.cpp

示例2: DirtyEmProperties

// Dirties em-relative properties.
void ElementStyle::DirtyEmProperties()
{
	PropertyNameList properties;
	StyleSheetSpecification::GetRegisteredProperties(properties);

	// Check if any of these are currently em-relative. If so, dirty them.
	PropertyNameList em_properties;
	for (PropertyNameList::iterator list_iterator = properties.begin(); list_iterator != properties.end(); ++list_iterator)
	{
		// Skip font-size; this is relative to our parent's em, not ours.
		if (*list_iterator == FONT_SIZE)
			continue;

		// Get this element from this element. If this is em-relative, then add it to the list to
		// dirty.
		if (element->GetProperty(*list_iterator)->unit == Property::EM)
			em_properties.insert(*list_iterator);
	}

	if (!em_properties.empty())
		DirtyProperties(em_properties);

	// Now dirty all of our descendant's font-size properties that are relative to ems.
	int num_children = element->GetNumChildren(true);
	for (int i = 0; i < num_children; ++i)
		element->GetChild(i)->GetStyle()->DirtyInheritedEmProperties();
}
开发者ID:ABuus,项目名称:RuntimeCompiledCPlusPlus,代码行数:28,代码来源:ElementStyle.cpp

示例3: DirtyProperties

// Sets a list of properties as dirty.
void ElementStyle::DirtyProperties(const PropertyNameList& properties, bool clear_em_properties)
{
	if (properties.empty())
		return;

	bool all_inherited_dirty = 
		StyleSheetSpecification::GetRegisteredProperties() == properties ||
		StyleSheetSpecification::GetRegisteredInheritedProperties() == properties;

	if (all_inherited_dirty)
	{
		const PropertyNameList &all_inherited_properties = StyleSheetSpecification::GetRegisteredInheritedProperties();
		for (int i = 0; i < element->GetNumChildren(true); i++)
			element->GetChild(i)->GetStyle()->DirtyInheritedProperties(all_inherited_properties);

		// Clear all cached properties.
		cache->Clear();
	}
	else
	{
		PropertyNameList inherited_properties;

		for (PropertyNameList::const_iterator i = properties.begin(); i != properties.end(); ++i)
		{
			// If this property is an inherited property, then push it into the list to be passed onto our children.
			const PropertyDefinition* property = StyleSheetSpecification::GetProperty(*i);
			if (property != NULL &&
				property->IsInherited())
				inherited_properties.insert(*i);
		}

		// Pass the list of those properties that are inherited onto our children.
		if (!inherited_properties.empty())
		{
			for (int i = 0; i < element->GetNumChildren(true); i++)
				element->GetChild(i)->GetStyle()->DirtyInheritedProperties(inherited_properties);
		}

		// Clear cached properties.
		cache->Clear();
	}

	// clear the list of EM-properties, we will refill it in DirtyEmProperties
	if (clear_em_properties && em_properties != NULL)
	{
		delete em_properties;
		em_properties = NULL;
	}

	// And send the event.
	element->OnPropertyChange(properties);
}
开发者ID:Gambini,项目名称:libRocket,代码行数:53,代码来源:ElementStyle.cpp

示例4: DirtyInheritedProperties

// Sets a list of our potentially inherited properties as dirtied by an ancestor.
void ElementStyle::DirtyInheritedProperties(const PropertyNameList& properties)
{
	PropertyNameList inherited_properties;
	for (PropertyNameList::const_iterator i = properties.begin(); i != properties.end(); ++i)
	{
		if (GetLocalProperty((*i)) == NULL)
			inherited_properties.insert(*i);
	}

	if (inherited_properties.empty())
		return;

	// Pass the list of those properties that this element doesn't override onto our children.
	for (int i = 0; i < element->GetNumChildren(true); i++)
		element->GetChild(i)->GetStyle()->DirtyInheritedProperties(inherited_properties);

	element->OnPropertyChange(properties);
}
开发者ID:ABuus,项目名称:RuntimeCompiledCPlusPlus,代码行数:19,代码来源:ElementStyle.cpp

示例5: DirtyInheritedProperties

// Sets a list of our potentially inherited properties as dirtied by an ancestor.
void ElementStyle::DirtyInheritedProperties(const PropertyNameList& properties)
{
	bool clear_em_properties = em_properties != NULL;

	PropertyNameList inherited_properties;
	for (PropertyNameList::const_iterator i = properties.begin(); i != properties.end(); ++i)
	{
		const Property *property = GetLocalProperty((*i));
		if (property == NULL)
		{
			inherited_properties.insert(*i);
			if (!clear_em_properties && em_properties != NULL && em_properties->find((*i)) != em_properties->end()) {
				clear_em_properties = true;
			}
		}
	}

	if (inherited_properties.empty())
		return;

	// clear the list of EM-properties, we will refill it in DirtyEmProperties
	if (clear_em_properties && em_properties != NULL)
	{
		delete em_properties;
		em_properties = NULL;
	}

	// Clear cached inherited properties.
	cache->ClearInherited();

	// Pass the list of those properties that this element doesn't override onto our children.
	for (int i = 0; i < element->GetNumChildren(true); i++)
		element->GetChild(i)->GetStyle()->DirtyInheritedProperties(inherited_properties);

	element->OnPropertyChange(properties);
}
开发者ID:Gambini,项目名称:libRocket,代码行数:37,代码来源:ElementStyle.cpp


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