[poincare] Added margins to ConjugateLayout.

Change-Id: I27b3788c87d36390fcea63c6a70b89aa36a2e9f3
This commit is contained in:
Léa Saviot
2017-12-19 16:31:15 +01:00
parent ed7614c925
commit 82469ca96e
5 changed files with 11 additions and 9 deletions

View File

@@ -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

View File

@@ -1,4 +1,5 @@
#include "conjugate_layout.h"
#include <escher/metric.h>
#include <poincare/expression_layout_cursor.h>
extern "C" {
#include <assert.h>
@@ -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() {

View File

@@ -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();
};

View File

@@ -1,4 +1,5 @@
#include "fraction_layout.h"
#include <escher/metric.h>
#include <poincare/expression_layout_cursor.h>
#include <string.h>
#include <assert.h>
@@ -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();

View File

@@ -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();