本文整理汇总了C++中ShadowRoot::clearNeedsStyleRecalc方法的典型用法代码示例。如果您正苦于以下问题:C++ ShadowRoot::clearNeedsStyleRecalc方法的具体用法?C++ ShadowRoot::clearNeedsStyleRecalc怎么用?C++ ShadowRoot::clearNeedsStyleRecalc使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ShadowRoot
的用法示例。
在下文中一共展示了ShadowRoot::clearNeedsStyleRecalc方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: recalcShadowTreeStyle
void ShadowTree::recalcShadowTreeStyle(Node::StyleChange change)
{
ShadowRoot* youngest = youngestShadowRoot();
if (!youngest)
return;
if (needsReattachHostChildrenAndShadow())
reattachHostChildrenAndShadow();
else {
StyleResolver* styleResolver = youngest->document()->styleResolver();
styleResolver->pushParentShadowRoot(youngest);
for (Node* n = youngest->firstChild(); n; n = n->nextSibling()) {
if (n->isElementNode())
static_cast<Element*>(n)->recalcStyle(change);
else if (n->isTextNode())
toText(n)->recalcTextStyle(change);
}
styleResolver->popParentShadowRoot(youngest);
}
clearNeedsReattachHostChildrenAndShadow();
for (ShadowRoot* root = youngestShadowRoot(); root; root = root->olderShadowRoot()) {
root->clearNeedsStyleRecalc();
root->clearChildNeedsStyleRecalc();
}
}
示例2: attachShadowRoot
static void attachShadowRoot(ShadowRoot& shadowRoot)
{
if (shadowRoot.attached())
return;
StyleResolver& styleResolver = shadowRoot.document().ensureStyleResolver();
styleResolver.pushParentShadowRoot(&shadowRoot);
attachChildren(shadowRoot);
styleResolver.popParentShadowRoot(&shadowRoot);
shadowRoot.clearNeedsStyleRecalc();
shadowRoot.setAttached(true);
}