added RCTTouchEvent (5/7)
Summary:
This diff adds an implementation of `RCTEvent` protocol which represents touch events.
It's basically a copy of this code: c14cc123d5/React/Base/RCTTouchHandler.m (L194-L196)
which is replaced using `RCTTouchEvent` in the next diff (D2884593).
public
___
//This diff is part of a larger stack. For high level overview what's going on jump to D2884593.//
Reviewed By: nicklockwood
Differential Revision: D2884592
fb-gh-sync-id: e35addcf15a7012f89644200a08f5856c7f57299
This commit is contained in:
parent
91e5829419
commit
4d83cfbc50
|
@ -0,0 +1,23 @@
|
|||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "RCTEventDispatcher.h"
|
||||
|
||||
/**
|
||||
* Represents a touch event, which may be composed of several touches (one for every finger).
|
||||
* For more information on contents of passed data structures see RCTTouchHandler.
|
||||
*/
|
||||
@interface RCTTouchEvent : NSObject <RCTEvent>
|
||||
|
||||
- (instancetype)initWithEventName:(NSString *)eventName
|
||||
reactTouches:(NSArray<NSDictionary *> *)reactTouches
|
||||
changedIndexes:(NSArray<NSNumber *> *)changedIndexes NS_DESIGNATED_INITIALIZER;
|
||||
@end
|
|
@ -0,0 +1,57 @@
|
|||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
|
||||
#import "RCTTouchEvent.h"
|
||||
|
||||
@implementation RCTTouchEvent
|
||||
{
|
||||
NSArray<NSDictionary *> *_reactTouches;
|
||||
NSArray<NSNumber *> *_changedIndexes;
|
||||
}
|
||||
|
||||
@synthesize eventName = _eventName;
|
||||
@synthesize viewTag = _viewTag;
|
||||
|
||||
- (instancetype)initWithEventName:(NSString *)eventName
|
||||
reactTouches:(NSArray<NSDictionary *> *)reactTouches
|
||||
changedIndexes:(NSArray<NSNumber *> *)changedIndexes
|
||||
{
|
||||
if (self = [super init]) {
|
||||
_eventName = eventName;
|
||||
_reactTouches = reactTouches;
|
||||
_changedIndexes = changedIndexes;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
||||
|
||||
#pragma mark - RCTEvent
|
||||
|
||||
- (BOOL)canCoalesce
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (id<RCTEvent>)coalesceWithEvent:(id<RCTEvent>)newEvent
|
||||
{
|
||||
return newEvent;
|
||||
}
|
||||
|
||||
+ (NSString *)moduleDotMethod
|
||||
{
|
||||
return @"RCTEventEmitter.receiveTouches";
|
||||
}
|
||||
|
||||
- (NSArray *)arguments
|
||||
{
|
||||
return @[RCTNormalizeInputEventName(_eventName), _reactTouches, _changedIndexes];
|
||||
}
|
||||
|
||||
@end
|
Loading…
Reference in New Issue