OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. All r
ights reserved. | 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. All r
ights reserved. |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 12 matching lines...) Expand all Loading... |
23 | 23 |
24 #include "core/rendering/RenderBoxModelObject.h" | 24 #include "core/rendering/RenderBoxModelObject.h" |
25 #include "platform/text/TextDirection.h" | 25 #include "platform/text/TextDirection.h" |
26 | 26 |
27 namespace WebCore { | 27 namespace WebCore { |
28 | 28 |
29 class HitTestRequest; | 29 class HitTestRequest; |
30 class HitTestResult; | 30 class HitTestResult; |
31 class RootInlineBox; | 31 class RootInlineBox; |
32 | 32 |
| 33 enum MarkLineBoxes { MarkLineBoxesDirty, DontMarkLineBoxes }; |
| 34 |
33 // InlineBox represents a rectangle that occurs on a line. It corresponds to | 35 // InlineBox represents a rectangle that occurs on a line. It corresponds to |
34 // some RenderObject (i.e., it represents a portion of that RenderObject). | 36 // some RenderObject (i.e., it represents a portion of that RenderObject). |
35 class InlineBox { | 37 class InlineBox { |
36 WTF_MAKE_NONCOPYABLE(InlineBox); | 38 WTF_MAKE_NONCOPYABLE(InlineBox); |
37 public: | 39 public: |
38 InlineBox(RenderObject& obj) | 40 InlineBox(RenderObject& obj) |
39 : m_next(0) | 41 : m_next(0) |
40 , m_prev(0) | 42 , m_prev(0) |
41 , m_parent(0) | 43 , m_parent(0) |
42 , m_renderer(obj) | 44 , m_renderer(obj) |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 } | 142 } |
141 | 143 |
142 bool isConstructed() { return m_bitfields.constructed(); } | 144 bool isConstructed() { return m_bitfields.constructed(); } |
143 virtual void setConstructed() { m_bitfields.setConstructed(true); } | 145 virtual void setConstructed() { m_bitfields.setConstructed(true); } |
144 | 146 |
145 void setExtracted(bool extracted = true) { m_bitfields.setExtracted(extracte
d); } | 147 void setExtracted(bool extracted = true) { m_bitfields.setExtracted(extracte
d); } |
146 | 148 |
147 void setFirstLineStyleBit(bool firstLine) { m_bitfields.setFirstLine(firstLi
ne); } | 149 void setFirstLineStyleBit(bool firstLine) { m_bitfields.setFirstLine(firstLi
ne); } |
148 bool isFirstLineStyle() const { return m_bitfields.firstLine(); } | 150 bool isFirstLineStyle() const { return m_bitfields.firstLine(); } |
149 | 151 |
150 void remove(); | 152 void remove(MarkLineBoxes = MarkLineBoxesDirty); |
151 | 153 |
152 InlineBox* nextOnLine() const { return m_next; } | 154 InlineBox* nextOnLine() const { return m_next; } |
153 InlineBox* prevOnLine() const { return m_prev; } | 155 InlineBox* prevOnLine() const { return m_prev; } |
154 void setNextOnLine(InlineBox* next) | 156 void setNextOnLine(InlineBox* next) |
155 { | 157 { |
156 ASSERT(m_parent || !next); | 158 ASSERT(m_parent || !next); |
157 m_next = next; | 159 m_next = next; |
158 } | 160 } |
159 void setPrevOnLine(InlineBox* prev) | 161 void setPrevOnLine(InlineBox* prev) |
160 { | 162 { |
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
443 | 445 |
444 } // namespace WebCore | 446 } // namespace WebCore |
445 | 447 |
446 #ifndef NDEBUG | 448 #ifndef NDEBUG |
447 // Outside the WebCore namespace for ease of invocation from gdb. | 449 // Outside the WebCore namespace for ease of invocation from gdb. |
448 void showTree(const WebCore::InlineBox*); | 450 void showTree(const WebCore::InlineBox*); |
449 void showLineTree(const WebCore::InlineBox*); | 451 void showLineTree(const WebCore::InlineBox*); |
450 #endif | 452 #endif |
451 | 453 |
452 #endif // InlineBox_h | 454 #endif // InlineBox_h |
OLD | NEW |