AffineTransform SVGLocatable::getCTM(const SVGElement* element) { if (!element) return AffineTransform(); AffineTransform ctm; Node* parent = element->parentNode(); if (parent && parent->isSVGElement()) { SVGElement* parentElement = static_cast<SVGElement*>(parent); if (parentElement && parentElement->isStyledLocatable()) { AffineTransform parentCTM = static_cast<SVGStyledLocatableElement*>(parentElement)->getCTM(); ctm = parentCTM * ctm; } } return ctm; }