From f82217763cb84671efc15e153daa34c47a97af5e Mon Sep 17 00:00:00 2001 From: hyzboy Date: Fri, 27 Jun 2025 01:52:15 +0800 Subject: [PATCH] =?UTF-8?q?WorkManager=20=E6=94=B9=E4=BB=8Eio::WindowEvent?= =?UTF-8?q?=E6=B4=BE=E7=94=9F=EF=BC=8CSwapchainWorkManager=E5=88=99?= =?UTF-8?q?=E7=9B=B8=E5=BA=94=E7=9A=84=E4=B8=8D=E5=86=8D=E4=BB=8Eio::Windo?= =?UTF-8?q?wEvent=E6=B4=BE=E7=94=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/hgl/WorkManager.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/inc/hgl/WorkManager.h b/inc/hgl/WorkManager.h index 95982b99..22c9daa7 100644 --- a/inc/hgl/WorkManager.h +++ b/inc/hgl/WorkManager.h @@ -8,7 +8,7 @@ namespace hgl /** * 工作管理器,管理一个序列的WorkObject
*/ - class WorkManager + class WorkManager:public io::WindowEvent { protected: @@ -28,10 +28,13 @@ namespace hgl WorkManager(graph::RenderFramework *rf) { render_framework=rf; + + rf->Join(this); } virtual ~WorkManager() { + render_framework->Unjoin(this); SAFE_CLEAR(cur_work_object); } @@ -48,7 +51,7 @@ namespace hgl void Run(WorkObject *wo); };//class WorkManager - class SwapchainWorkManager:public WorkManager,public io::WindowEvent + class SwapchainWorkManager:public WorkManager { graph::SwapchainModule *swapchain_module; @@ -57,14 +60,9 @@ namespace hgl SwapchainWorkManager(graph::RenderFramework *rf):WorkManager(rf) { swapchain_module=rf->GetSwapchainModule(); - - render_framework->Join(this); } - ~SwapchainWorkManager() - { - render_framework->Unjoin(this); - } + ~SwapchainWorkManager()=default; void Render(WorkObject *wo) override;