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