diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/ng/mathml/ng_math_row_layout_algorithm.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/layout/ng/mathml/ng_math_row_layout_algorithm.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/ng/mathml/ng_math_row_layout_algorithm.h b/chromium/third_party/blink/renderer/core/layout/ng/mathml/ng_math_row_layout_algorithm.h new file mode 100644 index 00000000000..72b8dd10b40 --- /dev/null +++ b/chromium/third_party/blink/renderer/core/layout/ng/mathml/ng_math_row_layout_algorithm.h @@ -0,0 +1,42 @@ +// Copyright 2019 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 THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_MATHML_NG_MATH_ROW_LAYOUT_ALGORITHM_H_ +#define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_MATHML_NG_MATH_ROW_LAYOUT_ALGORITHM_H_ + +#include "third_party/blink/renderer/core/layout/ng/ng_block_break_token.h" +#include "third_party/blink/renderer/core/layout/ng/ng_block_node.h" +#include "third_party/blink/renderer/core/layout/ng/ng_box_fragment_builder.h" +#include "third_party/blink/renderer/core/layout/ng/ng_layout_algorithm.h" + +namespace blink { + +class LayoutUnit; + +class CORE_EXPORT NGMathRowLayoutAlgorithm + : public NGLayoutAlgorithm<NGBlockNode, + NGBoxFragmentBuilder, + NGBlockBreakToken> { + public: + NGMathRowLayoutAlgorithm(const NGLayoutAlgorithmParams& params); + + protected: + void LayoutRowItems(NGContainerFragmentBuilder::ChildrenVector*, + LayoutUnit* max_row_block_baseline, + LogicalSize* row_total_size); + + private: + scoped_refptr<const NGLayoutResult> Layout() final; + + base::Optional<MinMaxSizes> ComputeMinMaxSizes( + const MinMaxSizesInput&) const final; + + LogicalSize child_available_size_; + const NGBoxStrut border_padding_; + const NGBoxStrut border_scrollbar_padding_; +}; + +} // namespace blink + +#endif // THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_MATHML_NG_MATH_ROW_LAYOUT_ALGORITHM_H_ |