本文整理汇总了C++中GraphicsLayerChromium::layerForSuperlayer方法的典型用法代码示例。如果您正苦于以下问题:C++ GraphicsLayerChromium::layerForSuperlayer方法的具体用法?C++ GraphicsLayerChromium::layerForSuperlayer怎么用?C++ GraphicsLayerChromium::layerForSuperlayer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GraphicsLayerChromium
的用法示例。
在下文中一共展示了GraphicsLayerChromium::layerForSuperlayer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateSublayerList
void GraphicsLayerChromium::updateSublayerList()
{
Vector<RefPtr<LayerChromium> > newSublayers;
if (m_transformLayer) {
// Add the primary layer first. Even if we have negative z-order children, the primary layer always comes behind.
newSublayers.append(m_layer.get());
} else if (m_contentsLayer) {
// 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.
newSublayers.append(m_contentsLayer.get());
}
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]);
LayerChromium* childLayer = curChild->layerForSuperlayer();
newSublayers.append(childLayer);
}
for (size_t i = 0; i < newSublayers.size(); ++i)
newSublayers[i]->removeFromSuperlayer();
if (m_transformLayer) {
m_transformLayer->setSublayers(newSublayers);
if (m_contentsLayer) {
// 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->removeAllSublayers();
m_layer->addSublayer(m_contentsLayer);
}
} else
m_layer->setSublayers(newSublayers);
}