File include/jen/framework.h changed (mode: 100644) (index 20eb9fb..c868263) |
... |
... |
namespace jen |
18 |
18 |
{ |
{ |
19 |
19 |
[[nodiscard]] bool init(ModulesMask modules_mask, const char *window_title); |
[[nodiscard]] bool init(ModulesMask modules_mask, const char *window_title); |
20 |
20 |
void destroy(); |
void destroy(); |
21 |
|
void update_input(); |
|
|
21 |
|
void update_input(bool wait_events); |
22 |
22 |
[[nodiscard]] bool draw_frame(const jl::rarray<const vk::Model> &models); |
[[nodiscard]] bool draw_frame(const jl::rarray<const vk::Model> &models); |
23 |
23 |
|
|
24 |
24 |
template<typename P_F> |
template<typename P_F> |
|
... |
... |
namespace jen |
46 |
46 |
models = {}; |
models = {}; |
47 |
47 |
draw = false; |
draw = false; |
48 |
48 |
break_loop = false; |
break_loop = false; |
49 |
|
|
|
|
49 |
|
wait_events = true; |
50 |
50 |
last_update_time = jl::time::current(); |
last_update_time = jl::time::current(); |
51 |
51 |
elapsed_after_update = {}; |
elapsed_after_update = {}; |
52 |
52 |
|
|
|
... |
... |
namespace jen |
66 |
66 |
pause_hold = true; |
pause_hold = true; |
67 |
67 |
} |
} |
68 |
68 |
|
|
69 |
|
p_fw->update_input(); |
|
|
69 |
|
p_fw->update_input(wait_events); |
70 |
70 |
|
|
71 |
71 |
auto update_time = jl::time::current(); |
auto update_time = jl::time::current(); |
72 |
72 |
elapsed_after_update = last_update_time.elapsed(update_time); |
elapsed_after_update = last_update_time.elapsed(update_time); |
|
... |
... |
namespace jen |
96 |
96 |
bool is_drawn; |
bool is_drawn; |
97 |
97 |
bool draw; |
bool draw; |
98 |
98 |
bool break_loop; |
bool break_loop; |
|
99 |
|
bool wait_events; |
99 |
100 |
jl::rarray<const vk::Model> models; |
jl::rarray<const vk::Model> models; |
100 |
101 |
}; |
}; |
101 |
102 |
} |
} |
File src/framework.cpp changed (mode: 100644) (index 7661b36..2fd0512) |
... |
... |
bool call_key(bool *p_pressed, const Window &input, Foo foo, Args ... args) { |
15 |
15 |
return false; |
return false; |
16 |
16 |
} |
} |
17 |
17 |
|
|
18 |
|
void jen::Framework::update_input() |
|
|
18 |
|
void jen::Framework::update_input(bool wait_events) |
19 |
19 |
{ |
{ |
20 |
|
instance.window.poll(); |
|
|
20 |
|
if (wait_events) |
|
21 |
|
instance.window.wait(); |
|
22 |
|
else |
|
23 |
|
instance.window.poll(); |
21 |
24 |
|
|
22 |
25 |
if (not is_settings_buttons_enabled) |
if (not is_settings_buttons_enabled) |
23 |
26 |
return; |
return; |
|
... |
... |
void jen::Framework::update_input() |
73 |
76 |
auto &w = instance.window; |
auto &w = instance.window; |
74 |
77 |
bool changed = false; |
bool changed = false; |
75 |
78 |
call_key<Key::f1 >(is_f_pressed, w, dbg_toggle, &is_display_debug); |
call_key<Key::f1 >(is_f_pressed, w, dbg_toggle, &is_display_debug); |
76 |
|
call_key<Key::f2 >(is_f_pressed, w, cursor_mode, &w); |
|
77 |
|
changed |= call_key<Key::f3 >(is_f_pressed, w, depth_visible, &settings); |
|
|
79 |
|
call_key<Key::f2 >(is_f_pressed, w, cursor_mode, &w); |
|
80 |
|
changed |= call_key<Key::f3 >(is_f_pressed, w, depth_visible, &settings); |
78 |
81 |
changed |= call_key<Key::f4 >(is_f_pressed, w, polygon_mode, &settings); |
changed |= call_key<Key::f4 >(is_f_pressed, w, polygon_mode, &settings); |
79 |
82 |
changed |= call_key<Key::f5 >(is_f_pressed, w, cull_mode, &settings); |
changed |= call_key<Key::f5 >(is_f_pressed, w, cull_mode, &settings); |
80 |
83 |
changed |= call_key<Key::f6 >(is_f_pressed, w, light_mode, &settings); |
changed |= call_key<Key::f6 >(is_f_pressed, w, light_mode, &settings); |
|
... |
... |
void jen::Framework::update_input() |
83 |
86 |
changed |= call_key<Key::f9 >(is_f_pressed, w, wait_mode, &settings); |
changed |= call_key<Key::f9 >(is_f_pressed, w, wait_mode, &settings); |
84 |
87 |
call_key<Key::f11>(is_f_pressed, w, monitor_mode, &w); |
call_key<Key::f11>(is_f_pressed, w, monitor_mode, &w); |
85 |
88 |
|
|
86 |
|
if (changed) |
|
|
89 |
|
if (changed) |
87 |
90 |
void(graphics.apply_settings(settings)); |
void(graphics.apply_settings(settings)); |
88 |
91 |
} |
} |
89 |
92 |
|
|