OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r
ights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 | 88 |
89 void addPercentHeightDescendant(RenderBox*); | 89 void addPercentHeightDescendant(RenderBox*); |
90 static void removePercentHeightDescendant(RenderBox*); | 90 static void removePercentHeightDescendant(RenderBox*); |
91 HashSet<RenderBox*>* percentHeightDescendants() const; | 91 HashSet<RenderBox*>* percentHeightDescendants() const; |
92 | 92 |
93 RootInlineBox* createAndAppendRootInlineBox(); | 93 RootInlineBox* createAndAppendRootInlineBox(); |
94 | 94 |
95 bool generatesLineBoxesForInlineChild(RenderObject*, bool isLineEmpty = true
, bool previousLineBrokeCleanly = true); | 95 bool generatesLineBoxesForInlineChild(RenderObject*, bool isLineEmpty = true
, bool previousLineBrokeCleanly = true); |
96 | 96 |
97 void markAllDescendantsWithFloatsForLayout(RenderBox* floatToRemove = 0, boo
l inLayout = true); | 97 void markAllDescendantsWithFloatsForLayout(RenderBox* floatToRemove = 0, boo
l inLayout = true); |
| 98 void markSiblingsWithFloatsForLayout(); |
98 void markPositionedObjectsForLayout(); | 99 void markPositionedObjectsForLayout(); |
99 virtual void markForPaginationRelayoutIfNeeded(); | 100 virtual void markForPaginationRelayoutIfNeeded(); |
100 | 101 |
101 bool containsFloats() { return m_floatingObjects && !m_floatingObjects->set(
).isEmpty(); } | 102 bool containsFloats() { return m_floatingObjects && !m_floatingObjects->set(
).isEmpty(); } |
102 bool containsFloat(RenderBox*); | 103 bool containsFloat(RenderBox*); |
103 | 104 |
104 int availableLogicalWidthForLine(int position, bool firstLine) const; | 105 int availableLogicalWidthForLine(int position, bool firstLine) const; |
105 int logicalRightOffsetForLine(int position, bool firstLine) const { return l
ogicalRightOffsetForLine(position, logicalRightOffsetForContent(), firstLine); } | 106 int logicalRightOffsetForLine(int position, bool firstLine) const { return l
ogicalRightOffsetForLine(position, logicalRightOffsetForContent(), firstLine); } |
106 int logicalLeftOffsetForLine(int position, bool firstLine) const { return lo
gicalLeftOffsetForLine(position, logicalLeftOffsetForContent(), firstLine); } | 107 int logicalLeftOffsetForLine(int position, bool firstLine) const { return lo
gicalLeftOffsetForLine(position, logicalLeftOffsetForContent(), firstLine); } |
107 int startOffsetForLine(int position, bool firstLine) const { return style()-
>isLeftToRightDirection() ? logicalLeftOffsetForLine(position, firstLine) : logi
calRightOffsetForLine(position, firstLine); } | 108 int startOffsetForLine(int position, bool firstLine) const { return style()-
>isLeftToRightDirection() ? logicalLeftOffsetForLine(position, firstLine) : logi
calRightOffsetForLine(position, firstLine); } |
(...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
783 RenderObjectChildList m_children; | 784 RenderObjectChildList m_children; |
784 RenderLineBoxList m_lineBoxes; // All of the root line boxes created for t
his block flow. For example, <div>Hello<br>world.</div> will have two total lin
es for the <div>. | 785 RenderLineBoxList m_lineBoxes; // All of the root line boxes created for t
his block flow. For example, <div>Hello<br>world.</div> will have two total lin
es for the <div>. |
785 | 786 |
786 mutable int m_lineHeight : 31; | 787 mutable int m_lineHeight : 31; |
787 bool m_beingDestroyed : 1; | 788 bool m_beingDestroyed : 1; |
788 | 789 |
789 // RenderRubyBase objects need to be able to split and merge, moving their c
hildren around | 790 // RenderRubyBase objects need to be able to split and merge, moving their c
hildren around |
790 // (calling moveChildTo, moveAllChildrenTo, and makeChildrenNonInline). | 791 // (calling moveChildTo, moveAllChildrenTo, and makeChildrenNonInline). |
791 friend class RenderRubyBase; | 792 friend class RenderRubyBase; |
792 friend class LineWidth; // Needs to know FloatingObject | 793 friend class LineWidth; // Needs to know FloatingObject |
| 794 |
| 795 private: |
| 796 // Used to store state between styleWillChange and styleDidChange |
| 797 static bool s_canPropagateFloatIntoSibling; |
793 }; | 798 }; |
794 | 799 |
795 inline RenderBlock* toRenderBlock(RenderObject* object) | 800 inline RenderBlock* toRenderBlock(RenderObject* object) |
796 { | 801 { |
797 ASSERT(!object || object->isRenderBlock()); | 802 ASSERT(!object || object->isRenderBlock()); |
798 return static_cast<RenderBlock*>(object); | 803 return static_cast<RenderBlock*>(object); |
799 } | 804 } |
800 | 805 |
801 inline const RenderBlock* toRenderBlock(const RenderObject* object) | 806 inline const RenderBlock* toRenderBlock(const RenderObject* object) |
802 { | 807 { |
803 ASSERT(!object || object->isRenderBlock()); | 808 ASSERT(!object || object->isRenderBlock()); |
804 return static_cast<const RenderBlock*>(object); | 809 return static_cast<const RenderBlock*>(object); |
805 } | 810 } |
806 | 811 |
807 // This will catch anyone doing an unnecessary cast. | 812 // This will catch anyone doing an unnecessary cast. |
808 void toRenderBlock(const RenderBlock*); | 813 void toRenderBlock(const RenderBlock*); |
809 | 814 |
810 } // namespace WebCore | 815 } // namespace WebCore |
811 | 816 |
812 #endif // RenderBlock_h | 817 #endif // RenderBlock_h |
OLD | NEW |