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-2013 Apple Inc. All rights reserved. | 5 * Copyright (C) 2003-2013 Apple Inc. All rights reserved. |
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
7 * Copyright (C) 2013 Google Inc. All rights reserved. | 7 * Copyright (C) 2013 Google Inc. All rights reserved. |
8 * | 8 * |
9 * Redistribution and use in source and binary forms, with or without | 9 * Redistribution and use in source and binary forms, with or without |
10 * modification, are permitted provided that the following conditions are | 10 * modification, are permitted provided that the following conditions are |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 { | 200 { |
201 if (m_rareData) | 201 if (m_rareData) |
202 m_rareData->m_multiColumnFlowThread = nullptr; | 202 m_rareData->m_multiColumnFlowThread = nullptr; |
203 } | 203 } |
204 | 204 |
205 void addOverflowFromInlineChildren(); | 205 void addOverflowFromInlineChildren(); |
206 | 206 |
207 // FIXME: This should be const to avoid a const_cast, but can modify child d
irty bits and LayoutTextCombine | 207 // FIXME: This should be const to avoid a const_cast, but can modify child d
irty bits and LayoutTextCombine |
208 void computeInlinePreferredLogicalWidths(LayoutUnit& minLogicalWidth, Layout
Unit& maxLogicalWidth); | 208 void computeInlinePreferredLogicalWidths(LayoutUnit& minLogicalWidth, Layout
Unit& maxLogicalWidth); |
209 | 209 |
210 bool shouldPaintSelectionGaps() const final; | |
211 LayoutRect logicalLeftSelectionGap(const LayoutBlock* rootBlock, const Layou
tPoint& rootBlockPhysicalPosition, const LayoutSize& offsetFromRootBlock, | |
212 const LineLayoutItem selObj, LayoutUnit logicalLeft, LayoutUnit logicalT
op, LayoutUnit logicalHeight, const PaintInfo*) const; | |
213 LayoutRect logicalRightSelectionGap(const LayoutBlock* rootBlock, const Layo
utPoint& rootBlockPhysicalPosition, const LayoutSize& offsetFromRootBlock, | |
214 const LineLayoutItem selObj, LayoutUnit logicalRight, LayoutUnit logical
Top, LayoutUnit logicalHeight, const PaintInfo*) const; | |
215 void getSelectionGapInfo(SelectionState, bool& leftGap, bool& rightGap) cons
t; | |
216 | |
217 LayoutRect selectionRectForPaintInvalidation(const LayoutBoxModelObject* pai
ntInvalidationContainer) const final; | |
218 GapRects selectionGapRectsForPaintInvalidation(const LayoutBoxModelObject* p
aintInvalidationContainer) const; | |
219 GapRects selectionGaps(const LayoutBlock* rootBlock, const LayoutPoint& root
BlockPhysicalPosition, const LayoutSize& offsetFromRootBlock, | |
220 LayoutUnit& lastLogicalTop, LayoutUnit& lastLogicalLeft, LayoutUnit& las
tLogicalRight, | |
221 const PaintInfo* = nullptr, ClipScope* = nullptr) const; | |
222 GapRects inlineSelectionGaps(const LayoutBlock* rootBlock, const LayoutPoint
& rootBlockPhysicalPosition, const LayoutSize& offsetFromRootBlock, | |
223 LayoutUnit& lastLogicalTop, LayoutUnit& lastLogicalLeft, LayoutUnit& las
tLogicalRight, const PaintInfo*) const; | |
224 GapRects blockSelectionGaps(const LayoutBlock* rootBlock, const LayoutPoint&
rootBlockPhysicalPosition, const LayoutSize& offsetFromRootBlock, | |
225 LayoutUnit& lastLogicalTop, LayoutUnit& lastLogicalLeft, LayoutUnit& las
tLogicalRight, const PaintInfo*) const; | |
226 LayoutRect blockSelectionGap(const LayoutBlock* rootBlock, const LayoutPoint
& rootBlockPhysicalPosition, const LayoutSize& offsetFromRootBlock, | |
227 LayoutUnit lastLogicalTop, LayoutUnit lastLogicalLeft, LayoutUnit lastLo
gicalRight, LayoutUnit logicalBottom, const PaintInfo*) const; | |
228 | |
229 bool allowsPaginationStrut() const; | 210 bool allowsPaginationStrut() const; |
230 // Pagination strut caused by the first line or child block inside this bloc
k-level object. | 211 // Pagination strut caused by the first line or child block inside this bloc
k-level object. |
231 // | 212 // |
232 // When the first piece of content (first child block or line) inside an obj
ect wants to insert | 213 // When the first piece of content (first child block or line) inside an obj
ect wants to insert |
233 // a soft page or column break, rather than setting a pagination strut on it
self it normally | 214 // a soft page or column break, rather than setting a pagination strut on it
self it normally |
234 // propagates the strut to its containing block (|this|), as long as our imp
lementation can | 215 // propagates the strut to its containing block (|this|), as long as our imp
lementation can |
235 // handle it. The idea is that we want to push the entire object to the next
page or column | 216 // handle it. The idea is that we want to push the entire object to the next
page or column |
236 // along with the child content that caused the break, instead of leaving un
usable space at the | 217 // along with the child content that caused the break, instead of leaving un
usable space at the |
237 // beginning of the object at the end of one column or page and just push th
e first line or | 218 // beginning of the object at the end of one column or page and just push th
e first line or |
238 // block to the next column or page. That would waste space in the container
for no good | 219 // block to the next column or page. That would waste space in the container
for no good |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 void addIntrudingFloats(LayoutBlockFlow* prev, LayoutUnit xoffset, LayoutUni
t yoffset); | 332 void addIntrudingFloats(LayoutBlockFlow* prev, LayoutUnit xoffset, LayoutUni
t yoffset); |
352 void addOverhangingFloats(LayoutBlockFlow* child, bool makeChildPaintOtherFl
oats); | 333 void addOverhangingFloats(LayoutBlockFlow* child, bool makeChildPaintOtherFl
oats); |
353 | 334 |
354 LayoutUnit lowestFloatLogicalBottom(FloatingObject::Type = FloatingObject::F
loatLeftRight) const; | 335 LayoutUnit lowestFloatLogicalBottom(FloatingObject::Type = FloatingObject::F
loatLeftRight) const; |
355 | 336 |
356 bool hitTestFloats(HitTestResult&, const HitTestLocation& locationInContaine
r, const LayoutPoint& accumulatedOffset) final; | 337 bool hitTestFloats(HitTestResult&, const HitTestLocation& locationInContaine
r, const LayoutPoint& accumulatedOffset) final; |
357 | 338 |
358 void invalidatePaintForOverhangingFloats(bool paintAllDescendants) final; | 339 void invalidatePaintForOverhangingFloats(bool paintAllDescendants) final; |
359 void invalidatePaintForOverflow() final; | 340 void invalidatePaintForOverflow() final; |
360 void paintFloats(const PaintInfo&, const LayoutPoint&) const final; | 341 void paintFloats(const PaintInfo&, const LayoutPoint&) const final; |
361 void paintSelection(const PaintInfo&, const LayoutPoint&) const final; | |
362 virtual void clipOutFloatingObjects(const LayoutBlock*, ClipScope&, const La
youtPoint&, const LayoutSize&) const; | 342 virtual void clipOutFloatingObjects(const LayoutBlock*, ClipScope&, const La
youtPoint&, const LayoutSize&) const; |
363 void clearFloats(EClear); | 343 void clearFloats(EClear); |
364 | 344 |
365 LayoutUnit logicalRightFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit
fixedOffset, LayoutUnit logicalHeight) const; | 345 LayoutUnit logicalRightFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit
fixedOffset, LayoutUnit logicalHeight) const; |
366 LayoutUnit logicalLeftFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit f
ixedOffset, LayoutUnit logicalHeight) const; | 346 LayoutUnit logicalLeftFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit f
ixedOffset, LayoutUnit logicalHeight) const; |
367 | 347 |
368 LayoutUnit logicalRightOffsetForPositioningFloat(LayoutUnit logicalTop, Layo
utUnit fixedOffset, LayoutUnit* heightRemaining) const; | 348 LayoutUnit logicalRightOffsetForPositioningFloat(LayoutUnit logicalTop, Layo
utUnit fixedOffset, LayoutUnit* heightRemaining) const; |
369 LayoutUnit logicalLeftOffsetForPositioningFloat(LayoutUnit logicalTop, Layou
tUnit fixedOffset, LayoutUnit* heightRemaining) const; | 349 LayoutUnit logicalLeftOffsetForPositioningFloat(LayoutUnit logicalTop, Layou
tUnit fixedOffset, LayoutUnit* heightRemaining) const; |
370 | 350 |
371 LayoutUnit adjustLogicalRightOffsetForLine(LayoutUnit offsetFromFloats, Inde
ntTextOrNot applyTextIndent) const; | 351 LayoutUnit adjustLogicalRightOffsetForLine(LayoutUnit offsetFromFloats, Inde
ntTextOrNot applyTextIndent) const; |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
606 | 586 |
607 // END METHODS DEFINED IN LayoutBlockFlowLine | 587 // END METHODS DEFINED IN LayoutBlockFlowLine |
608 | 588 |
609 }; | 589 }; |
610 | 590 |
611 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow()); | 591 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow()); |
612 | 592 |
613 } // namespace blink | 593 } // namespace blink |
614 | 594 |
615 #endif // LayoutBlockFlow_h | 595 #endif // LayoutBlockFlow_h |
OLD | NEW |