Home | History | Annotate | Download | only in WALT
      1 /*
      2  * Copyright (C) 2016 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 #import "WALTTouch.h"
     18 
     19 @implementation WALTTouch
     20 - (instancetype)initWithEvent:(UIEvent *)event {
     21   if ((self = [super init])) {
     22     if ([event allTouches].count > 1) {
     23       NSLog(@"Multiple touches in event; taking any.");
     24     }
     25     self.kernelTime = event.timestamp;
     26 
     27     UITouch *touch = [[event allTouches] anyObject];
     28     self.phase = touch.phase;
     29     if ([touch respondsToSelector:@selector(preciseLocationInView:)]) {  // iOS 9.1+
     30       self.location = [touch preciseLocationInView:nil];
     31     } else {
     32       self.location = [touch locationInView:nil];
     33     }
     34   }
     35   return self;
     36 }
     37 @end
     38