我正在嘗試將觸摸板支持與SDL應用程序集成。如何從NSWindow對象創建NSTouchBar?
我已經進入了SDL中的目標C代碼,並直接進入SDLView代碼並獲得了工作觸摸條,但現在我想要獲得與SDL2庫相同的功能。 SDL公開了它創建的NSWindow對象,我認爲我可以創建一個使用makeTouchBar和makeItemForIdentifier實現的響應器對象,但我不知道如何將它「附加」到窗口。我認爲這將是一個「響應者鏈」,但我並不真正知道這意味着什麼或如何去做。
我試着創建以下並嘗試了窗口上的setNextResponder的幾個不同的組合,但似乎無法弄清楚正確的組合,以獲得makeTouchBar調用,但我在正確的球場,因爲它的工作原理當我將這些方法直接放在視圖上時。
@interface MyTouchbarResponder : NSResponder
- (id)init;
@property(strong, readonly) NSTouchBar *touchBar;
- (NSTouchBar *)makeTouchBar;
- (nullable NSTouchBarItem *)touchBar:(NSTouchBar *)touchBar makeItemForIdentifier:(NSTouchBarItemIdentifier)identifier;
@end
@implementation MyTouchbarResponder
- (id)init
{
[super init];
}
- (NSTouchBar *)makeTouchBar
{
...stuff...
}
- (nullable NSTouchBarItem *)touchBar:(NSTouchBar *)touchBar makeItemForIdentifier:(NSTouchBarItemIdentifier)identifier
{
...stuff...
}
@end
謝謝。
感謝。我無法控制窗口或視圖類。 https://github.com/spurious/SDL-mirror/blob/master/src/video/cocoa/SDL_cocoawindow.m#L56我得到的只是NSWindow對象的句柄。 – xaxxon