1 #pragma once
2 
3 #include "gui/windows/ProgressPanel.h"
4 #include "gui/windows/Widgets.h"
5 #include "objects/wrappers/AutoPtr.h"
6 #include <thread>
7 #include <wx/panel.h>
8 
9 class wxAuiManager;
10 
11 NAMESPACE_SPH_BEGIN
12 
13 class ImagePane;
14 class INode;
15 class RenderPageCallbacks;
16 
17 class RenderPage : public ClosablePage {
18 private:
19     AutoPtr<wxAuiManager> manager;
20     AutoPtr<RenderPageCallbacks> callbacks;
21 
22     std::thread renderThread;
23     std::atomic_bool running;
24 
25 public:
26     RenderPage(wxWindow* parent, const RunSettings& global, const SharedPtr<INode>& node);
27 
28     ~RenderPage();
29 
30 private:
31     // ClosablePage interface
32     virtual bool isRunning() const override;
33     virtual void stop() override;
34     virtual void quit() override;
35 };
36 
37 NAMESPACE_SPH_END
38