parent
983ac6c235
commit
a46544f708
3 changed files with 28 additions and 61 deletions
@ -1,29 +1,24 @@ |
||||
#pragma once |
||||
|
||||
#include <algorithm> |
||||
|
||||
#include <QPixmap> |
||||
#include <QPointF> |
||||
#include <vector> |
||||
|
||||
#include "tools/cabana/dbc/dbcmanager.h" |
||||
#include "tools/cabana/dbc/dbc.h" |
||||
|
||||
class Sparkline { |
||||
public: |
||||
void update(const MessageId &msg_id, const cabana::Signal *sig, double last_msg_ts, int range, QSize size); |
||||
const QSize size() const { return pixmap.size() / pixmap.devicePixelRatio(); } |
||||
inline double freq() const { |
||||
return values.empty() ? 0 : values.size() / std::max(values.back().x() - values.front().x(), 1.0); |
||||
} |
||||
inline double freq() const { return freq_; } |
||||
bool isEmpty() const { return pixmap.isNull(); } |
||||
|
||||
QPixmap pixmap; |
||||
double min_val = 0; |
||||
double max_val = 0; |
||||
double last_ts = 0; |
||||
int time_range = 0; |
||||
|
||||
private: |
||||
void render(const QColor &color, QSize size); |
||||
std::vector<QPointF> values; |
||||
void render(const QColor &color, int range, QSize size); |
||||
|
||||
std::vector<QPointF> points; |
||||
double freq_ = 0; |
||||
}; |
||||
|
Loading…
Reference in new issue