本文整理汇总了C++中PropertyNameList::find方法的典型用法代码示例。如果您正苦于以下问题:C++ PropertyNameList::find方法的具体用法?C++ PropertyNameList::find怎么用?C++ PropertyNameList::find使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PropertyNameList
的用法示例。
在下文中一共展示了PropertyNameList::find方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnPropertyChange
void ElementImage::OnPropertyChange(const PropertyNameList& changed_properties)
{
Element::OnPropertyChange(changed_properties);
if (changed_properties.find(BACKGROUND_COLOR) != changed_properties.end() ||
changed_properties.find(OPACITY) != changed_properties.end()) {
GenerateGeometry();
}
}
示例2: OnPropertyChange
// Repositions the document if necessary.
void ElementDocument::OnPropertyChange(const PropertyNameList& changed_properties)
{
Element::OnPropertyChange(changed_properties);
if (changed_properties.find(TOP) != changed_properties.end() ||
changed_properties.find(RIGHT) != changed_properties.end() ||
changed_properties.find(BOTTOM) != changed_properties.end() ||
changed_properties.find(LEFT) != changed_properties.end())
UpdatePosition();
}
示例3: OnAttributeChange
void ElementHandle::OnAttributeChange(const PropertyNameList& changed_attributes)
{
Element::OnAttributeChange(changed_attributes);
// Reset initialised state if the move or size targets have changed.
if (changed_attributes.find("move_target") != changed_attributes.end() ||
changed_attributes.find("size_target") != changed_attributes.end())
{
initialised = false;
move_target = NULL;
size_target = NULL;
}
}
示例4: OnPropertyChange
// Repositions the document if necessary.
void ElementDocument::OnPropertyChange(const PropertyNameList& changed_properties)
{
Element::OnPropertyChange(changed_properties);
// If the document's font-size has been changed, we need to dirty all rem properties.
if (changed_properties.find(FONT_SIZE) != changed_properties.end())
GetStyle()->DirtyRemProperties();
if (changed_properties.find(TOP) != changed_properties.end() ||
changed_properties.find(RIGHT) != changed_properties.end() ||
changed_properties.find(BOTTOM) != changed_properties.end() ||
changed_properties.find(LEFT) != changed_properties.end())
UpdatePosition();
}
示例5: GetDefinedProperties
// Returns the list of properties this element definition defines for an element with the given set of pseudo-classes.
void ElementDefinition::GetDefinedProperties(PropertyNameList& property_names, const PseudoClassList& pseudo_classes) const
{
for (PropertyMap::const_iterator i = properties.GetProperties().begin(); i != properties.GetProperties().end(); ++i)
property_names.insert((*i).first);
for (PseudoClassPropertyDictionary::const_iterator i = pseudo_class_properties.begin(); i != pseudo_class_properties.end(); ++i)
{
// If this property is already in the default dictionary, don't bother checking for it here.
if (property_names.find((*i).first) != property_names.end())
continue;
const PseudoClassPropertyList& property_list = (*i).second;
// Search through all the pseudo-class combinations that have a definition for this property; if the calling
// element matches at least one of them, then add it to the list.
bool property_defined = false;
for (size_t j = 0; j < property_list.size(); ++j)
{
if (IsPseudoClassRuleApplicable(property_list[j].first, pseudo_classes))
{
property_defined = true;
break;
}
}
if (property_defined)
property_names.insert((*i).first);
}
}
示例6: OnPropertyChange
// called when element properites are changed
void ElementImage::OnPropertyChange(const PropertyNameList& changed_properties)
{
Rocket::Core::Element::OnPropertyChange(changed_properties);
// Check if color property has been changed.
if (changed_properties.find(COLOR) != changed_properties.end() )
{
geometry_dirty = true;
}
// Check if opacity has been changed
if (changed_properties.find(OPACITY) != changed_properties.end() )
{
geometry_dirty = true;
}
}
示例7: OnPropertyChange
void ElementTextDefault::OnPropertyChange(const PropertyNameList& changed_properties)
{
Element::OnPropertyChange(changed_properties);
bool colour_changed = false;
bool font_face_changed = false;
if (changed_properties.find(COLOR) != changed_properties.end())
{
// Fetch our (potentially) new colour.
Colourb new_colour = GetProperty(COLOR)->value.Get< Colourb >();
colour_changed = colour != new_colour;
if (colour_changed)
colour = new_colour;
}
if (changed_properties.find(FONT_FAMILY) != changed_properties.end() ||
changed_properties.find(FONT_CHARSET) != changed_properties.end() ||
changed_properties.find(FONT_WEIGHT) != changed_properties.end() ||
changed_properties.find(FONT_STYLE) != changed_properties.end() ||
changed_properties.find(FONT_SIZE) != changed_properties.end())
{
font_face_changed = true;
geometry.clear();
font_dirty = true;
}
if (changed_properties.find(TEXT_DECORATION) != changed_properties.end())
{
decoration_property = GetProperty< int >(TEXT_DECORATION);
if (decoration_property != TEXT_DECORATION_NONE)
{
if (decoration_property != generated_decoration)
{
decoration.Release(true);
FontFaceHandle* font_face_handle = GetFontFaceHandle();
if (font_face_handle != NULL)
{
for (size_t i = 0; i < lines.size(); ++i)
GenerateDecoration(font_face_handle, lines[i]);
}
generated_decoration = decoration_property;
}
}
}
if (font_face_changed)
{
// We have to let our document know we need to be regenerated.
if (dirty_layout_on_change)
DirtyLayout();
}
else if (colour_changed)
{
// Force the geometry to be regenerated.
geometry_dirty = true;
// Re-colour the decoration geometry.
Container::vector< Vertex >::Type& vertices = decoration.GetVertices();
for (size_t i = 0; i < vertices.size(); ++i)
vertices[i].colour = colour;
decoration.Release();
}
}