#pragma once #include "Plot.h" #include #include namespace YSG { struct PlotPrivate { explicit PlotPrivate(Plot* plot) : q(plot) {}; Plot *q{}; int mRefreshTimesPreSecond = 30; TimerThread* mTimerThread{}; QTimer *mTimer{}; enum PlotState { NeedToRender, NeedToPaint}; QAtomicInteger mPlotState = NeedToRender; SpinLock mBufferLock, mRenderLock, mPrepareDataLock, mMustPrepareDataLock; //QPixmap *mRenderBuffer{}, mPaintBuffer; //QImage *mRenderBuffer{}, mPaintBuffer; QImage *mRenderBuffer{}; QPixmap mPaintBuffer{}; QColor mBackground = Qt::black; PerformanceShower *mShower{}; }; }