Files
Upsilon/apps/graph/graph/graph_view.h
Émilie Feral c19ecaeebe [apps] In curve view, avoid to reload the whole view when reloading
cursor

Change-Id: Ie8c0e100159201cc6b11122eeb567c68092a7b06
2017-01-15 20:09:18 +01:00

30 lines
1.0 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"
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);
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;
};
}
#endif