void RenderMultiColumnSet::computeLogicalHeight() { // Make sure our column height is up to date. RenderMultiColumnBlock* parentBlock = toRenderMultiColumnBlock(parent()); setColumnHeight(parentBlock->columnHeight()); // FIXME: Once we make more than one column set, this will become variable. // Our logical height is always just the height of our columns. setLogicalHeight(columnHeight()); }
void RenderMultiColumnBlock::checkForPaginationLogicalHeightChange(LayoutUnit& /*pageLogicalHeight*/, bool& /*pageLogicalHeightChanged*/, bool& /*hasSpecifiedPageLogicalHeight*/) { // We don't actually update any of the variables. We just subclassed to adjust our column height. updateLogicalHeight(); LayoutUnit newContentLogicalHeight = contentLogicalHeight(); m_requiresBalancing = !newContentLogicalHeight; if (!m_requiresBalancing) { // The regions will be invalidated when we lay them out and they change size to // the new column height. if (columnHeight() != newContentLogicalHeight) setColumnHeight(newContentLogicalHeight); } setLogicalHeight(0); }
void RenderMultiColumnBlock::checkForPaginationLogicalHeightChange(LayoutUnit& pageLogicalHeight, bool& pageLogicalHeightChanged, bool& hasSpecifiedPageLogicalHeight) { // We need to go ahead and set our explicit page height if one exists, so that we can // avoid doing multiple layout passes. computeLogicalHeight(); LayoutUnit newContentLogicalHeight = contentLogicalHeight(); if (newContentLogicalHeight > ZERO_LAYOUT_UNIT) { pageLogicalHeight = newContentLogicalHeight; hasSpecifiedPageLogicalHeight = true; } setLogicalHeight(ZERO_LAYOUT_UNIT); if (columnHeight() != pageLogicalHeight && everHadLayout()) { setColumnHeight(pageLogicalHeight); pageLogicalHeightChanged = true; } // Set up our column sets. ensureColumnSets(); }