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