Add Event system

- Add abstract Event class
- Add EventDispatcher
- Add Mouse, Key and Window Events
This commit is contained in:
Thraix
2023-04-26 21:55:32 +02:00
parent 1731bb1dd5
commit ca7286807a
30 changed files with 670 additions and 59 deletions
+23
View File
@@ -175,6 +175,16 @@
<ClCompile Include="src\copium\core\Device.cpp" />
<ClCompile Include="src\copium\core\Vulkan.cpp" />
<ClCompile Include="src\copium\core\Window.cpp" />
<ClCompile Include="src\copium\event\Event.cpp" />
<ClCompile Include="src\copium\event\EventDispatcher.cpp" />
<ClCompile Include="src\copium\event\KeyPressEvent.cpp" />
<ClCompile Include="src\copium\event\KeyReleaseEvent.cpp" />
<ClCompile Include="src\copium\event\MouseMoveEvent.cpp" />
<ClCompile Include="src\copium\event\MousePressEvent.cpp" />
<ClCompile Include="src\copium\event\MouseReleaseEvent.cpp" />
<ClCompile Include="src\copium\event\MouseScrollEvent.cpp" />
<ClCompile Include="src\copium\event\WindowFocusEvent.cpp" />
<ClCompile Include="src\copium\event\WindowResizeEvent.cpp" />
<ClCompile Include="src\copium\mesh\Mesh.cpp" />
<ClCompile Include="src\copium\pipeline\ShaderBinding.cpp" />
<ClCompile Include="src\copium\renderer\Batch.cpp" />
@@ -221,6 +231,19 @@
<ClInclude Include="src\copium\core\Device.h" />
<ClInclude Include="src\copium\core\Vulkan.h" />
<ClInclude Include="src\copium\core\Window.h" />
<ClInclude Include="src\copium\event\Event.h" />
<ClInclude Include="src\copium\event\EventDispatcher.h" />
<ClInclude Include="src\copium\event\EventHandler.h" />
<ClInclude Include="src\copium\event\EventResult.h" />
<ClInclude Include="src\copium\event\EventType.h" />
<ClInclude Include="src\copium\event\KeyPressEvent.h" />
<ClInclude Include="src\copium\event\KeyReleaseEvent.h" />
<ClInclude Include="src\copium\event\MouseMoveEvent.h" />
<ClInclude Include="src\copium\event\MousePressEvent.h" />
<ClInclude Include="src\copium\event\MouseReleaseEvent.h" />
<ClInclude Include="src\copium\event\MouseScrollEvent.h" />
<ClInclude Include="src\copium\event\WindowFocusEvent.h" />
<ClInclude Include="src\copium\event\WindowResizeEvent.h" />
<ClInclude Include="src\copium\mesh\Mesh.h" />
<ClInclude Include="src\copium\pipeline\ShaderBinding.h" />
<ClInclude Include="src\copium\renderer\Batch.h" />