我正在使用C++为 macOS 构建 SDL2 应用程序。我需要对应用程序(例如Web浏览器)进行一些“基本”滚动。我通过使用 SDL_MouseWheel事件实现了这一点,这使我可以进行功能全面的“类似于Windows”的滚动。我正在使用Macbook Pro,并且想引入触控板的功能。
简而言之,我要求一种更好的滚动算法( Macbook的触控板滚动,惯性滚动)
我知道 SDL_MultiGesture事件,但是我真的不知道如何将它们放在一起以达到所需的结果。
最佳答案
我遇到了同样的问题,事实证明,通过在用户默认系统中关闭AppleMomentumScrollSupported
默认值来实现SDL opts out of momentum scroll events。
您可以使用下面的Objective-C++在应用程序中将其重新打开,然后SDL_MouseWheel
事件将变得平滑。
NSDictionary *appDefaults = [[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithBool:YES], @"AppleMomentumScrollSupported",
nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
[appDefaults release];
关于c++ - 使用SDL2平滑(惯性)滚动吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43335291/