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