저는 터치 바 지원을 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