31 lines
959 B
C++
31 lines
959 B
C++
#pragma once
|
|
|
|
#include "asio.hpp"
|
|
#include "Plot.h"
|
|
#include <atomic>
|
|
#include <condition_variable>
|
|
#include <QApplication>
|
|
#include <memory>
|
|
#include <mutex>
|
|
namespace YSG {
|
|
struct PlotPrivate {
|
|
explicit PlotPrivate(Plot* plot) : q(plot) {};
|
|
Plot *q{};
|
|
int mRefreshTimesPreSecond = 30;
|
|
std::unique_ptr<asio::steady_timer> mRenderTimer;
|
|
std::atomic_bool mRenderEnabled{false};
|
|
std::atomic_bool mDestroying{false};
|
|
std::atomic_int mActiveRenderTasks{0};
|
|
std::condition_variable mRenderTaskDone;
|
|
std::mutex mRenderTaskMutex;
|
|
std::atomic_int mPendingRenderWidth{0};
|
|
std::atomic_int mPendingRenderHeight{0};
|
|
QSize mRenderSize;
|
|
RenderAble::RenderPipeline mPipeline;
|
|
std::atomic<Plot_Buffer_Acquire_Mode> mPaintBufferAcquireMode{Plot_Buffer_Acquire_Mode::Try};
|
|
QColor mBackground = Qt::black;
|
|
PerformanceShower *mShower{};
|
|
};
|
|
}
|
|
|