当前位置: 首页>>代码示例>>C++>>正文


C++ SVGResourcesCache::addResourcesFromRenderObject方法代码示例

本文整理汇总了C++中SVGResourcesCache::addResourcesFromRenderObject方法的典型用法代码示例。如果您正苦于以下问题:C++ SVGResourcesCache::addResourcesFromRenderObject方法的具体用法?C++ SVGResourcesCache::addResourcesFromRenderObject怎么用?C++ SVGResourcesCache::addResourcesFromRenderObject使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SVGResourcesCache的用法示例。


在下文中一共展示了SVGResourcesCache::addResourcesFromRenderObject方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: clientStyleChanged

void SVGResourcesCache::clientStyleChanged(RenderObject* renderer, StyleDifference diff, const RenderStyle* newStyle)
{
    ASSERT(renderer);
    if (diff == StyleDifferenceEqual || !renderer->parent())
        return;

    // In this case the proper SVGFE*Element will decide whether the modified CSS properties require a relayout or repaint.
    if (renderer->isSVGResourceFilterPrimitive() && (diff == StyleDifferenceRepaint || diff == StyleDifferenceRepaintIfText))
        return;

    // Dynamic changes of CSS properties like 'clip-path' may require us to recompute the associated resources for a renderer.
    // FIXME: Avoid passing in a useless StyleDifference, but instead compare oldStyle/newStyle to see which resources changed
    // to be able to selectively rebuild individual resources, instead of all of them.
    if (rendererCanHaveResources(renderer)) {
        SVGResourcesCache* cache = resourcesCacheFromRenderObject(renderer);
        cache->removeResourcesFromRenderObject(renderer);
        cache->addResourcesFromRenderObject(renderer, newStyle);
    }

    RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer, false);

    // FIXME: This doesn't look right, we often go through here in styleDidChange which means
    // we're changing the needsStyleRecalc bits in the middle of recalcStyle on ourself which
    // makes no sense. It's also not clear why we'd go through here for non-SVG elements.
    if (renderer->node() && !renderer->node()->isSVGElement())
        renderer->node()->setNeedsStyleRecalc(LocalStyleChange, StyleChangeFromRenderer);
}
开发者ID:IllusionRom-deprecated,项目名称:android_platform_external_chromium_org_third_party_WebKit,代码行数:27,代码来源:SVGResourcesCache.cpp

示例2: clientUpdatedFromElement

void SVGResourcesCache::clientUpdatedFromElement(RenderObject* renderer, const RenderStyle* newStyle)
{
    ASSERT(renderer);
    ASSERT(renderer->parent());

    SVGResourcesCache* cache = resourcesCacheFromRenderObject(renderer);
    cache->removeResourcesFromRenderObject(renderer);
    cache->addResourcesFromRenderObject(renderer, newStyle);
}
开发者ID:Xertz,项目名称:EAWebKit,代码行数:9,代码来源:SVGResourcesCache.cpp

示例3: clientWasAddedToTree

void SVGResourcesCache::clientWasAddedToTree(RenderObject* renderer, const RenderStyle* newStyle)
{
    if (!renderer->node())
        return;
    RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer, false);

    if (!rendererCanHaveResources(renderer))
        return;
    SVGResourcesCache* cache = resourcesCacheFromRenderObject(renderer);
    cache->addResourcesFromRenderObject(renderer, newStyle);
}
开发者ID:IllusionRom-deprecated,项目名称:android_platform_external_chromium_org_third_party_WebKit,代码行数:11,代码来源:SVGResourcesCache.cpp

示例4: clientUpdatedFromElement

void SVGResourcesCache::clientUpdatedFromElement(RenderObject* renderer, const RenderStyle* newStyle)
{
    ASSERT(renderer);
    ASSERT(renderer->parent());

    SVGResourcesCache* cache = resourcesCacheFromRenderObject(renderer);
    cache->removeResourcesFromRenderObject(renderer);
    cache->addResourcesFromRenderObject(renderer, newStyle);

#if ENABLE(FILTERS)
    SVGResources* resources = SVGResourcesCache::cachedResourcesForRenderObject(renderer);
    if (resources && resources->filter())
        resources->removeClientFromCache(renderer);
#endif
}
开发者ID:1833183060,项目名称:wke,代码行数:15,代码来源:SVGResourcesCache.cpp

示例5: clientStyleChanged

void SVGResourcesCache::clientStyleChanged(RenderObject* renderer, StyleDifference diff, const RenderStyle* newStyle)
{
    ASSERT(renderer);
    ASSERT(renderer->node());
    ASSERT(renderer->node()->isSVGElement());

    if (diff == StyleDifferenceEqual || !renderer->parent())
        return;

    // In this case the proper SVGFE*Element will decide whether the modified CSS properties require a relayout or repaint.
    if (renderer->isSVGResourceFilterPrimitive() && diff == StyleDifferenceRepaint)
        return;

    // Dynamic changes of CSS properties like 'clip-path' may require us to recompute the associated resources for a renderer.
    // FIXME: Avoid passing in a useless StyleDifference, but instead compare oldStyle/newStyle to see which resources changed
    // to be able to selectively rebuild individual resources, instead of all of them.
    if (rendererCanHaveResources(renderer)) {
        SVGResourcesCache* cache = resourcesCacheFromRenderObject(renderer);
        cache->removeResourcesFromRenderObject(renderer);
        cache->addResourcesFromRenderObject(renderer, newStyle);
    }

    RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer, false);
}
开发者ID:jeremyroman,项目名称:blink,代码行数:24,代码来源:SVGResourcesCache.cpp


注:本文中的SVGResourcesCache::addResourcesFromRenderObject方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。