#include "core/rendering/RenderMultiColumnSet.h"
-namespace WebCore {
+namespace blink {
RenderMultiColumnFlowThread::RenderMultiColumnFlowThread()
: m_columnCount(1)
, m_columnHeightAvailable(0)
, m_inBalancingPass(false)
, m_needsColumnHeightsRecalculation(false)
+ , m_progressionIsInline(true)
{
setFlowThreadState(InsideInFlowThread);
}
LayoutPoint flowThreadPoint(point);
flipForWritingMode(flowThreadPoint);
LayoutUnit blockOffset = isHorizontalWritingMode() ? flowThreadPoint.y() : flowThreadPoint.x();
- RenderRegion* renderRegion = regionAtBlockOffset(blockOffset);
- if (!renderRegion)
+ RenderMultiColumnSet* columnSet = columnSetAtBlockOffset(blockOffset);
+ if (!columnSet)
return LayoutSize(0, 0);
- return toRenderMultiColumnSet(renderRegion)->flowThreadTranslationAtOffset(blockOffset);
+ return columnSet->flowThreadTranslationAtOffset(blockOffset);
}
bool RenderMultiColumnFlowThread::needsNewWidth() const
}
invalidateRegions();
- m_needsColumnHeightsRecalculation = requiresBalancing();
+ m_needsColumnHeightsRecalculation = heightIsAuto();
layout();
}
return "RenderMultiColumnFlowThread";
}
-void RenderMultiColumnFlowThread::addRegionToThread(RenderRegion* renderRegion)
+void RenderMultiColumnFlowThread::addRegionToThread(RenderMultiColumnSet* columnSet)
{
- RenderMultiColumnSet* columnSet = toRenderMultiColumnSet(renderRegion);
if (RenderMultiColumnSet* nextSet = columnSet->nextSiblingMultiColumnSet()) {
- RenderRegionList::iterator it = m_regionList.find(nextSet);
- ASSERT(it != m_regionList.end());
- m_regionList.insertBefore(it, columnSet);
+ RenderMultiColumnSetList::iterator it = m_multiColumnSetList.find(nextSet);
+ ASSERT(it != m_multiColumnSetList.end());
+ m_multiColumnSetList.insertBefore(it, columnSet);
} else {
- m_regionList.add(columnSet);
+ m_multiColumnSetList.add(columnSet);
}
- renderRegion->setIsValid(true);
+ columnSet->setIsValid(true);
}
void RenderMultiColumnFlowThread::willBeRemovedFromTree()
if (spaceShortage <= 0)
return;
- if (RenderMultiColumnSet* multicolSet = toRenderMultiColumnSet(regionAtBlockOffset(offset)))
+ if (RenderMultiColumnSet* multicolSet = columnSetAtBlockOffset(offset))
multicolSet->recordSpaceShortage(spaceShortage);
}
void RenderMultiColumnFlowThread::updateMinimumPageHeight(LayoutUnit offset, LayoutUnit minHeight)
{
- if (RenderMultiColumnSet* multicolSet = toRenderMultiColumnSet(regionAtBlockOffset(offset)))
+ if (RenderMultiColumnSet* multicolSet = columnSetAtBlockOffset(offset))
multicolSet->updateMinimumColumnHeight(minHeight);
}
-RenderRegion* RenderMultiColumnFlowThread::regionAtBlockOffset(LayoutUnit /*offset*/) const
+RenderMultiColumnSet* RenderMultiColumnFlowThread::columnSetAtBlockOffset(LayoutUnit /*offset*/) const
{
// For now there's only one column set, so this is easy:
return firstMultiColumnSet();
bool RenderMultiColumnFlowThread::addForcedRegionBreak(LayoutUnit offset, RenderObject* /*breakChild*/, bool /*isBefore*/, LayoutUnit* offsetBreakAdjustment)
{
- if (RenderMultiColumnSet* multicolSet = toRenderMultiColumnSet(regionAtBlockOffset(offset))) {
+ if (RenderMultiColumnSet* multicolSet = columnSetAtBlockOffset(offset)) {
multicolSet->addContentRun(offset);
if (offsetBreakAdjustment)
*offsetBreakAdjustment = pageLogicalHeightForOffset(offset) ? pageRemainingLogicalHeightForOffset(offset, IncludePageBoundary) : LayoutUnit();