diff --git a/projects/kiwano/cpp.hint b/projects/kiwano/cpp.hint
new file mode 100644
index 00000000..6e489168
--- /dev/null
+++ b/projects/kiwano/cpp.hint
@@ -0,0 +1,5 @@
+// 提示文件帮助 Visual Studio IDE 解释 Visual C++ 标识符,
+// 如函数和宏的名称。
+// 有关详细信息,请参见 https://go.microsoft.com/fwlink/?linkid=865984
+
+#define KGE_API
diff --git a/projects/kiwano/kiwano.vcxproj b/projects/kiwano/kiwano.vcxproj
index eebac6c1..48309922 100644
--- a/projects/kiwano/kiwano.vcxproj
+++ b/projects/kiwano/kiwano.vcxproj
@@ -182,6 +182,9 @@
Win32
+
+
+
{FF7F943D-A89C-4E6C-97CF-84F7D8FF8EDF}
kiwano
@@ -260,4 +263,4 @@
-
+
\ No newline at end of file
diff --git a/projects/kiwano/kiwano.vcxproj.filters b/projects/kiwano/kiwano.vcxproj.filters
index 469121fb..10e905b5 100644
--- a/projects/kiwano/kiwano.vcxproj.filters
+++ b/projects/kiwano/kiwano.vcxproj.filters
@@ -534,4 +534,7 @@
core
+
+
+
\ No newline at end of file
diff --git a/src/kiwano/platform/Application.cpp b/src/kiwano/platform/Application.cpp
index ca29f4d4..f5ab4a3d 100644
--- a/src/kiwano/platform/Application.cpp
+++ b/src/kiwano/platform/Application.cpp
@@ -29,6 +29,11 @@
namespace kiwano
{
+int GetVersion()
+{
+ return KGE_VERSION;
+}
+
Application::Application()
: quiting_(false)
, time_scale_(1.f)
@@ -40,11 +45,6 @@ Application::Application()
Application::~Application() {}
-int Application::GetVersion() const
-{
- return KGE_VERSION;
-}
-
void Application::Run(RunnerPtr runner, bool debug)
{
KGE_ASSERT(runner);
@@ -112,6 +112,22 @@ void Application::SetTimeScale(float scale_factor)
time_scale_ = scale_factor;
}
+void Application::DispatchEvent(EventPtr evt)
+{
+ this->DispatchEvent(evt.Get());
+}
+
+void Application::DispatchEvent(Event* evt)
+{
+ for (auto comp : modules_)
+ {
+ if (auto event_comp = comp->Cast())
+ {
+ event_comp->HandleEvent(evt);
+ }
+ }
+}
+
void Application::Update(Duration dt)
{
// Before update
@@ -200,17 +216,6 @@ void Application::Render()
renderer.Present();
}
-void Application::DispatchEvent(Event* evt)
-{
- for (auto comp : modules_)
- {
- if (auto event_comp = comp->Cast())
- {
- event_comp->HandleEvent(evt);
- }
- }
-}
-
void Application::PreformInMainThread(Function func)
{
std::lock_guard lock(perform_mutex_);
diff --git a/src/kiwano/platform/Application.h b/src/kiwano/platform/Application.h
index 5a69527a..69771e39 100644
--- a/src/kiwano/platform/Application.h
+++ b/src/kiwano/platform/Application.h
@@ -30,6 +30,13 @@
namespace kiwano
{
+
+/**
+ * \~chinese
+ * @brief ȡ汾
+ */
+extern KGE_API int GetVersion();
+
/**
* \~chinese
* @brief ӦóϷڣʼԼ¼ַ
@@ -70,12 +77,6 @@ public:
*/
WindowPtr GetMainWindow() const;
- /**
- * \~chinese
- * @brief ȡ汾
- */
- int GetVersion() const;
-
/**
* \~chinese
* @brief ģ
@@ -92,6 +93,14 @@ public:
*/
void SetTimeScale(float scale_factor);
+ /**
+ * \~chinese
+ * @brief ַ¼
+ * @details ¼ַ¼ģ
+ * @param evt ¼
+ */
+ void DispatchEvent(EventPtr evt);
+
/**
* \~chinese
* @brief ַ¼