本文整理汇总了C++中ScrollingStateNode::layer方法的典型用法代码示例。如果您正苦于以下问题:C++ ScrollingStateNode::layer方法的具体用法?C++ ScrollingStateNode::layer怎么用?C++ ScrollingStateNode::layer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ScrollingStateNode
的用法示例。
在下文中一共展示了ScrollingStateNode::layer方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: connectStateNodeLayers
void RemoteScrollingCoordinatorProxy::connectStateNodeLayers(ScrollingStateTree& stateTree, const RemoteLayerTreeHost& layerTreeHost)
{
for (auto it : stateTree.nodeMap()) {
ScrollingStateNode* currNode = it.value;
switch (currNode->nodeType()) {
case ScrollingNode: {
ScrollingStateScrollingNode* scrollingStateNode = toScrollingStateScrollingNode(currNode);
if (scrollingStateNode->hasChangedProperty(ScrollingStateNode::ScrollLayer))
scrollingStateNode->setLayer(layerTreeHost.getLayer(scrollingStateNode->layer()));
if (scrollingStateNode->hasChangedProperty(ScrollingStateScrollingNode::CounterScrollingLayer))
scrollingStateNode->setCounterScrollingLayer(layerTreeHost.getLayer(scrollingStateNode->counterScrollingLayer()));
// FIXME: we should never have header and footer layers coming from the WebProcess.
if (scrollingStateNode->hasChangedProperty(ScrollingStateScrollingNode::HeaderLayer))
scrollingStateNode->setHeaderLayer(layerTreeHost.getLayer(scrollingStateNode->headerLayer()));
if (scrollingStateNode->hasChangedProperty(ScrollingStateScrollingNode::FooterLayer))
scrollingStateNode->setFooterLayer(layerTreeHost.getLayer(scrollingStateNode->footerLayer()));
break;
}
case FixedNode:
if (currNode->hasChangedProperty(ScrollingStateNode::ScrollLayer))
currNode->setLayer(layerTreeHost.getLayer(currNode->layer()));
break;
case StickyNode:
if (currNode->hasChangedProperty(ScrollingStateNode::ScrollLayer))
currNode->setLayer(layerTreeHost.getLayer(currNode->layer()));
break;
}
}
}
示例2: detachFromStateTree
void ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree(ScrollingNodeID nodeID)
{
ScrollingStateNode* node = m_scrollingStateTree->stateNodeForID(nodeID);
if (node && node->nodeType() == FixedNode)
toCoordinatedGraphicsLayer(node->layer())->setFixedToViewport(false);
m_scrollingStateTree->detachNode(nodeID);
}
示例3:
void ArgumentCoder<ScrollingStateNode>::encode(ArgumentEncoder& encoder, const ScrollingStateNode& node)
{
encoder.encodeEnum(node.nodeType());
encoder << node.scrollingNodeID();
encoder << node.parentNodeID();
encoder << node.changedProperties();
if (node.hasChangedProperty(ScrollingStateNode::ScrollLayer))
encoder << static_cast<GraphicsLayer::PlatformLayerID>(node.layer());
}
示例4: setLayer
// This copy constructor is used for cloning nodes in the tree, and it doesn't make sense
// to clone the relationship pointers, so don't copy that information from the original node.
ScrollingStateNode::ScrollingStateNode(const ScrollingStateNode& stateNode, ScrollingStateTree& adoptiveTree)
: m_nodeType(stateNode.nodeType())
, m_nodeID(stateNode.scrollingNodeID())
, m_changedProperties(stateNode.changedProperties())
, m_scrollingStateTree(adoptiveTree)
, m_parent(nullptr)
{
if (hasChangedProperty(ScrollLayer))
setLayer(stateNode.layer().toRepresentation(adoptiveTree.preferredLayerRepresentation()));
scrollingStateTree().addNode(this);
}
示例5: dump
void RemoteScrollingTreeTextStream::dump(const ScrollingStateNode& node, bool changedPropertiesOnly)
{
RemoteScrollingTreeTextStream& ts = *this;
ts << "(node " << node.scrollingNodeID();
dumpProperty(ts, "type", node.nodeType());
if (!changedPropertiesOnly || node.hasChangedProperty(ScrollingStateNode::ScrollLayer))
dumpProperty(ts, "layer", static_cast<GraphicsLayer::PlatformLayerID>(node.layer()));
switch (node.nodeType()) {
case FrameScrollingNode:
case OverflowScrollingNode:
dump(toScrollingStateScrollingNode(node), changedPropertiesOnly);
break;
case FixedNode:
dump(toScrollingStateFixedNode(node), changedPropertiesOnly);
break;
case StickyNode:
dump(toScrollingStateStickyNode(node), changedPropertiesOnly);
break;
}
}