void EmuWindow_SDL2::OnMouseButton(u32 button, u8 state, s32 x, s32 y) { if (button != SDL_BUTTON_LEFT) return; if (state == SDL_PRESSED) { TouchPressed((unsigned)std::max(x, 0), (unsigned)std::max(y, 0)); } else { TouchReleased(); } }
void EmuWindow_GLFW::OnMouseButtonEvent(GLFWwindow* win, int button, int action, int mods) { if (button == GLFW_MOUSE_BUTTON_LEFT) { auto emu_window = GetEmuWindow(win); auto layout = emu_window->GetFramebufferLayout(); double x, y; glfwGetCursorPos(win, &x, &y); if (action == GLFW_PRESS) emu_window->TouchPressed(static_cast<unsigned>(x), static_cast<unsigned>(y)); else if (action == GLFW_RELEASE) emu_window->TouchReleased(); } }