From ab9c650b0a71c5554df08a6a1c1170861a1612a8 Mon Sep 17 00:00:00 2001 From: Nomango Date: Tue, 10 Sep 2019 14:10:13 +0800 Subject: [PATCH] update Components --- src/kiwano/base/Component.cpp | 5 +++++ src/kiwano/base/Component.h | 34 +++++++++++++++++++--------------- src/kiwano/renderer/Renderer.h | 15 +++++++-------- 3 files changed, 31 insertions(+), 23 deletions(-) diff --git a/src/kiwano/base/Component.cpp b/src/kiwano/base/Component.cpp index df6924eb..6b509049 100644 --- a/src/kiwano/base/Component.cpp +++ b/src/kiwano/base/Component.cpp @@ -20,8 +20,13 @@ #include "Component.h" +#define KGE_DEFINE_COMPONENT_FLAG ( 0x01 << (__COUNTER__ % 32) ) + namespace kiwano { + const Int32 RenderComponent::flag = KGE_DEFINE_COMPONENT_FLAG; + const Int32 UpdateComponent::flag = KGE_DEFINE_COMPONENT_FLAG; + const Int32 EventComponent::flag = KGE_DEFINE_COMPONENT_FLAG; ComponentBase::ComponentBase() : flag_(0) diff --git a/src/kiwano/base/Component.h b/src/kiwano/base/Component.h index 29e4b5b8..e768aa7b 100644 --- a/src/kiwano/base/Component.h +++ b/src/kiwano/base/Component.h @@ -25,9 +25,7 @@ namespace kiwano { - -#define KGE_DEFINE_COMPONENT_FLAG ( 0x01 << (__COUNTER__ % 32) ) - + // 基础组件 class KGE_API ComponentBase { public: @@ -46,49 +44,55 @@ namespace kiwano class RenderTarget; + // 渲染支持组件 class KGE_API RenderComponent : public virtual ComponentBase { public: - static const Int32 flag = KGE_DEFINE_COMPONENT_FLAG; - - RenderComponent(); - virtual void BeforeRender() {} virtual void OnRender(RenderTarget*) {} virtual void AfterRender() {} + + public: + static const Int32 flag; + + RenderComponent(); }; + // 更新支持组件 class KGE_API UpdateComponent : public virtual ComponentBase { public: - static const Int32 flag = KGE_DEFINE_COMPONENT_FLAG; - - UpdateComponent(); - virtual void BeforeUpdate() {} virtual void OnUpdate(Duration) {} virtual void AfterUpdate() {} + + public: + static const Int32 flag; + + UpdateComponent(); }; + // 事件支持组件 class KGE_API EventComponent : public virtual ComponentBase { public: - static const Int32 flag = KGE_DEFINE_COMPONENT_FLAG; - - EventComponent(); - virtual void HandleEvent(Event&) {} virtual void HandleMessage(HWND, UInt32, WPARAM, LPARAM) {} + + public: + static const Int32 flag; + + EventComponent(); }; diff --git a/src/kiwano/renderer/Renderer.h b/src/kiwano/renderer/Renderer.h index d422352a..d1faf7de 100644 --- a/src/kiwano/renderer/Renderer.h +++ b/src/kiwano/renderer/Renderer.h @@ -209,15 +209,14 @@ namespace kiwano void ResizeTarget(UInt32 width, UInt32 height); private: - bool vsync_; - HWND hwnd_; - Color clear_color_; - Size output_size_; - - ComPtr d2d_res_; - ComPtr d3d_res_; - ComPtr drawing_state_block_; + bool vsync_; + HWND hwnd_; + Color clear_color_; + Size output_size_; + ComPtr d2d_res_; + ComPtr d3d_res_; + ComPtr drawing_state_block_; ComPtr font_collection_loader_; ComPtr res_font_file_loader_; ComPtr res_font_collection_loader_;