本文整理汇总了C++中GraphicsLayerChromium::layerForParent方法的典型用法代码示例。如果您正苦于以下问题:C++ GraphicsLayerChromium::layerForParent方法的具体用法?C++ GraphicsLayerChromium::layerForParent怎么用?C++ GraphicsLayerChromium::layerForParent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GraphicsLayerChromium
的用法示例。
在下文中一共展示了GraphicsLayerChromium::layerForParent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateChildList
void GraphicsLayerChromium::updateChildList()
{
Vector<WebLayer> newChildren;
if (!m_transformLayer.isNull()) {
// Add the primary layer first. Even if we have negative z-order children, the primary layer always comes behind.
newChildren.append(m_layer);
} else if (!m_contentsLayer.isNull()) {
// FIXME: add the contents layer in the correct order with negative z-order children.
// This does not cause visible rendering issues because currently contents layers are only used
// for replaced elements that don't have children.
newChildren.append(m_contentsLayer);
}
const Vector<GraphicsLayer*>& childLayers = children();
size_t numChildren = childLayers.size();
for (size_t i = 0; i < numChildren; ++i) {
GraphicsLayerChromium* curChild = static_cast<GraphicsLayerChromium*>(childLayers[i]);
newChildren.append(curChild->layerForParent());
}
if (m_linkHighlight)
newChildren.append(m_linkHighlight->contentLayer());
for (size_t i = 0; i < newChildren.size(); ++i)
newChildren[i].removeFromParent();
WebVector<WebLayer> newWebChildren;
newWebChildren.assign(newChildren.data(), newChildren.size());
if (!m_transformLayer.isNull()) {
m_transformLayer.setChildren(newWebChildren);
if (!m_contentsLayer.isNull()) {
// If we have a transform layer, then the contents layer is parented in the
// primary layer (which is itself a child of the transform layer).
m_layer.removeAllChildren();
m_layer.addChild(m_contentsLayer);
}
} else
m_layer.setChildren(newWebChildren);
}