本文整理汇总了C++中CounterNode::previousSibling方法的典型用法代码示例。如果您正苦于以下问题:C++ CounterNode::previousSibling方法的具体用法?C++ CounterNode::previousSibling怎么用?C++ CounterNode::previousSibling使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CounterNode
的用法示例。
在下文中一共展示了CounterNode::previousSibling方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateCounters
static void updateCounters(RenderObject* renderer)
{
ASSERT(renderer->style());
const CounterDirectiveMap* directiveMap = renderer->style()->counterDirectives();
if (!directiveMap)
return;
CounterDirectiveMap::const_iterator end = directiveMap->end();
if (!renderer->m_hasCounterNodeMap) {
for (CounterDirectiveMap::const_iterator it = directiveMap->begin(); it != end; ++it)
makeCounterNode(renderer, AtomicString(it->first.get()), false);
return;
}
CounterMap* counterMap = counterMaps().get(renderer);
ASSERT(counterMap);
for (CounterDirectiveMap::const_iterator it = directiveMap->begin(); it != end; ++it) {
CounterNode* node = counterMap->get(it->first.get());
if (!node) {
makeCounterNode(renderer, AtomicString(it->first.get()), false);
continue;
}
CounterNode* newParent = 0;
CounterNode* newPreviousSibling;
findPlaceForCounter(renderer, AtomicString(it->first.get()), node->hasResetType(), newParent, newPreviousSibling);
CounterNode* parent = node->parent();
if (newParent == parent && newPreviousSibling == node->previousSibling())
continue;
if (parent)
parent->removeChild(node, it->first.get());
if (newParent)
newParent->insertAfter(node, newPreviousSibling, it->first.get());
}
}