Files
Renderive/YSGraphic_Core/base/Plot_p.h
T
2026-07-23 09:35:29 +08:00

31 lines
888 B
C++

#pragma once
#include "asio.hpp"
#include "Plot.h"
#include <atomic>
#include <condition_variable>
#include <QApplication>
#include <QThread>
#include <memory>
#include <mutex>
namespace YSG {
struct PlotPrivate {
explicit PlotPrivate(Plot* plot) : q(plot) {};
Plot *q{};
int mRefreshTimesPreSecond = 30;
TimerThread* mTimerThread{};
std::unique_ptr<asio::steady_timer> mRenderTimer;
bool mRenderEnabled = false;
std::atomic_bool mDestroying{false};
std::atomic_int mActiveRenderTasks{0};
std::condition_variable mRenderTaskDone;
std::mutex mRenderTaskMutex;
QSize mRenderSize;
RenderAble::RenderPipeline mPipeline;
SpinLock mBufferLock, mRenderLock, mPrepareDataLock, mMustPrepareDataLock;
QColor mBackground = Qt::black;
PerformanceShower *mShower{};
};
}