28 lines
832 B
C++
28 lines
832 B
C++
#pragma once
|
|
#include "Plot.h"
|
|
#include "Core/plot/Plot_Core.h"
|
|
#include "Core/plot/Refresh_Strategy.h"
|
|
#include <atomic>
|
|
#include <memory>
|
|
|
|
namespace renderive {
|
|
|
|
class Qt_Presentation_Sink;
|
|
|
|
struct Abs_Plot_Private {
|
|
explicit Abs_Plot_Private(std::unique_ptr<Refresh_Strategy> refresh_strategy);
|
|
virtual ~Abs_Plot_Private();
|
|
|
|
void attach_widget(Abs_Plot* plot);
|
|
bool event(Abs_Plot* plot, QEvent* event, bool base_result);
|
|
void paint_event(Abs_Plot* plot, QPaintEvent* event);
|
|
void request_performance_overlay_update(Abs_Plot* plot);
|
|
|
|
Refresh_Strategy* strategy{};
|
|
std::unique_ptr<Plot_Core> core;
|
|
std::shared_ptr<Qt_Presentation_Sink> presentation_sink;
|
|
std::shared_ptr<std::atomic_bool> performance_update_pending = std::make_shared<std::atomic_bool>(false);
|
|
};
|
|
|
|
} // namespace renderive
|