OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006 Apple Computer, Inc. | 2 * Copyright (C) 2006 Apple Computer, Inc. |
3 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org> | 3 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org> |
4 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> | 4 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> |
5 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> | 5 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> |
6 * Copyright (C) 2008 Rob Buis <buis@kde.org> | 6 * Copyright (C) 2008 Rob Buis <buis@kde.org> |
7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> | 7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> |
8 * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved. | 8 * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved. |
9 * Copyright (C) 2012 Google Inc. | 9 * Copyright (C) 2012 Google Inc. |
10 * | 10 * |
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 m_needsTransformUpdate = false; | 330 m_needsTransformUpdate = false; |
331 updateCachedBoundariesInParents = true; | 331 updateCachedBoundariesInParents = true; |
332 } | 332 } |
333 | 333 |
334 if (!everHadLayout()) { | 334 if (!everHadLayout()) { |
335 // When laying out initially, collect all layout attributes, build the c
haracter data map, | 335 // When laying out initially, collect all layout attributes, build the c
haracter data map, |
336 // and propogate resulting SVGLayoutAttributes to all RenderSVGInlineTex
t children in the subtree. | 336 // and propogate resulting SVGLayoutAttributes to all RenderSVGInlineTex
t children in the subtree. |
337 ASSERT(m_layoutAttributes.isEmpty()); | 337 ASSERT(m_layoutAttributes.isEmpty()); |
338 collectLayoutAttributes(this, m_layoutAttributes); | 338 collectLayoutAttributes(this, m_layoutAttributes); |
339 updateFontInAllDescendants(this); | 339 updateFontInAllDescendants(this); |
340 m_layoutAttributesBuilder.buildLayoutAttributesForForSubtree(this); | 340 m_layoutAttributesBuilder.buildLayoutAttributesForForSubtree(*this); |
341 | 341 |
342 m_needsReordering = true; | 342 m_needsReordering = true; |
343 m_needsTextMetricsUpdate = false; | 343 m_needsTextMetricsUpdate = false; |
344 m_needsPositioningValuesUpdate = false; | 344 m_needsPositioningValuesUpdate = false; |
345 updateCachedBoundariesInParents = true; | 345 updateCachedBoundariesInParents = true; |
346 } else if (m_needsPositioningValuesUpdate) { | 346 } else if (m_needsPositioningValuesUpdate) { |
347 // When the x/y/dx/dy/rotate lists change, recompute the layout attribut
es, and eventually | 347 // When the x/y/dx/dy/rotate lists change, recompute the layout attribut
es, and eventually |
348 // update the on-screen font objects as well in all descendants. | 348 // update the on-screen font objects as well in all descendants. |
349 if (m_needsTextMetricsUpdate) { | 349 if (m_needsTextMetricsUpdate) { |
350 updateFontInAllDescendants(this); | 350 updateFontInAllDescendants(this); |
351 m_needsTextMetricsUpdate = false; | 351 m_needsTextMetricsUpdate = false; |
352 } | 352 } |
353 | 353 |
354 m_layoutAttributesBuilder.buildLayoutAttributesForForSubtree(this); | 354 m_layoutAttributesBuilder.buildLayoutAttributesForForSubtree(*this); |
355 m_needsReordering = true; | 355 m_needsReordering = true; |
356 m_needsPositioningValuesUpdate = false; | 356 m_needsPositioningValuesUpdate = false; |
357 updateCachedBoundariesInParents = true; | 357 updateCachedBoundariesInParents = true; |
358 } else if (m_needsTextMetricsUpdate || SVGRenderSupport::findTreeRootObject(
this)->isLayoutSizeChanged()) { | 358 } else if (m_needsTextMetricsUpdate || SVGRenderSupport::findTreeRootObject(
this)->isLayoutSizeChanged()) { |
359 // If the root layout size changed (eg. window size changes) or the tran
sform to the root | 359 // If the root layout size changed (eg. window size changes) or the tran
sform to the root |
360 // context has changed then recompute the on-screen font size. | 360 // context has changed then recompute the on-screen font size. |
361 updateFontInAllDescendants(this, &m_layoutAttributesBuilder); | 361 updateFontInAllDescendants(this, &m_layoutAttributesBuilder); |
362 | 362 |
363 ASSERT(!m_needsReordering); | 363 ASSERT(!m_needsReordering); |
364 ASSERT(!m_needsPositioningValuesUpdate); | 364 ASSERT(!m_needsPositioningValuesUpdate); |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
507 SVGResourcesCache::clientWillBeRemovedFromTree(child); | 507 SVGResourcesCache::clientWillBeRemovedFromTree(child); |
508 | 508 |
509 Vector<SVGTextLayoutAttributes*, 2> affectedAttributes; | 509 Vector<SVGTextLayoutAttributes*, 2> affectedAttributes; |
510 FontCachePurgePreventer fontCachePurgePreventer; | 510 FontCachePurgePreventer fontCachePurgePreventer; |
511 subtreeChildWillBeRemoved(child, affectedAttributes); | 511 subtreeChildWillBeRemoved(child, affectedAttributes); |
512 RenderSVGBlock::removeChild(child); | 512 RenderSVGBlock::removeChild(child); |
513 subtreeChildWasRemoved(affectedAttributes); | 513 subtreeChildWasRemoved(affectedAttributes); |
514 } | 514 } |
515 | 515 |
516 } | 516 } |
OLD | NEW |