本文整理汇总了C++中HTMLOListElement::isReversed方法的典型用法代码示例。如果您正苦于以下问题:C++ HTMLOListElement::isReversed方法的具体用法?C++ HTMLOListElement::isReversed怎么用?C++ HTMLOListElement::isReversed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HTMLOListElement
的用法示例。
在下文中一共展示了HTMLOListElement::isReversed方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateListMarkerNumbers
void RenderListItem::updateListMarkerNumbers()
{
// If distribution recalc is needed, updateListMarkerNumber will be re-invoked
// after distribution is calculated.
if (node()->document().childNeedsDistributionRecalc())
return;
Node* listNode = enclosingList(this);
ASSERT(listNode);
bool isListReversed = false;
HTMLOListElement* oListElement = isHTMLOListElement(listNode) ? toHTMLOListElement(listNode) : 0;
if (oListElement) {
oListElement->itemCountChanged();
isListReversed = oListElement->isReversed();
}
// FIXME: The n^2 protection below doesn't help if the elements were inserted after the
// the list had already been displayed.
// Avoid an O(n^2) walk over the children below when they're all known to be attaching.
if (listNode->needsAttach())
return;
for (RenderListItem* item = previousOrNextItem(isListReversed, listNode, this); item; item = previousOrNextItem(isListReversed, listNode, item)) {
if (!item->m_isValueUpToDate) {
// If an item has been marked for update before, we can safely
// assume that all the following ones have too.
// This gives us the opportunity to stop here and avoid
// marking the same nodes again.
break;
}
item->updateValue();
}
}
示例2: updateListMarkerNumbers
void RenderListItem::updateListMarkerNumbers()
{
Node* listNode = enclosingList(this);
// The list node can be the shadow root which has no renderer.
ASSERT(listNode);
if (!listNode)
return;
bool isListReversed = false;
HTMLOListElement* oListElement = (listNode && listNode->hasTagName(olTag)) ? toHTMLOListElement(listNode) : 0;
if (oListElement) {
oListElement->itemCountChanged();
isListReversed = oListElement->isReversed();
}
for (RenderListItem* item = previousOrNextItem(isListReversed, listNode, this); item; item = previousOrNextItem(isListReversed, listNode, item)) {
if (!item->m_isValueUpToDate) {
// If an item has been marked for update before, we can safely
// assume that all the following ones have too.
// This gives us the opportunity to stop here and avoid
// marking the same nodes again.
break;
}
item->updateValue();
}
}
示例3: updateListMarkerNumbers
void RenderListItem::updateListMarkerNumbers()
{
// If distribution recalc is needed, updateListMarkerNumber will be re-invoked
// after distribution is calculated.
if (node()->document().childNeedsDistributionRecalc())
return;
Node* listNode = enclosingList(this);
// The list node can be the shadow root which has no renderer.
ASSERT(listNode);
if (!listNode)
return;
bool isListReversed = false;
HTMLOListElement* oListElement = isHTMLOListElement(listNode) ? toHTMLOListElement(listNode) : 0;
if (oListElement) {
oListElement->itemCountChanged();
isListReversed = oListElement->isReversed();
}
for (RenderListItem* item = previousOrNextItem(isListReversed, listNode, this); item; item = previousOrNextItem(isListReversed, listNode, item)) {
if (!item->m_isValueUpToDate) {
// If an item has been marked for update before, we can safely
// assume that all the following ones have too.
// This gives us the opportunity to stop here and avoid
// marking the same nodes again.
break;
}
item->updateValue();
}
}
示例4: calcValue
inline int RenderListItem::calcValue() const
{
if (m_hasExplicitValue)
return m_explicitValue;
Node* list = enclosingList(this);
HTMLOListElement* oListElement = isHTMLOListElement(list) ? toHTMLOListElement(list) : 0;
int valueStep = 1;
if (oListElement && oListElement->isReversed())
valueStep = -1;
// FIXME: This recurses to a possible depth of the length of the list.
// That's not good -- we need to change this to an iterative algorithm.
if (RenderListItem* previousItem = previousListItem(list, this))
return previousItem->value() + valueStep;
if (oListElement)
return oListElement->start();
return 1;
}
示例5: calcValue
inline int RenderListItem::calcValue() const
{
if (m_hasExplicitValue)
return m_explicitValue;
Node* list = enclosingList(this);
RenderObject* listRenderer = list ? list->renderer() : 0;
HTMLOListElement* oListElement = (list && list->hasTagName(olTag)) ? static_cast<HTMLOListElement*>(list) : 0;
int valueStep = 1;
if (oListElement && oListElement->isReversed())
valueStep = -1;
// FIXME: This recurses to a possible depth of the length of the list.
// That's not good -- we need to change this to an iterative algorithm.
if (RenderListItem* previousItem = previousListItem(listRenderer, this))
return previousItem->value() + valueStep;
if (oListElement)
return oListElement->start();
return 1;
}