| Index: Source/core/layout/api/LineLayoutBlockFlow.h
|
| diff --git a/Source/core/layout/api/LineLayoutBlockFlow.h b/Source/core/layout/api/LineLayoutBlockFlow.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6809138daeb2d9c9021eb5bd8de74673ca457ad5
|
| --- /dev/null
|
| +++ b/Source/core/layout/api/LineLayoutBlockFlow.h
|
| @@ -0,0 +1,67 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef LineLayoutBlockFlow_h
|
| +#define LineLayoutBlockFlow_h
|
| +
|
| +#include "core/layout/FloatingObjects.h"
|
| +#include "core/layout/api/LineLayoutBox.h"
|
| +#include "platform/LayoutUnit.h"
|
| +
|
| +namespace blink {
|
| +
|
| +class LayoutBlockFlow;
|
| +class FloatingObject;
|
| +class LineInfo;
|
| +class LineWidth;
|
| +
|
| +class LineLayoutBlockFlow : public LineLayoutBox {
|
| +public:
|
| + LineLayoutBlockFlow(LayoutBlockFlow*);
|
| + LineLayoutBlockFlow(const LineLayoutItem&);
|
| + LineLayoutBlockFlow() { }
|
| +
|
| + LineLayoutItem firstChild() const;
|
| + LineLayoutItem lastChild() const;
|
| +
|
| + LayoutUnit startAlignedOffsetForLine(LayoutUnit position, bool shouldIndentText);
|
| +
|
| + LayoutUnit textIndentOffset() const;
|
| +
|
| + LayoutUnit logicalWidthForChild(const LayoutBox& child) const;
|
| + LayoutUnit marginStartForChild(const LayoutBoxModelObject&) const;
|
| + LayoutUnit marginEndForChild(const LayoutBoxModelObject&) const;
|
| + LayoutUnit marginBeforeForChild(const LayoutBoxModelObject&) const;
|
| +
|
| + LayoutUnit startOffsetForContent() const;
|
| +
|
| + LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode) const;
|
| + LayoutUnit minLineHeightForReplacedObject(bool isFirstLine, LayoutUnit replacedHeight) const;
|
| +
|
| + void setStaticInlinePositionForChild(LayoutBox&, LayoutUnit inlinePosition);
|
| + void updateStaticInlinePositionForChild(LayoutBox&, LayoutUnit logicalTop);
|
| +
|
| + FloatingObject* insertFloatingObject(LayoutBox&);
|
| + bool positionNewFloats(LineWidth*);
|
| + bool positionNewFloatOnLine(FloatingObject* newFloat, FloatingObject* lastFloatFromPreviousLine, LineInfo&, LineWidth&);
|
| + LayoutUnit nextFloatLogicalBottomBelow(LayoutUnit, ShapeOutsideFloatOffsetMode = ShapeOutsideFloatMarginBoxOffset) const;
|
| + FloatingObject* lastFloatFromPreviousLine() const;
|
| +
|
| + LayoutUnit logicalTopForFloat(const FloatingObject*) const;
|
| + LayoutUnit logicalBottomForFloat(const FloatingObject*) const;
|
| + LayoutUnit logicalLeftForFloat(const FloatingObject*) const;
|
| + LayoutUnit logicalRightForFloat(const FloatingObject*) const;
|
| + LayoutUnit logicalWidthForFloat(const FloatingObject*) const;
|
| +
|
| + LayoutUnit logicalRightOffsetForLine(LayoutUnit position, bool shouldIndentText, LayoutUnit logicalHeight = 0) const;
|
| + LayoutUnit logicalLeftOffsetForLine(LayoutUnit position, bool shouldIndentText, LayoutUnit logicalHeight = 0) const;
|
| +
|
| +private:
|
| + LayoutBlockFlow* toBlockFlow();
|
| + const LayoutBlockFlow* toBlockFlow() const;
|
| +};
|
| +
|
| +} // namespace blink
|
| +
|
| +#endif // LineLayoutBlockFlow_h
|
|
|