这篇教程C++ updateRelativeLengthsInformation函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中updateRelativeLengthsInformation函数的典型用法代码示例。如果您正苦于以下问题:C++ updateRelativeLengthsInformation函数的具体用法?C++ updateRelativeLengthsInformation怎么用?C++ updateRelativeLengthsInformation使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了updateRelativeLengthsInformation函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: updateRelativeLengthsInformationvoid SVGTextPositioningElement::svgAttributeChanged(const QualifiedName& attrName){ bool updateRelativeLengths = attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::dxAttr || attrName == SVGNames::dyAttr; if (updateRelativeLengths) updateRelativeLengthsInformation(); if (updateRelativeLengths || attrName == SVGNames::rotateAttr) { SVGElement::InvalidationGuard invalidationGuard(this); LayoutObject* layoutObject = this->layoutObject(); if (!layoutObject) return; if (LayoutSVGText* textLayoutObject = LayoutSVGText::locateLayoutSVGTextAncestor(layoutObject)) textLayoutObject->setNeedsPositioningValuesUpdate(); markForLayoutAndParentResourceInvalidation(layoutObject); return; } SVGTextContentElement::svgAttributeChanged(attrName);}
开发者ID:astojilj,项目名称:chromium-crosswalk,代码行数:25,
示例2: invalidationGuardvoid SVGRectElement::svgAttributeChanged(const QualifiedName& attrName){ if (!isSupportedAttribute(attrName)) { SVGGeometryElement::svgAttributeChanged(attrName); return; } SVGElement::InvalidationGuard invalidationGuard(this); bool isLengthAttribute = attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr || attrName == SVGNames::rxAttr || attrName == SVGNames::ryAttr; if (isLengthAttribute) updateRelativeLengthsInformation(); RenderSVGShape* renderer = toRenderSVGShape(this->renderer()); if (!renderer) return; if (isLengthAttribute) { renderer->setNeedsShapeUpdate(); RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer); return; } ASSERT_NOT_REACHED();}
开发者ID:Drakey83,项目名称:steamlink-sdk,代码行数:31,
示例3: guardvoid SVGLineElement::svgAttributeChanged(const QualifiedName& attrName){ if (!isSupportedAttribute(attrName)) { SVGGraphicsElement::svgAttributeChanged(attrName); return; } InstanceInvalidationGuard guard(*this); bool isLengthAttribute = attrName == SVGNames::x1Attr || attrName == SVGNames::y1Attr || attrName == SVGNames::x2Attr || attrName == SVGNames::y2Attr; if (isLengthAttribute) updateRelativeLengthsInformation(); auto* renderer = downcast<RenderSVGShape>(this->renderer()); if (!renderer) return; if (isLengthAttribute) { renderer->setNeedsShapeUpdate(); RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer); return; } if (SVGLangSpace::isKnownAttribute(attrName) || SVGExternalResourcesRequired::isKnownAttribute(attrName)) { RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer); return; } ASSERT_NOT_REACHED();}
开发者ID:houzhenggang,项目名称:webkit,代码行数:34,
示例4: updateRelativeLengthsInformationvoid SVGForeignObjectElement::svgAttributeChanged(const QualifiedName& attrName){ SVGStyledTransformableElement::svgAttributeChanged(attrName); bool isLengthAttribute = attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr; if (isLengthAttribute) updateRelativeLengthsInformation(); if (SVGTests::handleAttributeChange(this, attrName)) return; RenderObject* renderer = this->renderer(); if (!renderer) return; if (SVGStyledTransformableElement::isKnownAttribute(attrName)) { renderer->setNeedsTransformUpdate(); RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer); return; } if (isLengthAttribute || SVGLangSpace::isKnownAttribute(attrName) || SVGExternalResourcesRequired::isKnownAttribute(attrName)) RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer);}
开发者ID:achellies,项目名称:WinCEWebKit,代码行数:30,
示例5: invalidationGuardvoid SVGUseElement::svgAttributeChanged(const QualifiedName& attrName) { if (attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr) { SVGElement::InvalidationGuard invalidationGuard(this); if (attrName == SVGNames::xAttr || attrName == SVGNames::yAttr) { invalidateSVGPresentationAttributeStyle(); setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::fromAttribute(attrName)); } updateRelativeLengthsInformation(); if (m_targetElementInstance) { ASSERT(m_targetElementInstance->correspondingElement()); transferUseWidthAndHeightIfNeeded( *this, *m_targetElementInstance, *m_targetElementInstance->correspondingElement()); } LayoutObject* object = this->layoutObject(); if (object) markForLayoutAndParentResourceInvalidation(object); return; } if (SVGURIReference::isKnownAttribute(attrName)) { SVGElement::InvalidationGuard invalidationGuard(this); updateTargetReference(); invalidateShadowTree(); return; } SVGGraphicsElement::svgAttributeChanged(attrName);}
开发者ID:mirror,项目名称:chromium,代码行数:34,
示例6: invalidationGuardvoid SVGTextPositioningElement::svgAttributeChanged(const QualifiedName& attrName){ if (!isSupportedAttribute(attrName)) { SVGTextContentElement::svgAttributeChanged(attrName); return; } SVGElementInstance::InvalidationGuard invalidationGuard(this); bool updateRelativeLengths = attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::dxAttr || attrName == SVGNames::dyAttr; if (updateRelativeLengths) updateRelativeLengthsInformation(); auto renderer = this->renderer(); if (!renderer) return; if (updateRelativeLengths || attrName == SVGNames::rotateAttr) { if (auto* textAncestor = RenderSVGText::locateRenderSVGTextAncestor(*renderer)) textAncestor->setNeedsPositioningValuesUpdate(); RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer); return; } ASSERT_NOT_REACHED();}
开发者ID:chenbk85,项目名称:webkit2-wincairo,代码行数:30,
示例7: updateRelativeLengthsInformationvoid SVGLineElement::svgAttributeChanged(const QualifiedName& attrName){ SVGStyledTransformableElement::svgAttributeChanged(attrName); bool isLengthAttribute = attrName == SVGNames::x1Attr || attrName == SVGNames::y1Attr || attrName == SVGNames::x2Attr || attrName == SVGNames::y2Attr; if (isLengthAttribute) updateRelativeLengthsInformation(); if (SVGTests::handleAttributeChange(this, attrName)) return; RenderSVGPath* renderer = static_cast<RenderSVGPath*>(this->renderer()); if (!renderer) return; if (isLengthAttribute) { renderer->setNeedsPathUpdate(); RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer); return; } if (SVGLangSpace::isKnownAttribute(attrName) || SVGExternalResourcesRequired::isKnownAttribute(attrName)) RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer);}
开发者ID:0omega,项目名称:platform_external_webkit,代码行数:29,
示例8: updateRelativeLengthsInformationNode::InsertionNotificationRequest SVGElement::insertedInto(ContainerNode* rootParent){ Element::insertedInto(rootParent); updateRelativeLengthsInformation(); buildPendingResourcesIfNeeded(); return InsertionDone;}
开发者ID:astojilj,项目名称:chromium-crosswalk,代码行数:7,
示例9: updateRelativeLengthsInformationvoid SVGFilterElement::svgAttributeChanged(const QualifiedName& attrName){ SVGStyledElement::svgAttributeChanged(attrName); bool invalidateClients = false; if (attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr) { invalidateClients = true; updateRelativeLengthsInformation(); } RenderObject* object = renderer(); if (!object) return; if (invalidateClients || attrName == SVGNames::filterUnitsAttr || attrName == SVGNames::primitiveUnitsAttr || attrName == SVGNames::filterResAttr || SVGStyledElement::isKnownAttribute(attrName) || SVGURIReference::isKnownAttribute(attrName) || SVGLangSpace::isKnownAttribute(attrName) || SVGExternalResourcesRequired::isKnownAttribute(attrName)) object->setNeedsLayout(true);}
开发者ID:mcgrawp,项目名称:webkit-webcl,代码行数:27,
示例10: updateRelativeLengthsInformationvoid SVGSVGElement::svgAttributeChanged(const QualifiedName& attrName){ bool updateRelativeLengths = false; if (attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr || attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || SVGFitToViewBox::isKnownAttribute(attrName)) { updateRelativeLengths = true; updateRelativeLengthsInformation(); } SVGElementInstance::InvalidationGuard invalidationGuard(this); if (SVGTests::handleAttributeChange(this, attrName)) return; if (updateRelativeLengths || SVGLangSpace::isKnownAttribute(attrName) || SVGExternalResourcesRequired::isKnownAttribute(attrName) || SVGZoomAndPan::isKnownAttribute(attrName)) { if (renderer()) RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer()); return; } SVGStyledElement::svgAttributeChanged(attrName);}
开发者ID:sohocoke,项目名称:webkit,代码行数:27,
示例11: invalidationGuardvoid SVGForeignObjectElement::svgAttributeChanged( const QualifiedName& attrName) { bool isWidthHeightAttribute = attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr; bool isXYAttribute = attrName == SVGNames::xAttr || attrName == SVGNames::yAttr; if (isXYAttribute || isWidthHeightAttribute) { SVGElement::InvalidationGuard invalidationGuard(this); invalidateSVGPresentationAttributeStyle(); setNeedsStyleRecalc( LocalStyleChange, isWidthHeightAttribute ? StyleChangeReasonForTracing::create( StyleChangeReason::SVGContainerSizeChange) : StyleChangeReasonForTracing::fromAttribute(attrName)); updateRelativeLengthsInformation(); if (LayoutObject* layoutObject = this->layoutObject()) markForLayoutAndParentResourceInvalidation(layoutObject); return; } SVGGraphicsElement::svgAttributeChanged(attrName);}
开发者ID:mirror,项目名称:chromium,代码行数:27,
示例12: ASSERTvoid SVGUseElement::buildShadowAndInstanceTree(SVGElement* target){ ASSERT(!m_targetElementInstance); ASSERT(!m_needsShadowTreeRecreation); // <use> creates a "user agent" shadow root. Do not build the shadow/instance tree for <use> // elements living in a user agent shadow tree because they will get expanded in a second // pass -- see expandUseElementsInShadowTree(). if (inUseShadowTree()) return; // Do not allow self-referencing. // 'target' may be null, if it's a non SVG namespaced element. if (!target || target == this || isDisallowedElement(target)) return; // Set up root SVG element in shadow tree. RefPtrWillBeRawPtr<Element> newChild = target->cloneElementWithoutChildren(); m_targetElementInstance = toSVGElement(newChild.get()); ShadowRoot* shadowTreeRootElement = userAgentShadowRoot(); shadowTreeRootElement->appendChild(newChild.release()); // Clone the target subtree into the shadow tree, not handling <use> and <symbol> yet. // SVG specification does not say a word about <use> & cycles. My view on this is: just ignore it! // Non-appearing <use> content is easier to debug, then half-appearing content. if (!buildShadowTree(target, m_targetElementInstance.get(), false)) { clearShadowTree(); return; } if (instanceTreeIsLoading(m_targetElementInstance.get())) return; // Assure shadow tree building was successfull ASSERT(m_targetElementInstance); ASSERT(m_targetElementInstance->correspondingUseElement() == this); ASSERT(m_targetElementInstance->correspondingElement() == target); // Expand all <use> elements in the shadow tree. // Expand means: replace the actual <use> element by what it references. if (!expandUseElementsInShadowTree(m_targetElementInstance.get())) { clearShadowTree(); return; } // Expand all <symbol> elements in the shadow tree. // Expand means: replace the actual <symbol> element by the <svg> element. expandSymbolElementsInShadowTree(toSVGElement(shadowTreeRootElement->firstChild())); m_targetElementInstance = toSVGElement(shadowTreeRootElement->firstChild()); transferUseWidthAndHeightIfNeeded(*this, m_targetElementInstance.get(), *m_targetElementInstance->correspondingElement()); ASSERT(m_targetElementInstance->parentNode() == shadowTreeRootElement); // Update relative length information. updateRelativeLengthsInformation();}
开发者ID:astojilj,项目名称:chromium-crosswalk,代码行数:58,
示例13: updateRelativeLengthsInformationvoid SVGTextPathElement::svgAttributeChanged(const QualifiedName& attrName){ SVGTextContentElement::svgAttributeChanged(attrName); if (attrName == SVGNames::startOffsetAttr) updateRelativeLengthsInformation(); if (!renderer()) return; if (attrName == SVGNames::startOffsetAttr || SVGURIReference::isKnownAttribute(attrName)) RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer());}
开发者ID:sanyaade-mobiledev,项目名称:Webkit-Projects,代码行数:14,
示例14: guardvoid SVGRadialGradientElement::svgAttributeChanged(const QualifiedName& attrName){ if (!isSupportedAttribute(attrName)) { SVGGradientElement::svgAttributeChanged(attrName); return; } InstanceInvalidationGuard guard(*this); updateRelativeLengthsInformation(); if (RenderObject* object = renderer()) object->setNeedsLayout();}
开发者ID:Comcast,项目名称:WebKitForWayland,代码行数:14,
示例15: updateRelativeLengthsInformationvoid SVGSVGElement::svgAttributeChanged(const QualifiedName& attrName){ bool updateRelativeLengthsOrViewBox = false; bool widthChanged = attrName == SVGNames::widthAttr; bool heightChanged = attrName == SVGNames::heightAttr; if (widthChanged || heightChanged || attrName == SVGNames::xAttr || attrName == SVGNames::yAttr) { updateRelativeLengthsOrViewBox = true; updateRelativeLengthsInformation(); invalidateRelativeLengthClients(); // At the SVG/HTML boundary (aka LayoutSVGRoot), the width and // height attributes can affect the replaced size so we need // to mark it for updating. // // FIXME: For width/height animated as XML attributes on SVG // roots, there is an attribute synchronization missing. See // http://crbug.com/364807 if (widthChanged || heightChanged) { LayoutObject* layoutObject = this->layoutObject(); if (layoutObject && layoutObject->isSVGRoot()) { invalidateSVGPresentationAttributeStyle(); setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::create(StyleChangeReason::SVGContainerSizeChange)); } } else { invalidateSVGPresentationAttributeStyle(); setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::fromAttribute(attrName)); } } if (SVGFitToViewBox::isKnownAttribute(attrName)) { updateRelativeLengthsOrViewBox = true; invalidateRelativeLengthClients(); if (LayoutObject* object = layoutObject()) object->setNeedsTransformUpdate(); } if (updateRelativeLengthsOrViewBox || SVGZoomAndPan::isKnownAttribute(attrName)) { SVGElement::InvalidationGuard invalidationGuard(this); if (layoutObject()) markForLayoutAndParentResourceInvalidation(layoutObject()); return; } SVGGraphicsElement::svgAttributeChanged(attrName);}
开发者ID:OctiumBrowser,项目名称:octium-main,代码行数:49,
示例16: invalidationGuardvoid SVGRadialGradientElement::svgAttributeChanged(const QualifiedName& attrName){ if (!isSupportedAttribute(attrName)) { SVGGradientElement::svgAttributeChanged(attrName); return; } SVGElement::InvalidationGuard invalidationGuard(this); updateRelativeLengthsInformation(); RenderSVGResourceContainer* renderer = toRenderSVGResourceContainer(this->renderer()); if (renderer) renderer->invalidateCacheAndMarkForLayout();}
开发者ID:RobinWuDev,项目名称:Qt,代码行数:15,
示例17: guardvoid SVGImageElement::svgAttributeChanged(const QualifiedName& attrName){ if (!isSupportedAttribute(attrName)) { SVGGraphicsElement::svgAttributeChanged(attrName); return; } InstanceInvalidationGuard guard(*this); if (attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr) { invalidateSVGPresentationAttributeStyle(); return; } bool isLengthAttribute = attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr; if (isLengthAttribute) updateRelativeLengthsInformation(); if (SVGURIReference::isKnownAttribute(attrName)) { m_imageLoader.updateFromElementIgnoringPreviousError(); return; } auto* renderer = this->renderer(); if (!renderer) return; if (isLengthAttribute) { if (downcast<RenderSVGImage>(*renderer).updateImageViewport()) RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer); return; } if (attrName == SVGNames::preserveAspectRatioAttr || SVGLangSpace::isKnownAttribute(attrName) || SVGExternalResourcesRequired::isKnownAttribute(attrName)) { RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer); return; } ASSERT_NOT_REACHED();}
开发者ID:cheekiatng,项目名称:webkit,代码行数:47,
示例18: invalidationGuardvoid SVGUseElement::svgAttributeChanged(const QualifiedName& attrName){ if (attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr) { SVGElement::InvalidationGuard invalidationGuard(this); if (attrName == SVGNames::xAttr || attrName == SVGNames::yAttr) { invalidateSVGPresentationAttributeStyle(); setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::fromAttribute(attrName)); } updateRelativeLengthsInformation(); if (m_targetElementInstance) { ASSERT(m_targetElementInstance->correspondingElement()); transferUseWidthAndHeightIfNeeded(*this, m_targetElementInstance.get(), *m_targetElementInstance->correspondingElement()); } LayoutObject* object = this->layoutObject(); if (object) markForLayoutAndParentResourceInvalidation(object); return; } if (SVGURIReference::isKnownAttribute(attrName)) { SVGElement::InvalidationGuard invalidationGuard(this); if (isStructurallyExternal()) { KURL url = document().completeURL(hrefString()); const KURL& existingURL = m_resource ? m_resource->url() : KURL(); if (url.hasFragmentIdentifier() && !equalIgnoringFragmentIdentifier(url, existingURL)) { FetchRequest request(ResourceRequest(url), localName()); setDocumentResource(DocumentResource::fetchSVGDocument(request, document().fetcher())); } } else { setDocumentResource(nullptr); } invalidateShadowTree(); return; } SVGGraphicsElement::svgAttributeChanged(attrName);}
开发者ID:astojilj,项目名称:chromium-crosswalk,代码行数:47,
示例19: updateRelativeLengthsInformationvoid SVGLinearGradientElement::svgAttributeChanged(const QualifiedName& attrName){ SVGGradientElement::svgAttributeChanged(attrName); if (attrName == SVGNames::x1Attr || attrName == SVGNames::y1Attr || attrName == SVGNames::x2Attr || attrName == SVGNames::y2Attr) { updateRelativeLengthsInformation(); RenderObject* object = renderer(); if (!object) return; object->setNeedsLayout(true); }}
开发者ID:sanyaade-mobiledev,项目名称:Webkit-Projects,代码行数:17,
示例20: invalidationGuardvoid SVGFilterElement::svgAttributeChanged(const QualifiedName& attrName){ if (!isSupportedAttribute(attrName)) { SVGElement::svgAttributeChanged(attrName); return; } SVGElementInstance::InvalidationGuard invalidationGuard(this); if (attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr) updateRelativeLengthsInformation(); if (RenderObject* object = renderer()) object->setNeedsLayout();}
开发者ID:aosm,项目名称:WebCore,代码行数:18,
示例21: invalidationGuardvoid SVGMaskElement::svgAttributeChanged(const QualifiedName& attrName){ if (!isSupportedAttribute(attrName)) { SVGElement::svgAttributeChanged(attrName); return; } SVGElement::InvalidationGuard invalidationGuard(this); if (attrName == SVGNames::xAttr || attrName == SVGNames::yAttr || attrName == SVGNames::widthAttr || attrName == SVGNames::heightAttr) updateRelativeLengthsInformation(); RenderSVGResourceContainer* renderer = toRenderSVGResourceContainer(this->renderer()); if (renderer) renderer->invalidateCacheAndMarkForLayout();}
开发者ID:venkatarajasekhar,项目名称:Qt,代码行数:19,
示例22: updateRelativeLengthsInformationvoid SVGLineElement::svgAttributeChanged(const QualifiedName& attrName){ if (attrName == SVGNames::x1Attr || attrName == SVGNames::y1Attr || attrName == SVGNames::x2Attr || attrName == SVGNames::y2Attr) { updateRelativeLengthsInformation(); LayoutSVGShape* layoutObject = toLayoutSVGShape(this->layoutObject()); if (!layoutObject) return; SVGElement::InvalidationGuard invalidationGuard(this); layoutObject->setNeedsShapeUpdate(); markForLayoutAndParentResourceInvalidation(layoutObject); return; } SVGGeometryElement::svgAttributeChanged(attrName);}
开发者ID:aobzhirov,项目名称:ChromiumGStreamerBackend,代码行数:20,
示例23: guardvoid SVGTextPathElement::svgAttributeChanged(const QualifiedName& attrName){ if (!isSupportedAttribute(attrName)) { SVGTextContentElement::svgAttributeChanged(attrName); return; } InstanceInvalidationGuard guard(*this); if (SVGURIReference::isKnownAttribute(attrName)) { buildPendingResource(); return; } if (attrName == SVGNames::startOffsetAttr) updateRelativeLengthsInformation(); if (auto renderer = this->renderer()) RenderSVGResource::markForLayoutAndParentResourceInvalidation(*renderer);}
开发者ID:quanmo,项目名称:webkit,代码行数:20,
注:本文中的updateRelativeLengthsInformation函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ updateRenderer函数代码示例 C++ updateRect函数代码示例 |