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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 public: | 52 public: |
53 explicit RenderBlockFlow(ContainerNode*); | 53 explicit RenderBlockFlow(ContainerNode*); |
54 virtual ~RenderBlockFlow(); | 54 virtual ~RenderBlockFlow(); |
55 | 55 |
56 static RenderBlockFlow* createAnonymous(Document*); | 56 static RenderBlockFlow* createAnonymous(Document*); |
57 RenderBlockFlow* createAnonymousBlockFlow() const; | 57 RenderBlockFlow* createAnonymousBlockFlow() const; |
58 | 58 |
59 virtual bool isRenderBlockFlow() const OVERRIDE FINAL { return true; } | 59 virtual bool isRenderBlockFlow() const OVERRIDE FINAL { return true; } |
60 | 60 |
61 virtual void layoutBlock(bool relayoutChildren) OVERRIDE; | 61 virtual void layoutBlock(bool relayoutChildren) OVERRIDE; |
62 void layoutBlockFlow(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0
); | |
63 | 62 |
64 virtual void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFl
oats = false) OVERRIDE; | 63 virtual void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFl
oats = false) OVERRIDE; |
65 virtual void deleteLineBoxTree() OVERRIDE FINAL; | 64 virtual void deleteLineBoxTree() OVERRIDE FINAL; |
66 | 65 |
67 // Versions that can compute line offsets with the region and page offset pa
ssed in. Used for speed to avoid having to | 66 // Versions that can compute line offsets with the region and page offset pa
ssed in. Used for speed to avoid having to |
68 // compute the region all over again when you already know it. | 67 // compute the region all over again when you already know it. |
69 LayoutUnit availableLogicalWidthForLineInRegion(LayoutUnit position, bool sh
ouldIndentText, RenderRegion* region, LayoutUnit logicalHeight = 0) const | 68 LayoutUnit availableLogicalWidthForLineInRegion(LayoutUnit position, bool sh
ouldIndentText, RenderRegion* region, LayoutUnit logicalHeight = 0) const |
70 { | 69 { |
71 return max<LayoutUnit>(0, logicalRightOffsetForLineInRegion(position, sh
ouldIndentText, region, logicalHeight) | 70 return max<LayoutUnit>(0, logicalRightOffsetForLineInRegion(position, sh
ouldIndentText, region, logicalHeight) |
72 - logicalLeftOffsetForLineInRegion(position, shouldIndentText, regio
n, logicalHeight)); | 71 - logicalLeftOffsetForLineInRegion(position, shouldIndentText, regio
n, logicalHeight)); |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 return adjustLogicalRightOffsetForLine(logicalRightFloatOffsetForLine(lo
gicalTop, fixedOffset, logicalHeight), applyTextIndent); | 249 return adjustLogicalRightOffsetForLine(logicalRightFloatOffsetForLine(lo
gicalTop, fixedOffset, logicalHeight), applyTextIndent); |
251 } | 250 } |
252 LayoutUnit logicalLeftOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedO
ffset, bool applyTextIndent, LayoutUnit logicalHeight = 0) const | 251 LayoutUnit logicalLeftOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedO
ffset, bool applyTextIndent, LayoutUnit logicalHeight = 0) const |
253 { | 252 { |
254 return adjustLogicalLeftOffsetForLine(logicalLeftFloatOffsetForLine(logi
calTop, fixedOffset, logicalHeight), applyTextIndent); | 253 return adjustLogicalLeftOffsetForLine(logicalLeftFloatOffsetForLine(logi
calTop, fixedOffset, logicalHeight), applyTextIndent); |
255 } | 254 } |
256 | 255 |
257 virtual void insertedIntoTree() OVERRIDE; | 256 virtual void insertedIntoTree() OVERRIDE; |
258 virtual void willBeDestroyed() OVERRIDE; | 257 virtual void willBeDestroyed() OVERRIDE; |
259 private: | 258 private: |
| 259 void layoutBlockFlow(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0
); |
260 void layoutBlockChildren(bool relayoutChildren, LayoutUnit& maxFloatLogicalB
ottom, SubtreeLayoutScope&, LayoutUnit beforeEdge, LayoutUnit afterEdge); | 260 void layoutBlockChildren(bool relayoutChildren, LayoutUnit& maxFloatLogicalB
ottom, SubtreeLayoutScope&, LayoutUnit beforeEdge, LayoutUnit afterEdge); |
261 | 261 |
262 void layoutBlockChild(RenderBox* child, MarginInfo&, LayoutUnit& previousFlo
atLogicalBottom, LayoutUnit& maxFloatLogicalBottom); | 262 void layoutBlockChild(RenderBox* child, MarginInfo&, LayoutUnit& previousFlo
atLogicalBottom, LayoutUnit& maxFloatLogicalBottom); |
263 void adjustPositionedBlock(RenderBox* child, const MarginInfo&); | 263 void adjustPositionedBlock(RenderBox* child, const MarginInfo&); |
264 void adjustFloatingBlock(const MarginInfo&); | 264 void adjustFloatingBlock(const MarginInfo&); |
265 | 265 |
266 LayoutPoint flipFloatForWritingModeForChild(const FloatingObject*, const Lay
outPoint&) const; | 266 LayoutPoint flipFloatForWritingModeForChild(const FloatingObject*, const Lay
outPoint&) const; |
267 | 267 |
268 LayoutUnit xPositionForFloatIncludingMargin(const FloatingObject* child) con
st | 268 LayoutUnit xPositionForFloatIncludingMargin(const FloatingObject* child) con
st |
269 { | 269 { |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
520 | 520 |
521 // END METHODS DEFINED IN RenderBlockLineLayout | 521 // END METHODS DEFINED IN RenderBlockLineLayout |
522 | 522 |
523 }; | 523 }; |
524 | 524 |
525 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBlockFlow, isRenderBlockFlow()); | 525 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBlockFlow, isRenderBlockFlow()); |
526 | 526 |
527 } // namespace WebCore | 527 } // namespace WebCore |
528 | 528 |
529 #endif // RenderBlockFlow_h | 529 #endif // RenderBlockFlow_h |
OLD | NEW |