aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-06-14 00:44:14 +0800
committercrupest <crupest@outlook.com>2019-06-14 00:44:14 +0800
commit5ec370e5f91ad8b5ed7717eb93f4e3240ea4e784 (patch)
tree970188397f236715d3d021ddcfcbdeeee73ee860 /include/cru/platform
parent7b1e9fd2410c9d4fafbe5de9459b18775e6cc465 (diff)
downloadcru-5ec370e5f91ad8b5ed7717eb93f4e3240ea4e784.tar.gz
cru-5ec370e5f91ad8b5ed7717eb93f4e3240ea4e784.tar.bz2
cru-5ec370e5f91ad8b5ed7717eb93f4e3240ea4e784.zip
...
Diffstat (limited to 'include/cru/platform')
-rw-r--r--include/cru/platform/native/native_event.hpp12
-rw-r--r--include/cru/platform/native/native_window.hpp23
2 files changed, 24 insertions, 11 deletions
diff --git a/include/cru/platform/native/native_event.hpp b/include/cru/platform/native/native_event.hpp
new file mode 100644
index 00000000..21db5f90
--- /dev/null
+++ b/include/cru/platform/native/native_event.hpp
@@ -0,0 +1,12 @@
+#pragma once
+#include "cru/common/base.hpp"
+
+#include "basic_types.hpp"
+#include "cru/common/ui_base.hpp"
+
+namespace cru::platform::native {
+struct NativeMouseButtonEventArgs {
+ MouseButton button;
+ ui::Point point;
+};
+} // namespace cru::platform::native
diff --git a/include/cru/platform/native/native_window.hpp b/include/cru/platform/native/native_window.hpp
index 3a0fd3e1..3e83a531 100644
--- a/include/cru/platform/native/native_window.hpp
+++ b/include/cru/platform/native/native_window.hpp
@@ -4,6 +4,7 @@
#include "basic_types.hpp"
#include "cru/common/event.hpp"
#include "cru/common/ui_base.hpp"
+#include "native_event.hpp"
namespace cru::platform::graph {
struct IPainter;
@@ -36,15 +37,15 @@ struct INativeWindow : public virtual Interface {
virtual graph::IPainter* BeginPaint() = 0;
- virtual Event<>* DestroyEvent() = 0;
- virtual Event<const ui::Size&>* ResizeEvent() = 0;
- virtual Event<>* PaintEvent() = 0;
- virtual Event<bool>* FocusEvent() = 0;
- virtual Event<bool>* MouseEnterLeaveEvent() = 0;
- virtual Event<const ui::Point&>* MouseMoveEvent() = 0;
- virtual Event<MouseButton, const ui::Point&>* MouseDownEvent() = 0;
- virtual Event<MouseButton, const ui::Point&>* MouseUpEvent() = 0;
- virtual Event<int>* KeyDownEvent() = 0;
- virtual Event<int>* KeyUpEvent() = 0;
+ virtual IEvent<std::nullptr_t>* DestroyEvent() = 0;
+ virtual IEvent<std::nullptr_t>* PaintEvent() = 0;
+ virtual IEvent<ui::Size>* ResizeEvent() = 0;
+ virtual IEvent<bool>* FocusEvent() = 0;
+ virtual IEvent<bool>* MouseEnterLeaveEvent() = 0;
+ virtual IEvent<ui::Point>* MouseMoveEvent() = 0;
+ virtual IEvent<NativeMouseButtonEventArgs>* MouseDownEvent() = 0;
+ virtual IEvent<NativeMouseButtonEventArgs>* MouseUpEvent() = 0;
+ virtual IEvent<int>* KeyDownEvent() = 0;
+ virtual IEvent<int>* KeyUpEvent() = 0;
};
-} // namespace cru::platform::ui
+} // namespace cru::platform::native