本文整理汇总了C++中LayoutObject::isColumnSpanAll方法的典型用法代码示例。如果您正苦于以下问题:C++ LayoutObject::isColumnSpanAll方法的具体用法?C++ LayoutObject::isColumnSpanAll怎么用?C++ LayoutObject::isColumnSpanAll使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LayoutObject
的用法示例。
在下文中一共展示了LayoutObject::isColumnSpanAll方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: previousInPreOrderSkippingOutOfFlow
// Find the previous layout object that has the multicol container in its containing block chain, skipping nested multicol containers.
static LayoutObject* previousInPreOrderSkippingOutOfFlow(LayoutMultiColumnFlowThread* flowThread, LayoutObject* descendant)
{
ASSERT(descendant->isDescendantOf(flowThread));
LayoutObject* object = descendant->previousInPreOrder(flowThread);
while (object && object != flowThread) {
if (object->isColumnSpanAll()) {
LayoutMultiColumnFlowThread* placeholderFlowThread = toLayoutBox(object)->spannerPlaceholder()->flowThread();
if (placeholderFlowThread == flowThread)
break;
// We're inside an inner multicol container. We have no business there. Continue on the outside.
object = placeholderFlowThread->parent();
ASSERT(object->isDescendantOf(flowThread));
continue;
}
if (object->flowThreadContainingBlock() == flowThread) {
LayoutObject* ancestor;
for (ancestor = object->parent(); ; ancestor = ancestor->parent()) {
if (ancestor == flowThread)
return object;
if (isMultiColumnContainer(*ancestor)) {
// We're inside an inner multicol container. We have no business there.
break;
}
}
object = ancestor;
ASSERT(ancestor->isDescendantOf(flowThread));
continue; // Continue on the outside of the inner flow thread.
}
// We're inside something that's out-of-flow. Keep looking upwards and backwards in the tree.
object = object->previousInPreOrder(flowThread);
}
if (!object || object == flowThread)
return nullptr;
#if ENABLE(ASSERT)
// Make sure that we didn't stumble into an inner multicol container.
for (LayoutObject* walker = object->parent(); walker && walker != flowThread; walker = walker->parent())
ASSERT(!isMultiColumnContainer(*walker));
#endif
return object;
}