Files
Upsilon/apps/statistics/histogram_view.cpp
Émilie Feral aef540efb6 [apps/statistics] Create a histogram view inheriting from cruve view
Change-Id: I7e6d027e50ec040e1fe6ee6354d9275dc3a025d9
2017-01-09 15:08:53 +01:00

37 lines
806 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(nullptr, KDColorBlack, ctx, rect);
}
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);
}
}