1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #ifndef VALUEHISTORY_H
- #define VALUEHISTORY_H
- class ValueHistory
- {
- static const int MAX_HISTORY = 256;
- float m_samples[MAX_HISTORY];
- int m_hsamples;
- public:
- ValueHistory();
- inline void addSample(const float val)
- {
- m_hsamples = (m_hsamples+MAX_HISTORY-1) % MAX_HISTORY;
- m_samples[m_hsamples] = val;
- }
-
- inline int getSampleCount() const
- {
- return MAX_HISTORY;
- }
-
- inline float getSample(const int i) const
- {
- return m_samples[(m_hsamples+i) % MAX_HISTORY];
- }
-
- float getSampleMin() const;
- float getSampleMax() const;
- float getAverage() const;
- };
- struct GraphParams
- {
- void setRect(int ix, int iy, int iw, int ih, int ipad);
- void setValueRange(float ivmin, float ivmax, int indiv, const char* iunits);
-
- int x, y, w, h, pad;
- float vmin, vmax;
- int ndiv;
- char units[16];
- };
- void drawGraphBackground(const GraphParams* p);
- void drawGraph(const GraphParams* p, const ValueHistory* graph,
- int idx, const char* label, const unsigned int col);
- #endif // VALUEHISTORY_H
|