@@ -23,68 +23,69 @@ auto main(std::span<const std::string_view> args) -> int {
23
23
24
24
const auto monitors = wsi::Window::getMonitorSettings ();
25
25
logger.ilog (" --- Monitors ---" );
26
- logger.ilog (" {}" ,
27
- monitors | std::views::transform ([](auto && v) { return toString (v); }) |
28
- std::views::join | std::ranges::to<std::string>());
26
+ logger.ilog (" {}" , monitors);
29
27
30
- auto window = wsi::Window { " Hello world" , { 800u , 600u }, wsi::WindowStyle::All };
28
+ auto window = wsi::Window {
29
+ " Hello world" ,
30
+ { 800u , 600u },
31
+ wsi::WindowStyle::All
32
+ };
31
33
32
34
auto fullscreen = false ;
33
35
auto toggle_fullscreen = false ;
34
36
35
37
auto event_handler = wsi::EventHandler {};
36
- event_handler.setCallbacks (
37
- { { wsi::EventType::Closed,
38
- [&]([[maybe_unused]] const wsi::Event& event) { window.close (); } },
39
- { wsi::EventType::Resized,
40
- [](const wsi::Event& event) {
41
- const auto & event_data = as<wsi::ResizedEventData>(event.data );
42
- logger.ilog (" Resize event: {}" , event_data.extent );
43
- } },
44
- { wsi::EventType::MouseMoved,
45
- [](const wsi::Event& event) {
46
- const auto & event_data = as<wsi::MouseMovedEventData>(event.data );
47
- logger.ilog (" Mouse move event: {}" , event_data.position );
48
- } },
49
- { wsi::EventType::MouseButtonPushed,
50
- [](const wsi::Event& event) {
51
- const auto & event_data = as<wsi::MouseButtonPushedEventData>(event.data );
52
- logger.ilog (" Mouse button push event: {} {}" ,
53
- event_data.button ,
54
- event_data.position );
55
- } },
56
- { wsi::EventType::MouseButtonReleased,
57
- [](const wsi::Event& event) {
58
- const auto & event_data = as<wsi::MouseButtonReleasedEventData>(event.data );
59
- logger.ilog (" Mouse button release event: {} {}" ,
60
- event_data.button ,
61
- event_data.position );
62
- } },
63
- { wsi::EventType::MouseEntered,
64
- []([[maybe_unused]] const wsi::Event& event) { logger.ilog (" Mouse Entered event" ); } },
65
- { wsi::EventType::MouseExited,
66
- []([[maybe_unused]] const wsi::Event& event) { logger.ilog (" Mouse Exited event" ); } },
67
- { wsi::EventType::LostFocus,
68
- []([[maybe_unused]] const wsi::Event& event) { logger.ilog (" Lost focus event" ); } },
69
- { wsi::EventType::GainedFocus,
70
- []([[maybe_unused]] const wsi::Event& event) { logger.ilog (" Gained focus event" ); } },
71
- { wsi::EventType::KeyPressed,
72
- [&](const wsi::Event& event) {
73
- const auto & event_data = as<wsi::KeyPressedEventData>(event.data );
74
-
75
- if (event_data.key == wsi::Key::Escape) {
76
- window.close ();
77
- logger.ilog (" Closing window" );
78
- } else if (event_data.key == wsi::Key::F11)
79
- toggle_fullscreen = true ;
80
-
81
- logger.ilog (" Key pressed: {}" , event_data.key );
82
- } },
83
- { wsi::EventType::KeyReleased, [](const wsi::Event& event) {
84
- const auto & event_data = as<wsi::KeyReleasedEventData>(event.data );
85
-
86
- logger.ilog (" Key release: {}" , event_data.key );
87
- } } });
38
+ event_handler.setCallbacks ({
39
+ { wsi::EventType::Closed,
40
+ [&]([[maybe_unused]] const wsi::Event& event) { window.close (); } },
41
+ { wsi::EventType::Resized,
42
+ [](const wsi::Event& event) {
43
+ const auto & event_data = as<wsi::ResizedEventData>(event.data );
44
+ logger.ilog (" Resize event: {}" , event_data.extent );
45
+ } },
46
+ { wsi::EventType::MouseMoved,
47
+ [](const wsi::Event& event) {
48
+ const auto & event_data = as<wsi::MouseMovedEventData>(event.data );
49
+ logger.ilog (" Mouse move event: {}" , event_data.position );
50
+ } },
51
+ { wsi::EventType::MouseButtonPushed,
52
+ [](const wsi::Event& event) {
53
+ const auto & event_data = as<wsi::MouseButtonPushedEventData>(event.data );
54
+ logger.ilog (" Mouse button push event: {} {}" , event_data.button , event_data.position );
55
+ } },
56
+ { wsi::EventType::MouseButtonReleased,
57
+ [](const wsi::Event& event) {
58
+ const auto & event_data = as<wsi::MouseButtonReleasedEventData>(event.data );
59
+ logger.ilog (" Mouse button release event: {} {}" ,
60
+ event_data.button ,
61
+ event_data.position );
62
+ } },
63
+ { wsi::EventType::MouseEntered,
64
+ []([[maybe_unused]] const wsi::Event& event) { logger.ilog (" Mouse Entered event" ); } },
65
+ { wsi::EventType::MouseExited,
66
+ []([[maybe_unused]] const wsi::Event& event) { logger.ilog (" Mouse Exited event" ); } },
67
+ { wsi::EventType::LostFocus,
68
+ []([[maybe_unused]] const wsi::Event& event) { logger.ilog (" Lost focus event" ); } },
69
+ { wsi::EventType::GainedFocus,
70
+ []([[maybe_unused]] const wsi::Event& event) { logger.ilog (" Gained focus event" ); } },
71
+ { wsi::EventType::KeyPressed,
72
+ [&](const wsi::Event& event) {
73
+ const auto & event_data = as<wsi::KeyPressedEventData>(event.data );
74
+
75
+ if (event_data.key == wsi::Key::Escape) {
76
+ window.close ();
77
+ logger.ilog (" Closing window" );
78
+ } else if (event_data.key == wsi::Key::F11)
79
+ toggle_fullscreen = true ;
80
+
81
+ logger.ilog (" Key pressed: {}" , event_data.key );
82
+ } },
83
+ { wsi::EventType::KeyReleased, [](const wsi::Event& event) {
84
+ const auto & event_data = as<wsi::KeyReleasedEventData>(event.data );
85
+
86
+ logger.ilog (" Key release: {}" , event_data.key );
87
+ } }
88
+ });
88
89
89
90
while (window.isOpen ()) {
90
91
event_handler.update (window);
0 commit comments