12   m_calculation(calculation)
    15   assert(calculation != 
nullptr);
    24   float lowerBound = m_calculation->
lowerBound();
    25   float upperBound = m_calculation->
upperBound();
    32     drawHistogram(ctx, rect, EvaluateAtAbscissa, m_law, 
nullptr, 0, 1, 
false, 
Palette::GreyMiddle, 
Palette::YellowDark, lowerBound, upperBound+0.5f);
    40   return (
char *)m_labels[index];
    43 float LawCurveView::EvaluateAtAbscissa(
float abscissa, 
void * 
model, 
void * context) {
 virtual bool isContinuous() const =0
 
static constexpr KDColor YellowDark
 
const SettingsMessageTree model
 
void markRectAsDirty(KDRect rect)
 
void drawAxes(KDContext *ctx, KDRect rect, Axis axis) const
 
void drawCurve(KDContext *ctx, KDRect rect, EvaluateModelWithParameter evaluation, void *model, void *context, KDColor color, bool colorUnderCurve=false, float colorLowerBound=0.0f, float colorUpperBound=0.0f, bool continuously=false) const
 
void drawLabels(KDContext *ctx, KDRect rect, Axis axis, bool shiftOrigin) const
 
virtual double lowerBound()
 
static constexpr KDColor GreyMiddle
 
virtual float evaluateAtAbscissa(float x) const =0
 
void drawHistogram(KDContext *ctx, KDRect rect, EvaluateModelWithParameter evaluation, void *model, void *context, float firstBarAbscissa, float barWidth, bool fillBar, KDColor defaultColor, KDColor highlightColor, float highlightLowerBound=INFINITY, float highlightUpperBound=-INFINITY) const
 
static constexpr KDColor WallScreen
 
void fillRect(KDRect rect, KDColor color)
 
virtual double upperBound()
 
void drawRect(KDContext *ctx, KDRect rect) const override
 
char * label(Axis axis, int index) const override