Files
Upsilon/apps/shared/function.h
Émilie Feral e5e9f7cc41 [poincare][apps] Make preferences a const object accessible from
anywhere (poincare and apps)

Change-Id: I49cc6bf940d1efeb6b153daac949ffcb23999a8d
2017-02-20 09:39:24 +01:00

38 lines
914 B
C++

#ifndef SHARED_FUNCTION_H
#define SHARED_FUNCTION_H
#include <poincare.h>
#include <kandinsky.h>
namespace Shared {
class Function {
public:
Function(const char * text = nullptr, KDColor color = KDColorBlack);
~Function(); // Delete expression and layout, if needed
const char * text();
const char * name();
KDColor color() const { return m_color; }
Poincare::Expression * expression();
Poincare::ExpressionLayout * layout();
bool isActive();
void setActive(bool active);
void setContent(const char * c);
void setColor(KDColor m_color);
float evaluateAtAbscissa(float x, Poincare::Context * context) const;
protected:
constexpr static int k_bodyLength = 255;
Poincare::Expression * m_expression;
private:
virtual char symbol() const = 0;
char m_text[k_bodyLength];
const char * m_name;
KDColor m_color;
Poincare::ExpressionLayout * m_layout;
bool m_active;
};
}
#endif