Numworks Epsilon  1.4.1
Graphing Calculator Operating System
integral_layout.h
Go to the documentation of this file.
1 #ifndef POINCARE_INTEGRAL_LAYOUT_H
2 #define POINCARE_INTEGRAL_LAYOUT_H
3 
4 #include <poincare/expression.h>
6 
7 namespace Poincare {
8 
10 public:
11  IntegralLayout(ExpressionLayout * lowerBoundLayout, ExpressionLayout * upperBoundLayout, ExpressionLayout * integrandLayout);
13  IntegralLayout(const IntegralLayout& other) = delete;
14  IntegralLayout(IntegralLayout&& other) = delete;
15  IntegralLayout& operator=(const IntegralLayout& other) = delete;
16  IntegralLayout& operator=(IntegralLayout&& other) = delete;
17  constexpr static KDCoordinate k_symbolHeight = 4;
18  constexpr static KDCoordinate k_symbolWidth = 4;
19 protected:
20  void render(KDContext * ctx, KDPoint p, KDColor expressionColor, KDColor backgroundColor) override;
21  KDSize computeSize() override;
22  ExpressionLayout * child(uint16_t index) override;
24 private:
25  constexpr static KDCoordinate k_boundHeightMargin = 8;
26  constexpr static KDCoordinate k_boundWidthMargin = 5;
27  constexpr static KDCoordinate k_integrandWidthMargin = 2;
28  constexpr static KDCoordinate k_integrandHeigthMargin = 2;
29  constexpr static KDCoordinate k_lineThickness = 1;
30  ExpressionLayout * m_lowerBoundLayout;
31  ExpressionLayout * m_upperBoundLayout;
32  ExpressionLayout * m_integrandLayout;
33 };
34 
35 }
36 
37 #endif
int16_t KDCoordinate
Definition: coordinate.h:6
IntegralLayout & operator=(const IntegralLayout &other)=delete
unsigned short uint16_t
Definition: stdint.h:5
Definition: point.h:6
Definition: size.h:6
KDSize computeSize() override
Definition: color.h:6
KDPoint positionOfChild(ExpressionLayout *child) override
IntegralLayout(ExpressionLayout *lowerBoundLayout, ExpressionLayout *upperBoundLayout, ExpressionLayout *integrandLayout)
static constexpr KDCoordinate k_symbolWidth
void render(KDContext *ctx, KDPoint p, KDColor expressionColor, KDColor backgroundColor) override
static constexpr KDCoordinate k_symbolHeight
ExpressionLayout * child(uint16_t index) override