私は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