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

Method input_event

framework/hpp_api_vulkan_sample.cpp:180–340  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

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