From 693fb5e400d3eb61057b6482d22e2bd8012f8f9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Thu, 21 Dec 2017 11:57:34 +0100 Subject: [PATCH] [poincare] Clean Layouts. Do not compute the baseline at construction, and use base class constructors. Change-Id: I4361a6d92d7652b2aae2d662388b8d2c90afd3ce --- poincare/src/layout/baseline_relative_layout.cpp | 1 - poincare/src/layout/bracket_layout.cpp | 6 ------ poincare/src/layout/bracket_layout.h | 2 +- poincare/src/layout/char_layout.cpp | 1 - poincare/src/layout/condensed_sum_layout.cpp | 6 ------ poincare/src/layout/condensed_sum_layout.h | 2 +- poincare/src/layout/conjugate_layout.cpp | 6 ------ poincare/src/layout/conjugate_layout.h | 2 +- poincare/src/layout/empty_layout.cpp | 6 ------ poincare/src/layout/empty_layout.h | 2 +- poincare/src/layout/empty_visible_layout.cpp | 1 - poincare/src/layout/fraction_layout.cpp | 6 ------ poincare/src/layout/fraction_layout.h | 2 +- poincare/src/layout/grid_layout.cpp | 1 - poincare/src/layout/horizontal_layout.cpp | 11 ----------- poincare/src/layout/horizontal_layout.h | 3 +-- poincare/src/layout/integral_layout.cpp | 6 ------ poincare/src/layout/integral_layout.h | 2 +- poincare/src/layout/nth_root_layout.cpp | 6 ------ poincare/src/layout/nth_root_layout.h | 2 +- poincare/src/layout/parenthesis_layout.cpp | 1 - poincare/src/layout/sequence_layout.cpp | 6 ------ poincare/src/layout/sequence_layout.h | 2 +- 23 files changed, 9 insertions(+), 74 deletions(-) diff --git a/poincare/src/layout/baseline_relative_layout.cpp b/poincare/src/layout/baseline_relative_layout.cpp index 39b0bac48..6947ed585 100644 --- a/poincare/src/layout/baseline_relative_layout.cpp +++ b/poincare/src/layout/baseline_relative_layout.cpp @@ -9,7 +9,6 @@ BaselineRelativeLayout::BaselineRelativeLayout(ExpressionLayout * base, Expressi StaticLayoutHierarchy(base, indice, cloneOperands), m_type(type) { - computeBaseline(); } ExpressionLayout * BaselineRelativeLayout::clone() const { diff --git a/poincare/src/layout/bracket_layout.cpp b/poincare/src/layout/bracket_layout.cpp index 1ad946b87..38303abf7 100644 --- a/poincare/src/layout/bracket_layout.cpp +++ b/poincare/src/layout/bracket_layout.cpp @@ -7,12 +7,6 @@ extern "C" { namespace Poincare { -BracketLayout::BracketLayout(ExpressionLayout * operandLayout, bool cloneOperands) : - StaticLayoutHierarchy<1>(operandLayout, cloneOperands) -{ - computeBaseline(); -} - ExpressionLayout * BracketLayout::clone() const { BracketLayout * layout = new BracketLayout(const_cast(this)->operandLayout(), true); return layout; diff --git a/poincare/src/layout/bracket_layout.h b/poincare/src/layout/bracket_layout.h index b9beeb4c7..8de75000d 100644 --- a/poincare/src/layout/bracket_layout.h +++ b/poincare/src/layout/bracket_layout.h @@ -7,7 +7,7 @@ namespace Poincare { class BracketLayout : public StaticLayoutHierarchy<1> { public: - BracketLayout(ExpressionLayout * operandLayout, bool cloneOperands); + using StaticLayoutHierarchy::StaticLayoutHierarchy; ExpressionLayout * clone() const override; bool moveLeft(ExpressionLayoutCursor * cursor) override; bool moveRight(ExpressionLayoutCursor * cursor) override; diff --git a/poincare/src/layout/char_layout.cpp b/poincare/src/layout/char_layout.cpp index 22357ddfc..866814bda 100644 --- a/poincare/src/layout/char_layout.cpp +++ b/poincare/src/layout/char_layout.cpp @@ -10,7 +10,6 @@ CharLayout::CharLayout(char c, KDText::FontSize fontSize) : m_char(c), m_fontSize(fontSize) { - computeBaseline(); } ExpressionLayout * CharLayout::clone() const { diff --git a/poincare/src/layout/condensed_sum_layout.cpp b/poincare/src/layout/condensed_sum_layout.cpp index 04babee19..a7a511e9e 100644 --- a/poincare/src/layout/condensed_sum_layout.cpp +++ b/poincare/src/layout/condensed_sum_layout.cpp @@ -5,12 +5,6 @@ namespace Poincare { -CondensedSumLayout::CondensedSumLayout(ExpressionLayout * base, ExpressionLayout * subscript, ExpressionLayout * superscript, bool cloneOperands) : - StaticLayoutHierarchy<3>(base, subscript, superscript, cloneOperands) -{ - computeBaseline(); -} - ExpressionLayout * CondensedSumLayout::clone() const { CondensedSumLayout * layout = new CondensedSumLayout(const_cast(this)->baseLayout(), const_cast(this)->subscriptLayout(), const_cast(this)->superscriptLayout(), true); return layout; diff --git a/poincare/src/layout/condensed_sum_layout.h b/poincare/src/layout/condensed_sum_layout.h index fa9179acd..20795398d 100644 --- a/poincare/src/layout/condensed_sum_layout.h +++ b/poincare/src/layout/condensed_sum_layout.h @@ -7,7 +7,7 @@ namespace Poincare { class CondensedSumLayout : public StaticLayoutHierarchy<3> { public: - CondensedSumLayout(ExpressionLayout * base, ExpressionLayout * subscript, ExpressionLayout * superscript, bool cloneOperands); + using StaticLayoutHierarchy::StaticLayoutHierarchy; ExpressionLayout * clone() const override; bool moveLeft(ExpressionLayoutCursor * cursor) override; bool moveRight(ExpressionLayoutCursor * cursor) override; diff --git a/poincare/src/layout/conjugate_layout.cpp b/poincare/src/layout/conjugate_layout.cpp index 97317f5dc..19957fe20 100644 --- a/poincare/src/layout/conjugate_layout.cpp +++ b/poincare/src/layout/conjugate_layout.cpp @@ -8,12 +8,6 @@ extern "C" { namespace Poincare { -ConjugateLayout::ConjugateLayout(ExpressionLayout * operand, bool cloneOperands) : - StaticLayoutHierarchy<1>(operand, cloneOperands) -{ - computeBaseline(); -} - ExpressionLayout * ConjugateLayout::clone() const { ConjugateLayout * layout = new ConjugateLayout(const_cast(this)->operandLayout(), true); return layout; diff --git a/poincare/src/layout/conjugate_layout.h b/poincare/src/layout/conjugate_layout.h index 732e89e49..c4b4454df 100644 --- a/poincare/src/layout/conjugate_layout.h +++ b/poincare/src/layout/conjugate_layout.h @@ -7,7 +7,7 @@ namespace Poincare { class ConjugateLayout : public StaticLayoutHierarchy<1> { public: - ConjugateLayout(ExpressionLayout * operand, bool cloneOperands); + using StaticLayoutHierarchy::StaticLayoutHierarchy; ExpressionLayout * clone() const override; bool moveLeft(ExpressionLayoutCursor * cursor) override; bool moveRight(ExpressionLayoutCursor * cursor) override; diff --git a/poincare/src/layout/empty_layout.cpp b/poincare/src/layout/empty_layout.cpp index 5d8919441..88871bb7c 100644 --- a/poincare/src/layout/empty_layout.cpp +++ b/poincare/src/layout/empty_layout.cpp @@ -4,12 +4,6 @@ namespace Poincare { -EmptyLayout::EmptyLayout() : - StaticLayoutHierarchy<0>() -{ - m_baseline = 0; -} - ExpressionLayout * EmptyLayout::clone() const { EmptyLayout * layout = new EmptyLayout(); return layout; diff --git a/poincare/src/layout/empty_layout.h b/poincare/src/layout/empty_layout.h index 2c746faba..9ca0b9b28 100644 --- a/poincare/src/layout/empty_layout.h +++ b/poincare/src/layout/empty_layout.h @@ -8,7 +8,7 @@ namespace Poincare { class EmptyLayout : public StaticLayoutHierarchy<0> { public: - EmptyLayout(); + using StaticLayoutHierarchy::StaticLayoutHierarchy; ExpressionLayout * clone() const override; void addBrother(ExpressionLayoutCursor * cursor, ExpressionLayout * brother) override; bool moveLeft(ExpressionLayoutCursor * cursor) override; diff --git a/poincare/src/layout/empty_visible_layout.cpp b/poincare/src/layout/empty_visible_layout.cpp index f6cdaf7b4..f4291ef24 100644 --- a/poincare/src/layout/empty_visible_layout.cpp +++ b/poincare/src/layout/empty_visible_layout.cpp @@ -8,7 +8,6 @@ EmptyVisibleLayout::EmptyVisibleLayout() : EmptyLayout(), m_fillRectColor(KDColor::RGB24(0xffd370)) //TODO make static or in Palette? { - computeBaseline(); } ExpressionLayout * EmptyVisibleLayout::clone() const { diff --git a/poincare/src/layout/fraction_layout.cpp b/poincare/src/layout/fraction_layout.cpp index 6fd6651b3..b642671c1 100644 --- a/poincare/src/layout/fraction_layout.cpp +++ b/poincare/src/layout/fraction_layout.cpp @@ -6,12 +6,6 @@ namespace Poincare { -FractionLayout::FractionLayout(ExpressionLayout * numerator, ExpressionLayout * denominator, bool cloneOperands) : - StaticLayoutHierarchy<2>(numerator, denominator, cloneOperands) -{ - computeBaseline(); -} - ExpressionLayout * FractionLayout::clone() const { FractionLayout * layout = new FractionLayout(const_cast(this)->numeratorLayout(), const_cast(this)->denominatorLayout(), true); return layout; diff --git a/poincare/src/layout/fraction_layout.h b/poincare/src/layout/fraction_layout.h index 670718879..0bbb85ac3 100644 --- a/poincare/src/layout/fraction_layout.h +++ b/poincare/src/layout/fraction_layout.h @@ -7,7 +7,7 @@ namespace Poincare { class FractionLayout : public StaticLayoutHierarchy<2> { public: - FractionLayout(ExpressionLayout * numerator, ExpressionLayout * denominator, bool cloneOperands); + using StaticLayoutHierarchy::StaticLayoutHierarchy; ExpressionLayout * clone() const override; bool moveLeft(ExpressionLayoutCursor * cursor) override; bool moveRight(ExpressionLayoutCursor * cursor) override; diff --git a/poincare/src/layout/grid_layout.cpp b/poincare/src/layout/grid_layout.cpp index 504a9c65d..9821533de 100644 --- a/poincare/src/layout/grid_layout.cpp +++ b/poincare/src/layout/grid_layout.cpp @@ -12,7 +12,6 @@ GridLayout::GridLayout(ExpressionLayout ** entryLayouts, int numberOfRows, int n m_numberOfRows(numberOfRows), m_numberOfColumns(numberOfColumns) { - computeBaseline(); } ExpressionLayout * GridLayout::clone() const { diff --git a/poincare/src/layout/horizontal_layout.cpp b/poincare/src/layout/horizontal_layout.cpp index 0be29923c..6f2f882f1 100644 --- a/poincare/src/layout/horizontal_layout.cpp +++ b/poincare/src/layout/horizontal_layout.cpp @@ -10,17 +10,6 @@ extern "C" { namespace Poincare { -HorizontalLayout::HorizontalLayout() : - DynamicLayoutHierarchy() -{ -} - -HorizontalLayout::HorizontalLayout(ExpressionLayout ** childrenLayouts, int childrenCount, bool cloneOperands) : - DynamicLayoutHierarchy(childrenLayouts, childrenCount, cloneOperands) -{ - computeBaseline(); -} - ExpressionLayout * HorizontalLayout::clone() const { HorizontalLayout * layout = new HorizontalLayout(const_cast(children()), numberOfChildren(), true); return layout; diff --git a/poincare/src/layout/horizontal_layout.h b/poincare/src/layout/horizontal_layout.h index d6f8bba01..b3f1129dd 100644 --- a/poincare/src/layout/horizontal_layout.h +++ b/poincare/src/layout/horizontal_layout.h @@ -7,8 +7,7 @@ namespace Poincare { class HorizontalLayout : public DynamicLayoutHierarchy { public: - HorizontalLayout(); - HorizontalLayout(ExpressionLayout ** layouts, int childrenCount, bool cloneOperands); + using DynamicLayoutHierarchy::DynamicLayoutHierarchy; ExpressionLayout * clone() const override; /* Navigation */ diff --git a/poincare/src/layout/integral_layout.cpp b/poincare/src/layout/integral_layout.cpp index 755a27635..59164adb7 100644 --- a/poincare/src/layout/integral_layout.cpp +++ b/poincare/src/layout/integral_layout.cpp @@ -19,12 +19,6 @@ const uint8_t bottomSymbolPixel[IntegralLayout::k_symbolHeight][IntegralLayout:: {0xFF, 0xFF, 0x00, 0x00}, }; -IntegralLayout::IntegralLayout(ExpressionLayout * lowerBound, ExpressionLayout * upperBound, ExpressionLayout * integrand, bool cloneOperands) : - StaticLayoutHierarchy<3>(upperBound, lowerBound, integrand, cloneOperands) -{ - computeBaseline(); -} - ExpressionLayout * IntegralLayout::clone() const { IntegralLayout * layout = new IntegralLayout(const_cast(this)->lowerBoundLayout(), const_cast(this)->upperBoundLayout(), const_cast(this)->integrandLayout(), true); return layout; diff --git a/poincare/src/layout/integral_layout.h b/poincare/src/layout/integral_layout.h index 7390f644a..67b0e5750 100644 --- a/poincare/src/layout/integral_layout.h +++ b/poincare/src/layout/integral_layout.h @@ -9,7 +9,7 @@ class IntegralLayout : public StaticLayoutHierarchy<3> { public: constexpr static KDCoordinate k_symbolHeight = 4; constexpr static KDCoordinate k_symbolWidth = 4; - IntegralLayout(ExpressionLayout * lowerBound, ExpressionLayout * upperBound, ExpressionLayout * integrand, bool cloneOperands); + using StaticLayoutHierarchy::StaticLayoutHierarchy; ExpressionLayout * clone() const override; bool moveLeft(ExpressionLayoutCursor * cursor) override; bool moveRight(ExpressionLayoutCursor * cursor) override; diff --git a/poincare/src/layout/nth_root_layout.cpp b/poincare/src/layout/nth_root_layout.cpp index 3609284e1..709e3df2f 100644 --- a/poincare/src/layout/nth_root_layout.cpp +++ b/poincare/src/layout/nth_root_layout.cpp @@ -16,12 +16,6 @@ const uint8_t radixPixel[NthRootLayout::k_leftRadixHeight][NthRootLayout::k_left {0xFF, 0xFF, 0xFF, 0xFF, 0x00}, }; -NthRootLayout::NthRootLayout(ExpressionLayout * radicand, ExpressionLayout * index, bool cloneOperands) : - StaticLayoutHierarchy<2>(radicand, index, cloneOperands) -{ - computeBaseline(); -} - ExpressionLayout * NthRootLayout::clone() const { NthRootLayout * layout = new NthRootLayout(const_cast(this)->radicandLayout(), const_cast(this)->indexLayout(), true); return layout; diff --git a/poincare/src/layout/nth_root_layout.h b/poincare/src/layout/nth_root_layout.h index 8f54033a7..5c1ad77d9 100644 --- a/poincare/src/layout/nth_root_layout.h +++ b/poincare/src/layout/nth_root_layout.h @@ -9,7 +9,7 @@ class NthRootLayout : public StaticLayoutHierarchy<2> { public: constexpr static KDCoordinate k_leftRadixHeight = 8; constexpr static KDCoordinate k_leftRadixWidth = 5; - NthRootLayout(ExpressionLayout * radicand, ExpressionLayout * index, bool cloneOperands); + using StaticLayoutHierarchy::StaticLayoutHierarchy; ExpressionLayout * clone() const override; bool moveLeft(ExpressionLayoutCursor * cursor) override; bool moveRight(ExpressionLayoutCursor * cursor) override; diff --git a/poincare/src/layout/parenthesis_layout.cpp b/poincare/src/layout/parenthesis_layout.cpp index b5b48641f..0f9cbd1fc 100644 --- a/poincare/src/layout/parenthesis_layout.cpp +++ b/poincare/src/layout/parenthesis_layout.cpp @@ -15,7 +15,6 @@ ParenthesisLayout::ParenthesisLayout(ExpressionLayout * operand, bool cloneOpera ExpressionLayout * leftParenthesis = new ParenthesisLeftLayout(); ExpressionLayout * rightParenthesis = new ParenthesisRightLayout(); build(ExpressionLayout::ExpressionLayoutArray3(leftParenthesis, operand, rightParenthesis), 3, cloneOperands); - computeBaseline(); } ExpressionLayout * ParenthesisLayout::clone() const { diff --git a/poincare/src/layout/sequence_layout.cpp b/poincare/src/layout/sequence_layout.cpp index 360578568..708b7e1af 100644 --- a/poincare/src/layout/sequence_layout.cpp +++ b/poincare/src/layout/sequence_layout.cpp @@ -6,12 +6,6 @@ namespace Poincare { -SequenceLayout::SequenceLayout(ExpressionLayout * lowerBound, ExpressionLayout * upperBound, ExpressionLayout * argument, bool cloneOperands) : - StaticLayoutHierarchy<3>(upperBound, lowerBound, argument, cloneOperands) -{ - computeBaseline(); -} - bool SequenceLayout::moveLeft(ExpressionLayoutCursor * cursor) { // Case: Left of the bounds. // Go Left of the sequence. diff --git a/poincare/src/layout/sequence_layout.h b/poincare/src/layout/sequence_layout.h index e2eb0e57f..7df9ce767 100644 --- a/poincare/src/layout/sequence_layout.h +++ b/poincare/src/layout/sequence_layout.h @@ -9,7 +9,7 @@ class SequenceLayout : public StaticLayoutHierarchy<3> { public: constexpr static KDCoordinate k_symbolHeight = 15; constexpr static KDCoordinate k_symbolWidth = 9; - SequenceLayout(ExpressionLayout * lowerBound, ExpressionLayout * upperBound, ExpressionLayout * argument, bool cloneOperands); + using StaticLayoutHierarchy::StaticLayoutHierarchy; bool moveLeft(ExpressionLayoutCursor * cursor) override; bool moveRight(ExpressionLayoutCursor * cursor) override; bool moveUp(ExpressionLayoutCursor * cursor, ExpressionLayout * previousLayout, ExpressionLayout * previousPreviousLayout) override;