Files
flipper/iOS/Plugins/SonarKitLayoutPlugin/SonarKitLayoutComponentKitSupport/SKComponentHostingViewDescriptor.mm
Daniel Büchele fbbf8cf16b Initial commit 🎉
fbshipit-source-id: b6fc29740c6875d2e78953b8a7123890a67930f2
Co-authored-by: Sebastian McKenzie <sebmck@fb.com>
Co-authored-by: John Knox <jknox@fb.com>
Co-authored-by: Emil Sjölander <emilsj@fb.com>
Co-authored-by: Pritesh Nandgaonkar <prit91@fb.com>
2018-06-01 11:03:58 +01:00

49 lines
1.5 KiB
Plaintext

/*
* Copyright (c) 2018-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the LICENSE
* file in the root directory of this source tree.
*
*/
#if FB_SONARKIT_ENABLED
#import "SKComponentHostingViewDescriptor.h"
#import <ComponentKit/CKComponentDataSourceAttachController.h>
#import <ComponentKit/CKComponentDataSourceAttachControllerInternal.h>
#import <ComponentKit/CKComponentHostingView.h>
#import <ComponentKit/CKComponentHostingViewInternal.h>
#import <ComponentKit/CKComponentLayout.h>
#import <ComponentKit/CKComponentHostingViewInternal.h>
#import <SonarKitLayoutPlugin/SKDescriptorMapper.h>
#import "SKComponentLayoutWrapper.h"
@implementation SKComponentHostingViewDescriptor
- (NSString *)identifierForNode:(CKComponentHostingView *)node {
return [NSString stringWithFormat: @"%p", node];
}
- (NSUInteger)childCountForNode:(CKComponentHostingView *)node {
return node.mountedLayout.component ? 1 : 0;
}
- (id)childForNode:(CKComponentHostingView *)node atIndex:(NSUInteger)index {
return [SKComponentLayoutWrapper newFromRoot:node];
}
- (void)setHighlighted:(BOOL)highlighted forNode:(CKComponentHostingView *)node {
SKNodeDescriptor *viewDescriptor = [self descriptorForClass: [UIView class]];
[viewDescriptor setHighlighted: highlighted forNode: node];
}
- (void)hitTest:(SKTouch *)touch forNode:(CKComponentHostingView *)node {
[touch continueWithChildIndex: 0 withOffset: (CGPoint){ 0, 0 }];
}
@end
#endif