27 lines
727 B
C++
27 lines
727 B
C++
#pragma once
|
|
#include "Plot.h"
|
|
#include "Core/flow/Frame_Flow.h"
|
|
#include "Core/plot/Plot_Core.h"
|
|
#include <atomic>
|
|
#include <memory>
|
|
|
|
namespace renderive {
|
|
|
|
class Qt_Presentation_Sink;
|
|
|
|
struct Abs_Plot_Private {
|
|
explicit Abs_Plot_Private(std::unique_ptr<Frame_Flow> frame_flow);
|
|
virtual ~Abs_Plot_Private();
|
|
|
|
void attach_widget(Abs_Plot* plot);
|
|
bool event(QEvent* event, bool base_result);
|
|
void paint_event(Abs_Plot* plot, QPaintEvent* event);
|
|
|
|
Frame_Flow* flow{};
|
|
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
|