OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> | 2 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> |
3 * Copyright (C) 2006 Apple Computer Inc. | 3 * Copyright (C) 2006 Apple Computer Inc. |
4 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> | 4 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> |
5 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 5 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
6 * Copyright (C) 2011 Torch Mobile (Beijing) CO. Ltd. All rights reserved. | 6 * Copyright (C) 2011 Torch Mobile (Beijing) CO. Ltd. All rights reserved. |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 child->paint(paintInfo, LayoutPoint(), 0, 0); | 66 child->paint(paintInfo, LayoutPoint(), 0, 0); |
67 } | 67 } |
68 } | 68 } |
69 } | 69 } |
70 | 70 |
71 void SVGRootInlineBox::computePerCharacterLayoutInformation() | 71 void SVGRootInlineBox::computePerCharacterLayoutInformation() |
72 { | 72 { |
73 RenderSVGText* textRoot = toRenderSVGText(block()); | 73 RenderSVGText* textRoot = toRenderSVGText(block()); |
74 ASSERT(textRoot); | 74 ASSERT(textRoot); |
75 | 75 |
76 textRoot->rebuildLayoutAttributes(); | |
77 Vector<SVGTextLayoutAttributes*>& layoutAttributes = textRoot->layoutAttribu
tes(); | 76 Vector<SVGTextLayoutAttributes*>& layoutAttributes = textRoot->layoutAttribu
tes(); |
78 if (layoutAttributes.isEmpty()) | 77 if (layoutAttributes.isEmpty()) |
79 return; | 78 return; |
80 | 79 |
81 if (textRoot->needsReordering()) | 80 if (textRoot->needsReordering()) |
82 reorderValueLists(layoutAttributes); | 81 reorderValueLists(layoutAttributes); |
83 | 82 |
84 // Perform SVG text layout phase two (see SVGTextLayoutEngine for details). | 83 // Perform SVG text layout phase two (see SVGTextLayoutEngine for details). |
85 SVGTextLayoutEngine characterLayout(layoutAttributes); | 84 SVGTextLayoutEngine characterLayout(layoutAttributes); |
86 layoutCharactersInTextBoxes(this, characterLayout); | 85 layoutCharactersInTextBoxes(this, characterLayout); |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
303 | 302 |
304 void SVGRootInlineBox::reorderValueLists(Vector<SVGTextLayoutAttributes*>& attri
butes) | 303 void SVGRootInlineBox::reorderValueLists(Vector<SVGTextLayoutAttributes*>& attri
butes) |
305 { | 304 { |
306 Vector<InlineBox*> leafBoxesInLogicalOrder; | 305 Vector<InlineBox*> leafBoxesInLogicalOrder; |
307 collectLeafBoxesInLogicalOrder(leafBoxesInLogicalOrder, reverseInlineBoxRang
eAndValueListsIfNeeded, &attributes); | 306 collectLeafBoxesInLogicalOrder(leafBoxesInLogicalOrder, reverseInlineBoxRang
eAndValueListsIfNeeded, &attributes); |
308 } | 307 } |
309 | 308 |
310 } // namespace WebCore | 309 } // namespace WebCore |
311 | 310 |
312 #endif // ENABLE(SVG) | 311 #endif // ENABLE(SVG) |
OLD | NEW |