11 m_intersectedFunction(nullptr),
12 m_functionStore(store)
20 void IntersectionGraphController::reloadBannerView() {
24 const char * space =
" ";
25 int spaceLength =
strlen(space);
26 const char * legend =
"0(x)=0(x)=";
27 int legendLength =
strlen(legend);
29 strlcpy(buffer, legend, legendLength+1);
30 numberOfChar += legendLength;
32 buffer[5] = m_intersectedFunction->
name()[0];
34 strlcpy(buffer+numberOfChar, space, spaceLength+1);
35 buffer[FunctionBannerDelegate::k_maxDigitLegendLength+legendLength] = 0;
39 CartesianFunction::Point IntersectionGraphController::computeNewPointOfInterest(
double start,
double step,
double max,
Context * context) {
40 CartesianFunction::Point result = {.abscissa =
NAN, .value =
NAN};
46 m_intersectedFunction = f;
const char * title() override
void setLegendAtIndex(char *text, int index)
static constexpr int MediumNumberOfSignificantDigits
CartesianFunction * m_function
size_t strlcpy(char *dst, const char *src, size_t len)
void setNumberOfSubviews(int numberOfSubviews)
enum Message uint16_t enum Language uint16_t const char * translate(Message m, Language l=(Language) 0)
void reloadBannerViewForCursorOnFunction(CurveViewCursor *cursor, Function *function, char symbol)
size_t strlen(const char *s)
static constexpr int LargeNumberOfSignificantDigits
const char * name() const
BannerView * bannerView() override
BannerView * m_bannerView
int numberOfActiveFunctions()
Shared::CurveViewCursor * m_cursor
CartesianFunction * activeFunctionAtIndex(int i) override
Point nextIntersectionFrom(double start, double step, double max, Poincare::Context *context, const Shared::Function *function) const