From 8828eaf79fd7d2bc532181b0bb3d4f8c28455bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Thu, 14 Dec 2017 13:51:40 +0100 Subject: [PATCH] [escher] ExpressionView drawingOrigin(). Change-Id: I737f17f857edb6e9971feeeb196f2698cc92ad9e --- escher/include/escher/expression_view.h | 1 + escher/src/expression_view.cpp | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/escher/include/escher/expression_view.h b/escher/include/escher/expression_view.h index 0b3888d9e..25861e61f 100644 --- a/escher/include/escher/expression_view.h +++ b/escher/include/escher/expression_view.h @@ -22,6 +22,7 @@ public: void setTextColor(KDColor textColor); void setAlignment(float horizontalAlignment, float verticalAlignment); KDSize minimalSizeForOptimalDisplay() const override; + KDPoint drawingOrigin() const; private: /* Warning: we do not need to delete the previous expression layout when * deleting object or setting a new expression layout. Indeed, the expression diff --git a/escher/src/expression_view.cpp b/escher/src/expression_view.cpp index 2686d7688..0fa196d63 100644 --- a/escher/src/expression_view.cpp +++ b/escher/src/expression_view.cpp @@ -47,13 +47,15 @@ KDSize ExpressionView::minimalSizeForOptimalDisplay() const { return m_expressionLayout->size(); } +KDPoint ExpressionView::drawingOrigin() const { + KDSize expressionSize = m_expressionLayout->size(); + return KDPoint(m_horizontalAlignment*(m_frame.width() - expressionSize.width()), + 0.5f*(m_frame.height() - expressionSize.height())); +} + void ExpressionView::drawRect(KDContext * ctx, KDRect rect) const { ctx->fillRect(rect, m_backgroundColor); if (m_expressionLayout != nullptr) { - //Position the origin of expression - KDSize expressionSize = m_expressionLayout->size(); - KDPoint origin(m_horizontalAlignment*(m_frame.width() - expressionSize.width()), - 0.5f*(m_frame.height() - expressionSize.height())); - m_expressionLayout->draw(ctx, origin, m_textColor, m_backgroundColor); + m_expressionLayout->draw(ctx, drawingOrigin(), m_textColor, m_backgroundColor); } }