summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/mathml/RenderMathMLRow.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/mathml/RenderMathMLRow.h')
-rw-r--r--Source/WebCore/rendering/mathml/RenderMathMLRow.h28
1 files changed, 16 insertions, 12 deletions
diff --git a/Source/WebCore/rendering/mathml/RenderMathMLRow.h b/Source/WebCore/rendering/mathml/RenderMathMLRow.h
index 16ddfcdea..f9c16789b 100644
--- a/Source/WebCore/rendering/mathml/RenderMathMLRow.h
+++ b/Source/WebCore/rendering/mathml/RenderMathMLRow.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2010 Alex Milowski (alex@milowski.com). All rights reserved.
+ * Copyright (C) 2016 Igalia S.L.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,8 +24,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef RenderMathMLRow_h
-#define RenderMathMLRow_h
+#pragma once
#if ENABLE(MATHML)
@@ -32,24 +32,28 @@
namespace WebCore {
-class RenderMathMLRoot;
+class MathMLRowElement;
class RenderMathMLRow : public RenderMathMLBlock {
public:
- RenderMathMLRow(Element&, PassRef<RenderStyle>);
- RenderMathMLRow(Document&, PassRef<RenderStyle>);
-
- static RenderPtr<RenderMathMLRow> createAnonymousWithParentRenderer(RenderMathMLRoot&);
+ RenderMathMLRow(MathMLRowElement&, RenderStyle&&);
+ MathMLRowElement& element() const;
protected:
- virtual void layout();
+ void layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0) override;
+ std::optional<int> firstLineBaseline() const override;
+
+ void layoutRowItems(LayoutUnit& ascent, LayoutUnit& descent);
+ void computeLineVerticalStretch(LayoutUnit& ascent, LayoutUnit& descent);
+ void computePreferredLogicalWidths() override;
private:
- virtual bool isRenderMathMLRow() const override final { return true; }
- virtual const char* renderName() const override { return isAnonymous() ? "RenderMathMLRow (anonymous)" : "RenderMathMLRow"; }
+ bool isRenderMathMLRow() const final { return true; }
+ const char* renderName() const override { return "RenderMathMLRow"; }
};
-}
+} // namespace WebCore
+
+SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderMathMLRow, isRenderMathMLRow())
#endif // ENABLE(MATHML)
-#endif // RenderMathMLRow_h