git / moonbite-core / src/qt/trafficgraphwidget.h · raw
// Copyright (c) 2011-2020 The Bitcoin Core developers// Distributed under the MIT software license, see the accompanying// file COPYING or http://www.opensource.org/licenses/mit-license.php.#ifndef BITCOIN_QT_TRAFFICGRAPHWIDGET_H#define BITCOIN_QT_TRAFFICGRAPHWIDGET_H#include <QWidget>#include <QQueue>class ClientModel;QT_BEGIN_NAMESPACEclass QPaintEvent;class QTimer;QT_END_NAMESPACEclass TrafficGraphWidget : public QWidget{ Q_OBJECTpublic: explicit TrafficGraphWidget(QWidget *parent = nullptr); void setClientModel(ClientModel *model); int getGraphRangeMins() const;protected: void paintEvent(QPaintEvent *) override;public Q_SLOTS: void updateRates(); void setGraphRangeMins(int mins); void clear();private: void paintPath(QPainterPath &path, QQueue<float> &samples); QTimer *timer; float fMax; int nMins; QQueue<float> vSamplesIn; QQueue<float> vSamplesOut; quint64 nLastBytesIn; quint64 nLastBytesOut; ClientModel *clientModel;};#endif // BITCOIN_QT_TRAFFICGRAPHWIDGET_H