Numworks Epsilon  1.4.1
Graphing Calculator Operating System
baseline_relative_layout.h
Go to the documentation of this file.
1 #ifndef POINCARE_BASELINE_RELATIVE_LAYOUT_H
2 #define POINCARE_BASELINE_RELATIVE_LAYOUT_H
3 
4 #include <poincare/expression.h>
6 
7 namespace Poincare {
8 
10 public:
11  enum class Type {
12  Subscript,
14  };
17  BaselineRelativeLayout(const BaselineRelativeLayout& other) = delete;
23 protected:
24  void render(KDContext * ctx, KDPoint p, KDColor expressionColor, KDColor backgroundColor) override;
25  KDSize computeSize() override;
26  ExpressionLayout * child(uint16_t index) override;
28 private:
29  constexpr static KDCoordinate k_indiceHeight = 5;
30  ExpressionLayout * m_baseLayout;
31  ExpressionLayout * m_indiceLayout;
32  Type m_type;
33 };
34 
35 }
36 
37 #endif
KDPoint positionOfChild(ExpressionLayout *child) override
int16_t KDCoordinate
Definition: coordinate.h:6
unsigned short uint16_t
Definition: stdint.h:5
Definition: point.h:6
Definition: size.h:6
BaselineRelativeLayout(ExpressionLayout *baseLayout, ExpressionLayout *indiceLayout, Type type)
ExpressionLayout * child(uint16_t index) override
Definition: color.h:6
void render(KDContext *ctx, KDPoint p, KDColor expressionColor, KDColor backgroundColor) override
BaselineRelativeLayout & operator=(const BaselineRelativeLayout &other)=delete