Files
Renderive/YSGraphic_Core/base/Plot_p.h
T
2026-07-23 13:41:30 +08:00

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{};
};
}