Files
Upsilon/apps/graph/graph/graph_view.h
Émilie Feral 39dab5125c [apps] Add angle unit preference in apps
Change-Id: I25eb760883d164563cb3059d73e8d1fff92ad6da
2017-02-06 16:30:48 +01:00

34 lines
1.1 KiB
C++

#ifndef GRAPH_GRAPH_VIEW_H
#define GRAPH_GRAPH_VIEW_H
#include <escher.h>
#include "../../curve_view.h"
#include "../../constant.h"
#include "../function_store.h"
#include "../../interactive_curve_view_range.h"
#include "../../preferences.h"
namespace Graph {
class GraphView : public CurveView {
public:
GraphView(FunctionStore * functionStore, InteractiveCurveViewRange * graphRange,
CurveViewCursor * cursor, ::BannerView * bannerView, View * cursorView);
void drawRect(KDContext * ctx, KDRect rect) const override;
void setContext(Context * context);
void setPreferences(Preferences * preferences);
Context * context() const;
private:
char * label(Axis axis, int index) const override;
float evaluateModelWithParameter(Model * expression, float abscissa) const override;
char m_xLabels[k_maxNumberOfXLabels][Float::bufferSizeForFloatsWithPrecision(Constant::ShortNumberOfSignificantDigits)];
char m_yLabels[k_maxNumberOfYLabels][Float::bufferSizeForFloatsWithPrecision(Constant::ShortNumberOfSignificantDigits)];
FunctionStore * m_functionStore;
Context * m_context;
Preferences * m_preferences;
};
}
#endif