Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Side by Side Diff: Source/core/rendering/RenderBlock.h

Issue 16943008: Column balancing support in the region based multicol implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 1080 matching lines...) Expand 10 before | Expand all | Expand 10 after
1091 LayoutUnit applyAfterBreak(RenderBox* child, LayoutUnit logicalOffset, Margi nInfo&); // If the child has an after break, then return a new offset that shift s to the top of the next page/column. 1091 LayoutUnit applyAfterBreak(RenderBox* child, LayoutUnit logicalOffset, Margi nInfo&); // If the child has an after break, then return a new offset that shift s to the top of the next page/column.
1092 1092
1093 public: 1093 public:
1094 LayoutUnit pageLogicalTopForOffset(LayoutUnit offset) const; 1094 LayoutUnit pageLogicalTopForOffset(LayoutUnit offset) const;
1095 LayoutUnit pageLogicalHeightForOffset(LayoutUnit offset) const; 1095 LayoutUnit pageLogicalHeightForOffset(LayoutUnit offset) const;
1096 LayoutUnit pageRemainingLogicalHeightForOffset(LayoutUnit offset, PageBounda ryRule = IncludePageBoundary) const; 1096 LayoutUnit pageRemainingLogicalHeightForOffset(LayoutUnit offset, PageBounda ryRule = IncludePageBoundary) const;
1097 1097
1098 protected: 1098 protected:
1099 bool pushToNextPageWithMinimumLogicalHeight(LayoutUnit& adjustment, LayoutUn it logicalOffset, LayoutUnit minimumLogicalHeight) const; 1099 bool pushToNextPageWithMinimumLogicalHeight(LayoutUnit& adjustment, LayoutUn it logicalOffset, LayoutUnit minimumLogicalHeight) const;
1100 1100
1101 // A page break is required at some offset due to space shortage in the curr ent fragmentainer.
1102 void setPageBreak(LayoutUnit offset, LayoutUnit spaceShortage);
1103
1104 // Update minimum page height required to avoid fragmentation where it shoul dn't occur (inside
1105 // unbreakable content, between orphans and widows, etc.). This will be used as a hint to the
1106 // column balancer to help set a good minimum column height.
1107 void updateMinimumPageHeight(LayoutUnit offset, LayoutUnit minHeight);
1108
1101 LayoutUnit adjustForUnsplittableChild(RenderBox* child, LayoutUnit logicalOf fset, bool includeMargins = false); // If the child is unsplittable and can't fi t on the current page, return the top of the next page/column. 1109 LayoutUnit adjustForUnsplittableChild(RenderBox* child, LayoutUnit logicalOf fset, bool includeMargins = false); // If the child is unsplittable and can't fi t on the current page, return the top of the next page/column.
1102 void adjustLinePositionForPagination(RootInlineBox*, LayoutUnit& deltaOffset , RenderFlowThread*); // Computes a deltaOffset value that put a line at the top of the next page if it doesn't fit on the current page. 1110 void adjustLinePositionForPagination(RootInlineBox*, LayoutUnit& deltaOffset , RenderFlowThread*); // Computes a deltaOffset value that put a line at the top of the next page if it doesn't fit on the current page.
1103 LayoutUnit adjustBlockChildForPagination(LayoutUnit logicalTopAfterClear, La youtUnit estimateWithoutPagination, RenderBox* child, bool atBeforeSideOfBlock); 1111 LayoutUnit adjustBlockChildForPagination(LayoutUnit logicalTopAfterClear, La youtUnit estimateWithoutPagination, RenderBox* child, bool atBeforeSideOfBlock);
1104 1112
1105 // Adjust from painting offsets to the local coords of this renderer 1113 // Adjust from painting offsets to the local coords of this renderer
1106 void offsetForContents(LayoutPoint&) const; 1114 void offsetForContents(LayoutPoint&) const;
1107 1115
1108 // This function is called to test a line box that has moved in the block di rection to see if it has ended up in a new 1116 // This function is called to test a line box that has moved in the block di rection to see if it has ended up in a new
1109 // region/page/column that has a different available line width than the old one. Used to know when you have to dirty a 1117 // region/page/column that has a different available line width than the old one. Used to know when you have to dirty a
1110 // line, i.e., that it can't be re-used. 1118 // line, i.e., that it can't be re-used.
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
1316 static String string(const int value); 1324 static String string(const int value);
1317 }; 1325 };
1318 template<> struct ValueToString<RenderBlock::FloatingObject*> { 1326 template<> struct ValueToString<RenderBlock::FloatingObject*> {
1319 static String string(const RenderBlock::FloatingObject*); 1327 static String string(const RenderBlock::FloatingObject*);
1320 }; 1328 };
1321 #endif 1329 #endif
1322 1330
1323 } // namespace WebCore 1331 } // namespace WebCore
1324 1332
1325 #endif // RenderBlock_h 1333 #endif // RenderBlock_h
OLDNEW
« no previous file with comments | « LayoutTests/fast/multicol/newmulticol/single-line-expected.html ('k') | Source/core/rendering/RenderBlock.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698