OLD | NEW |
1 /* | 1 /* |
2 * (C) 1999 Lars Knoll (knoll@kde.org) | 2 * (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Dirk Mueller (mueller@kde.org) | 3 * (C) 2000 Dirk Mueller (mueller@kde.org) |
4 * Copyright (C) 2004-2009, 2013 Apple Inc. All rights reserved. | 4 * Copyright (C) 2004-2009, 2013 Apple Inc. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 28 matching lines...) Expand all Loading... |
39 | 39 |
40 // LayoutText is the root class for anything that represents | 40 // LayoutText is the root class for anything that represents |
41 // a text node (see core/dom/Text.h). | 41 // a text node (see core/dom/Text.h). |
42 // | 42 // |
43 // This is a common node in the tree so to the limit memory overhead, | 43 // This is a common node in the tree so to the limit memory overhead, |
44 // this class inherits directly from LayoutObject. | 44 // this class inherits directly from LayoutObject. |
45 // Also this class is used by both CSS and SVG layouts so LayoutObject | 45 // Also this class is used by both CSS and SVG layouts so LayoutObject |
46 // was a natural choice. | 46 // was a natural choice. |
47 // | 47 // |
48 // The actual layout of text is handled by the containing inline | 48 // The actual layout of text is handled by the containing inline |
49 // (LayoutInline) or block (LayoutBlock). They will invoke the Unicode | 49 // (LayoutInline) or block (LayoutBlockFlow). They will invoke the Unicode |
50 // Bidirectional Algorithm to break the text into actual lines. | 50 // Bidirectional Algorithm to break the text into actual lines. |
51 // The result of layout is the line box tree, which represents lines | 51 // The result of layout is the line box tree, which represents lines |
52 // on the screen. It is stored into m_firstTextBox and m_lastTextBox. | 52 // on the screen. It is stored into m_firstTextBox and m_lastTextBox. |
53 // To understand how lines are broken by the bidi algorithm, read e.g. | 53 // To understand how lines are broken by the bidi algorithm, read e.g. |
54 // LayoutBlockFlow::layoutInlineChildren. | 54 // LayoutBlockFlow::layoutInlineChildren. |
55 // | 55 // |
56 // | 56 // |
57 // ***** LINE BOXES OWNERSHIP ***** | 57 // ***** LINE BOXES OWNERSHIP ***** |
58 // m_firstTextBox and m_lastTextBox are not owned by LayoutText | 58 // m_firstTextBox and m_lastTextBox are not owned by LayoutText |
59 // but are pointers into the enclosing inline / block (see LayoutInline's | 59 // but are pointers into the enclosing inline / block (see LayoutInline's |
60 // and LayoutBlock's m_lineBoxes). | 60 // and LayoutBlockFlow's m_lineBoxes). |
61 // | 61 // |
62 // | 62 // |
63 // This class implements the preferred logical widths computation | 63 // This class implements the preferred logical widths computation |
64 // for its underlying text. The widths are stored into m_minWidth | 64 // for its underlying text. The widths are stored into m_minWidth |
65 // and m_maxWidth. They are computed lazily based on | 65 // and m_maxWidth. They are computed lazily based on |
66 // m_preferredLogicalWidthsDirty. | 66 // m_preferredLogicalWidthsDirty. |
67 // | 67 // |
68 // The previous comment applies also for painting. See e.g. | 68 // The previous comment applies also for painting. See e.g. |
69 // BlockPainter::paintContents in particular the use of LineBoxListPainter. | 69 // BlockPainter::paintContents in particular the use of LineBoxListPainter. |
70 class CORE_EXPORT LayoutText : public LayoutObject { | 70 class CORE_EXPORT LayoutText : public LayoutObject { |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 inline LayoutText* Text::layoutObject() const | 291 inline LayoutText* Text::layoutObject() const |
292 { | 292 { |
293 return toLayoutText(CharacterData::layoutObject()); | 293 return toLayoutText(CharacterData::layoutObject()); |
294 } | 294 } |
295 | 295 |
296 void applyTextTransform(const ComputedStyle*, String&, UChar); | 296 void applyTextTransform(const ComputedStyle*, String&, UChar); |
297 | 297 |
298 } // namespace blink | 298 } // namespace blink |
299 | 299 |
300 #endif // LayoutText_h | 300 #endif // LayoutText_h |
OLD | NEW |