Files
Upsilon/apps/statistics/histogram_view.cpp
Émilie Feral 8aff2dac2b [apps] In curve view, distinguish 2 methods to draw discrete histograms
and any histogram

Change-Id: I52cec9a3c063d80b0385f8dded1e3de9f6837fdc
2017-01-09 15:08:53 +01:00

37 lines
835 B
C++

#include "histogram_view.h"
#include <assert.h>
namespace Statistics {
HistogramView::HistogramView(Data * data) :
CurveView(data),
m_data(data)
{
}
void HistogramView::reload() {
markRectAsDirty(bounds());
computeLabels(Axis::Horizontal);
}
void HistogramView::drawRect(KDContext * ctx, KDRect rect) const {
ctx->fillRect(rect, KDColorWhite);
drawAxes(Axis::Horizontal, ctx, rect);
drawAxes(Axis::Vertical, ctx, rect);
drawLabels(Axis::Horizontal, true, ctx, rect);
drawHistogram(m_data->binWidth(), KDColorBlack, ctx, rect, KDColorRed, 3.0f);
}
char * HistogramView::label(Axis axis, int index) const {
if (axis == Axis::Vertical) {
return nullptr;
}
return (char *)m_labels[index];
}
float HistogramView::evaluateCurveAtAbscissa(void * curve, float t) const {
return m_data->sizeAtValue(t);
}
}