util_os_ui.c (1131B)
1 /* See LICENSE for license details. */ 2 3 // NOTE(rnp): functions which require platform layer support but 4 // otherwise share implementation 5 6 function void 7 os_build_frame_input(BeamformerInput *input) 8 { 9 Vector2 new_mouse = {-1, -1}; 10 if (IsWindowFocused()) new_mouse = GetMousePosition(); 11 input->mouse_x = new_mouse.x; 12 input->mouse_y = new_mouse.y; 13 14 input->input_modifiers = 0; 15 input->input_modifiers |= BeamformerInputModifier_LeftAlt * IsKeyDown(KEY_LEFT_ALT); 16 input->input_modifiers |= BeamformerInputModifier_RightAlt * IsKeyDown(KEY_RIGHT_ALT); 17 input->input_modifiers |= BeamformerInputModifier_LeftControl * IsKeyDown(KEY_LEFT_CONTROL); 18 input->input_modifiers |= BeamformerInputModifier_RightControl * IsKeyDown(KEY_RIGHT_CONTROL); 19 input->input_modifiers |= BeamformerInputModifier_LeftShift * IsKeyDown(KEY_LEFT_SHIFT); 20 input->input_modifiers |= BeamformerInputModifier_RightShift * IsKeyDown(KEY_RIGHT_SHIFT); 21 input->input_modifiers |= BeamformerInputModifier_LeftMeta * IsKeyDown(KEY_LEFT_SUPER); 22 input->input_modifiers |= BeamformerInputModifier_RightMeta * IsKeyDown(KEY_RIGHT_SUPER); 23 }