MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-Samples / input_event

Method input_event

framework/api_vulkan_sample.cpp:189–349  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

187}
188
189void ApiVulkanSample::input_event(const vkb::InputEvent &input_event)
190{
191 VulkanSample::input_event(input_event);
192
193 bool gui_captures_event = false;
194
195 if (has_gui())
196 {
197 gui_captures_event = get_gui().input_event(input_event);
198 }
199
200 if (!gui_captures_event)
201 {
202 if (input_event.get_source() == vkb::EventSource::Mouse)
203 {
204 const auto &mouse_button = static_cast<const vkb::MouseButtonInputEvent &>(input_event);
205
206 handle_mouse_move(static_cast<int32_t>(mouse_button.get_pos_x()), static_cast<int32_t>(mouse_button.get_pos_y()));
207
208 if (mouse_button.get_action() == vkb::MouseAction::Down)
209 {
210 switch (mouse_button.get_button())
211 {
212 case vkb::MouseButton::Left:
213 mouse_buttons.left = true;
214 break;
215 case vkb::MouseButton::Right:
216 mouse_buttons.right = true;
217 break;
218 case vkb::MouseButton::Middle:
219 mouse_buttons.middle = true;
220 break;
221 default:
222 break;
223 }
224 }
225 else if (mouse_button.get_action() == vkb::MouseAction::Up)
226 {
227 switch (mouse_button.get_button())
228 {
229 case vkb::MouseButton::Left:
230 mouse_buttons.left = false;
231 break;
232 case vkb::MouseButton::Right:
233 mouse_buttons.right = false;
234 break;
235 case vkb::MouseButton::Middle:
236 mouse_buttons.middle = false;
237 break;
238 default:
239 break;
240 }
241 }
242 }
243 else if (input_event.get_source() == vkb::EventSource::Touchscreen)
244 {
245 const auto &touch_event = static_cast<const vkb::TouchInputEvent &>(input_event);
246

Callers

nothing calls this directly

Calls 7

get_sourceMethod · 0.80
get_pos_xMethod · 0.80
get_pos_yMethod · 0.80
get_actionMethod · 0.80
get_buttonMethod · 0.80
rotateMethod · 0.80
get_codeMethod · 0.80

Tested by

no test coverage detected