From 82469ca96eb32903be07cbb5937093c6116f6bc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Tue, 19 Dec 2017 16:31:15 +0100 Subject: [PATCH] [poincare] Added margins to ConjugateLayout. Change-Id: I27b3788c87d36390fcea63c6a70b89aa36a2e9f3 --- escher/include/escher/metric.h | 2 ++ poincare/src/layout/conjugate_layout.cpp | 9 +++++---- poincare/src/layout/conjugate_layout.h | 2 +- poincare/src/layout/fraction_layout.cpp | 5 +++-- poincare/src/layout/fraction_layout.h | 2 -- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/escher/include/escher/metric.h b/escher/include/escher/metric.h index cb62d2724..06c060a1c 100644 --- a/escher/include/escher/metric.h +++ b/escher/include/escher/metric.h @@ -25,6 +25,8 @@ public: constexpr static KDCoordinate ExamPopUpBottomMargin = 55; constexpr static KDCoordinate StoreRowHeight = 50; constexpr static KDCoordinate ToolboxRowHeight = 40; + constexpr static KDCoordinate FractionAndConjugateHorizontalOverflow = 2; + constexpr static KDCoordinate FractionAndConjugateHorizontalMargin = 2; }; #endif diff --git a/poincare/src/layout/conjugate_layout.cpp b/poincare/src/layout/conjugate_layout.cpp index db289ce45..45b9f7991 100644 --- a/poincare/src/layout/conjugate_layout.cpp +++ b/poincare/src/layout/conjugate_layout.cpp @@ -1,4 +1,5 @@ #include "conjugate_layout.h" +#include #include extern "C" { #include @@ -10,7 +11,7 @@ namespace Poincare { ConjugateLayout::ConjugateLayout(ExpressionLayout * operand, bool cloneOperands) : StaticLayoutHierarchy<1>(operand, cloneOperands) { - m_baseline = operandLayout()->baseline()+k_overlineWidth+k_overlineMargin; + m_baseline = operandLayout()->baseline()+k_overlineWidth+k_overlineVerticalMargin; } ExpressionLayout * ConjugateLayout::clone() const { @@ -79,16 +80,16 @@ bool ConjugateLayout::moveRight(ExpressionLayoutCursor * cursor) { } void ConjugateLayout::render(KDContext * ctx, KDPoint p, KDColor expressionColor, KDColor backgroundColor) { - ctx->fillRect(KDRect(p.x(), p.y(), operandLayout()->size().width(), k_overlineWidth), expressionColor); + ctx->fillRect(KDRect(p.x()+Metric::FractionAndConjugateHorizontalMargin, p.y(), operandLayout()->size().width()+2*Metric::FractionAndConjugateHorizontalOverflow, k_overlineWidth), expressionColor); } KDSize ConjugateLayout::computeSize() { KDSize operandSize = operandLayout()->size(); - return KDSize(operandSize.width(), operandSize.height()+k_overlineWidth+k_overlineMargin); + return KDSize(Metric::FractionAndConjugateHorizontalMargin+Metric::FractionAndConjugateHorizontalOverflow+operandSize.width()+Metric::FractionAndConjugateHorizontalOverflow+Metric::FractionAndConjugateHorizontalMargin, operandSize.height()+k_overlineWidth+k_overlineVerticalMargin); } KDPoint ConjugateLayout::positionOfChild(ExpressionLayout * child) { - return KDPoint(0, k_overlineWidth+k_overlineMargin); + return KDPoint(Metric::FractionAndConjugateHorizontalMargin+Metric::FractionAndConjugateHorizontalOverflow, k_overlineWidth+k_overlineVerticalMargin); } ExpressionLayout * ConjugateLayout::operandLayout() { diff --git a/poincare/src/layout/conjugate_layout.h b/poincare/src/layout/conjugate_layout.h index 15834cce4..5bb16be5b 100644 --- a/poincare/src/layout/conjugate_layout.h +++ b/poincare/src/layout/conjugate_layout.h @@ -17,7 +17,7 @@ protected: KDPoint positionOfChild(ExpressionLayout * child) override; private: constexpr static KDCoordinate k_overlineWidth = 1; - constexpr static KDCoordinate k_overlineMargin = 3; + constexpr static KDCoordinate k_overlineVerticalMargin = 1; ExpressionLayout * operandLayout(); }; diff --git a/poincare/src/layout/fraction_layout.cpp b/poincare/src/layout/fraction_layout.cpp index 41d4ec315..5d183530e 100644 --- a/poincare/src/layout/fraction_layout.cpp +++ b/poincare/src/layout/fraction_layout.cpp @@ -1,4 +1,5 @@ #include "fraction_layout.h" +#include #include #include #include @@ -101,12 +102,12 @@ bool FractionLayout::moveDown(ExpressionLayoutCursor * cursor, ExpressionLayout void FractionLayout::render(KDContext * ctx, KDPoint p, KDColor expressionColor, KDColor backgroundColor) { KDCoordinate fractionLineY = p.y() + numeratorLayout()->size().height() + k_fractionLineMargin; - ctx->fillRect(KDRect(p.x()+k_fractionBorderMargin, fractionLineY, size().width()-2*k_fractionBorderMargin, 1), expressionColor); + ctx->fillRect(KDRect(p.x()+Metric::FractionAndConjugateHorizontalMargin, fractionLineY, size().width()-2*Metric::FractionAndConjugateHorizontalMargin, 1), expressionColor); } KDSize FractionLayout::computeSize() { KDCoordinate width = max(numeratorLayout()->size().width(), denominatorLayout()->size().width()) - + 2*k_fractionBorderLength+2*k_fractionBorderMargin; + + 2*Metric::FractionAndConjugateHorizontalOverflow+2*Metric::FractionAndConjugateHorizontalMargin; KDCoordinate height = numeratorLayout()->size().height() + k_fractionLineMargin + k_fractionLineHeight + k_fractionLineMargin + denominatorLayout()->size().height(); diff --git a/poincare/src/layout/fraction_layout.h b/poincare/src/layout/fraction_layout.h index 13154045b..c2c93d275 100644 --- a/poincare/src/layout/fraction_layout.h +++ b/poincare/src/layout/fraction_layout.h @@ -18,8 +18,6 @@ protected: KDSize computeSize() override; KDPoint positionOfChild(ExpressionLayout * child) override; private: - constexpr static KDCoordinate k_fractionBorderLength = 2; - constexpr static KDCoordinate k_fractionBorderMargin = 2; constexpr static KDCoordinate k_fractionLineMargin = 2; constexpr static KDCoordinate k_fractionLineHeight = 2; ExpressionLayout * numeratorLayout();