OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights 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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 // an invisible marker exists. The side effect of having an invisible m
arker is that the quirks mode behavior of shrinking lines with no | 61 // an invisible marker exists. The side effect of having an invisible m
arker is that the quirks mode behavior of shrinking lines with no |
62 // text children must not apply. This change also means that gaps will
exist between image bullet list items. Even when the list bullet | 62 // text children must not apply. This change also means that gaps will
exist between image bullet list items. Even when the list bullet |
63 // is an image, the line is still considered to be immune from the quirk
. | 63 // is an image, the line is still considered to be immune from the quirk
. |
64 m_hasTextChildren = obj->style()->display() == LIST_ITEM; | 64 m_hasTextChildren = obj->style()->display() == LIST_ITEM; |
65 m_hasTextDescendants = m_hasTextChildren; | 65 m_hasTextDescendants = m_hasTextChildren; |
66 } | 66 } |
67 | 67 |
68 #ifndef NDEBUG | 68 #ifndef NDEBUG |
69 virtual ~InlineFlowBox(); | 69 virtual ~InlineFlowBox(); |
70 | 70 |
71 virtual void showLineTreeAndMark(const InlineBox* = 0, const char* = 0, cons
t InlineBox* = 0, const char* = 0, const RenderObject* = 0, int = 0) const; | 71 virtual void showLineTreeAndMark(const InlineBox* = 0, const char* = 0, cons
t InlineBox* = 0, const char* = 0, const RenderObject* = 0, int = 0) const OVERR
IDE; |
72 virtual const char* boxName() const; | 72 virtual const char* boxName() const OVERRIDE; |
73 #endif | 73 #endif |
74 | 74 |
75 InlineFlowBox* prevLineBox() const { return m_prevLineBox; } | 75 InlineFlowBox* prevLineBox() const { return m_prevLineBox; } |
76 InlineFlowBox* nextLineBox() const { return m_nextLineBox; } | 76 InlineFlowBox* nextLineBox() const { return m_nextLineBox; } |
77 void setNextLineBox(InlineFlowBox* n) { m_nextLineBox = n; } | 77 void setNextLineBox(InlineFlowBox* n) { m_nextLineBox = n; } |
78 void setPreviousLineBox(InlineFlowBox* p) { m_prevLineBox = p; } | 78 void setPreviousLineBox(InlineFlowBox* p) { m_prevLineBox = p; } |
79 | 79 |
80 InlineBox* firstChild() const { checkConsistency(); return m_firstChild; } | 80 InlineBox* firstChild() const { checkConsistency(); return m_firstChild; } |
81 InlineBox* lastChild() const { checkConsistency(); return m_lastChild; } | 81 InlineBox* lastChild() const { checkConsistency(); return m_lastChild; } |
82 | 82 |
83 virtual bool isLeaf() const OVERRIDE FINAL { return false; } | 83 virtual bool isLeaf() const OVERRIDE FINAL { return false; } |
84 | 84 |
85 InlineBox* firstLeafChild() const; | 85 InlineBox* firstLeafChild() const; |
86 InlineBox* lastLeafChild() const; | 86 InlineBox* lastLeafChild() const; |
87 | 87 |
88 typedef void (*CustomInlineBoxRangeReverse)(void* userData, Vector<InlineBox
*>::iterator first, Vector<InlineBox*>::iterator last); | 88 typedef void (*CustomInlineBoxRangeReverse)(void* userData, Vector<InlineBox
*>::iterator first, Vector<InlineBox*>::iterator last); |
89 void collectLeafBoxesInLogicalOrder(Vector<InlineBox*>&, CustomInlineBoxRang
eReverse customReverseImplementation = 0, void* userData = 0) const; | 89 void collectLeafBoxesInLogicalOrder(Vector<InlineBox*>&, CustomInlineBoxRang
eReverse customReverseImplementation = 0, void* userData = 0) const; |
90 | 90 |
91 virtual void setConstructed() OVERRIDE FINAL | 91 virtual void setConstructed() OVERRIDE FINAL |
92 { | 92 { |
93 InlineBox::setConstructed(); | 93 InlineBox::setConstructed(); |
94 for (InlineBox* child = firstChild(); child; child = child->nextOnLine()
) | 94 for (InlineBox* child = firstChild(); child; child = child->nextOnLine()
) |
95 child->setConstructed(); | 95 child->setConstructed(); |
96 } | 96 } |
97 | 97 |
98 void addToLine(InlineBox* child); | 98 void addToLine(InlineBox* child); |
99 virtual void deleteLine() OVERRIDE FINAL; | 99 virtual void deleteLine() OVERRIDE FINAL; |
100 virtual void extractLine() OVERRIDE FINAL; | 100 virtual void extractLine() OVERRIDE FINAL; |
101 virtual void attachLine() OVERRIDE FINAL; | 101 virtual void attachLine() OVERRIDE FINAL; |
102 virtual void adjustPosition(float dx, float dy); | 102 virtual void adjustPosition(float dx, float dy) OVERRIDE; |
103 | 103 |
104 virtual void extractLineBoxFromRenderObject(); | 104 virtual void extractLineBoxFromRenderObject(); |
105 virtual void attachLineBoxToRenderObject(); | 105 virtual void attachLineBoxToRenderObject(); |
106 virtual void removeLineBoxFromRenderObject(); | 106 virtual void removeLineBoxFromRenderObject(); |
107 | 107 |
108 virtual void clearTruncation() OVERRIDE; | 108 virtual void clearTruncation() OVERRIDE; |
109 | 109 |
110 IntRect roundedFrameRect() const; | 110 IntRect roundedFrameRect() const; |
111 | 111 |
112 void paintBoxDecorations(PaintInfo&, const LayoutPoint&); | 112 void paintBoxDecorations(PaintInfo&, const LayoutPoint&); |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 } | 366 } |
367 | 367 |
368 } // namespace WebCore | 368 } // namespace WebCore |
369 | 369 |
370 #ifndef NDEBUG | 370 #ifndef NDEBUG |
371 // Outside the WebCore namespace for ease of invocation from gdb. | 371 // Outside the WebCore namespace for ease of invocation from gdb. |
372 void showTree(const WebCore::InlineFlowBox*); | 372 void showTree(const WebCore::InlineFlowBox*); |
373 #endif | 373 #endif |
374 | 374 |
375 #endif // InlineFlowBox_h | 375 #endif // InlineFlowBox_h |
OLD | NEW |