| 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 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 | 206 |
| 207 virtual RenderBox* createAnonymousBoxWithSameTypeAs(const RenderObject* pare
nt) const OVERRIDE; | 207 virtual RenderBox* createAnonymousBoxWithSameTypeAs(const RenderObject* pare
nt) const OVERRIDE; |
| 208 | 208 |
| 209 ColumnInfo* columnInfo() const; | 209 ColumnInfo* columnInfo() const; |
| 210 int columnGap() const; | 210 int columnGap() const; |
| 211 | 211 |
| 212 // These two functions take the ColumnInfo* to avoid repeated lookups of the
info in the global HashMap. | 212 // These two functions take the ColumnInfo* to avoid repeated lookups of the
info in the global HashMap. |
| 213 unsigned columnCount(ColumnInfo*) const; | 213 unsigned columnCount(ColumnInfo*) const; |
| 214 LayoutRect columnRectAt(ColumnInfo*, unsigned) const; | 214 LayoutRect columnRectAt(ColumnInfo*, unsigned) const; |
| 215 | 215 |
| 216 bool shouldBreakAtLineToAvoidWidow() const { return m_rareData && m_rareData
->m_lineBreakToAvoidWidow >= 0; } | |
| 217 void clearShouldBreakAtLineToAvoidWidow() const; | |
| 218 int lineBreakToAvoidWidow() const { return m_rareData ? m_rareData->m_lineBr
eakToAvoidWidow : -1; } | |
| 219 void setBreakAtLineToAvoidWidow(int); | |
| 220 void clearDidBreakAtLineToAvoidWidow(); | |
| 221 void setDidBreakAtLineToAvoidWidow(); | |
| 222 bool didBreakAtLineToAvoidWidow() const { return m_rareData && m_rareData->m
_didBreakAtLineToAvoidWidow; } | |
| 223 | |
| 224 // The page logical offset is the object's offset from the top of the page i
n the page progression | 216 // The page logical offset is the object's offset from the top of the page i
n the page progression |
| 225 // direction (so an x-offset in vertical text and a y-offset for horizontal
text). | 217 // direction (so an x-offset in vertical text and a y-offset for horizontal
text). |
| 226 LayoutUnit pageLogicalOffset() const { return m_rareData ? m_rareData->m_pag
eLogicalOffset : LayoutUnit(); } | 218 LayoutUnit pageLogicalOffset() const { return m_rareData ? m_rareData->m_pag
eLogicalOffset : LayoutUnit(); } |
| 227 void setPageLogicalOffset(LayoutUnit); | 219 void setPageLogicalOffset(LayoutUnit); |
| 228 | 220 |
| 229 // Accessors for logical width/height and margins in the containing block's
block-flow direction. | 221 // Accessors for logical width/height and margins in the containing block's
block-flow direction. |
| 230 LayoutUnit logicalWidthForChild(const RenderBox* child) const { return isHor
izontalWritingMode() ? child->width() : child->height(); } | 222 LayoutUnit logicalWidthForChild(const RenderBox* child) const { return isHor
izontalWritingMode() ? child->width() : child->height(); } |
| 231 LayoutUnit logicalHeightForChild(const RenderBox* child) const { return isHo
rizontalWritingMode() ? child->height() : child->width(); } | 223 LayoutUnit logicalHeightForChild(const RenderBox* child) const { return isHo
rizontalWritingMode() ? child->height() : child->width(); } |
| 232 LayoutSize logicalSizeForChild(const RenderBox* child) const { return isHori
zontalWritingMode() ? child->size() : child->size().transposedSize(); } | 224 LayoutSize logicalSizeForChild(const RenderBox* child) const { return isHori
zontalWritingMode() ? child->size() : child->size().transposedSize(); } |
| 233 LayoutUnit logicalTopForChild(const RenderBox* child) const { return isHoriz
ontalWritingMode() ? child->y() : child->x(); } | 225 LayoutUnit logicalTopForChild(const RenderBox* child) const { return isHoriz
ontalWritingMode() ? child->y() : child->x(); } |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 500 virtual LayoutUnit offsetFromLogicalTopOfFirstPage() const OVERRIDE FINAL; | 492 virtual LayoutUnit offsetFromLogicalTopOfFirstPage() const OVERRIDE FINAL; |
| 501 | 493 |
| 502 public: | 494 public: |
| 503 | 495 |
| 504 // Allocated only when some of these fields have non-default values | 496 // Allocated only when some of these fields have non-default values |
| 505 struct RenderBlockRareData { | 497 struct RenderBlockRareData { |
| 506 WTF_MAKE_NONCOPYABLE(RenderBlockRareData); WTF_MAKE_FAST_ALLOCATED; | 498 WTF_MAKE_NONCOPYABLE(RenderBlockRareData); WTF_MAKE_FAST_ALLOCATED; |
| 507 public: | 499 public: |
| 508 RenderBlockRareData() | 500 RenderBlockRareData() |
| 509 : m_pageLogicalOffset(0) | 501 : m_pageLogicalOffset(0) |
| 510 , m_lineBreakToAvoidWidow(-1) | |
| 511 , m_didBreakAtLineToAvoidWidow(false) | |
| 512 { | 502 { |
| 513 } | 503 } |
| 514 | 504 |
| 515 LayoutUnit m_pageLogicalOffset; | 505 LayoutUnit m_pageLogicalOffset; |
| 516 | |
| 517 int m_lineBreakToAvoidWidow : 31; | |
| 518 unsigned m_didBreakAtLineToAvoidWidow : 1; | |
| 519 }; | 506 }; |
| 520 | 507 |
| 521 protected: | 508 protected: |
| 522 OwnPtr<RenderBlockRareData> m_rareData; | 509 OwnPtr<RenderBlockRareData> m_rareData; |
| 523 | 510 |
| 524 RenderObjectChildList m_children; | 511 RenderObjectChildList m_children; |
| 525 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>. | 512 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>. |
| 526 | 513 |
| 527 unsigned m_hasMarginBeforeQuirk : 1; // Note these quirk values can't be put
in RenderBlockRareData since they are set too frequently. | 514 unsigned m_hasMarginBeforeQuirk : 1; // Note these quirk values can't be put
in RenderBlockRareData since they are set too frequently. |
| 528 unsigned m_hasMarginAfterQuirk : 1; | 515 unsigned m_hasMarginAfterQuirk : 1; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 541 // FIXME: This is temporary as we move code that accesses block flow | 528 // FIXME: This is temporary as we move code that accesses block flow |
| 542 // member variables out of RenderBlock and into RenderBlockFlow. | 529 // member variables out of RenderBlock and into RenderBlockFlow. |
| 543 friend class RenderBlockFlow; | 530 friend class RenderBlockFlow; |
| 544 }; | 531 }; |
| 545 | 532 |
| 546 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBlock, isRenderBlock()); | 533 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBlock, isRenderBlock()); |
| 547 | 534 |
| 548 } // namespace WebCore | 535 } // namespace WebCore |
| 549 | 536 |
| 550 #endif // RenderBlock_h | 537 #endif // RenderBlock_h |
| OLD | NEW |