1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "base/macros.h" 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "ui/events/gestures/gesture_recognizer.h" 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace ui { 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace { 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Stub implementation of GestureRecognizer for Mac. Currently only serves to 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// provide a no-op implementation of TransferEventsTo(). 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class GestureRecognizerImplMac : public GestureRecognizer { 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public: 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) GestureRecognizerImplMac() {} 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual ~GestureRecognizerImplMac() {} 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) private: 206e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual bool ProcessTouchEventPreDispatch( 216e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) const TouchEvent& event, 226e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) GestureConsumer* consumer) OVERRIDE { 236e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) return false; 246e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) } 256e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 266e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual Gestures* ProcessTouchEventPostDispatch( 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const TouchEvent& event, 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ui::EventResult result, 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) GestureConsumer* consumer) OVERRIDE { 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return NULL; 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 326e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual Gestures* ProcessTouchEventOnAsyncAck( 336e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) const TouchEvent& event, 346e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) ui::EventResult result, 356e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) GestureConsumer* consumer) OVERRIDE { 366e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) return NULL; 376e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) }; 38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual bool CleanupStateForConsumer(GestureConsumer* consumer) OVERRIDE { 39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return false; 40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual GestureConsumer* GetTouchLockedTarget( 42cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const TouchEvent& event) OVERRIDE { 43cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return NULL; 44cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 45cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual GestureConsumer* GetTargetForGestureEvent( 46cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const GestureEvent& event) OVERRIDE { 47cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return NULL; 48cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 49cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual GestureConsumer* GetTargetForLocation(const gfx::PointF& location, 50cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) int source_device_id) OVERRIDE { 51cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return NULL; 52cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 53cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void TransferEventsTo(GestureConsumer* current_consumer, 54cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) GestureConsumer* new_consumer) OVERRIDE {} 55cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual bool GetLastTouchPointForTarget(GestureConsumer* consumer, 56cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) gfx::PointF* point) OVERRIDE { 57cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return false; 58cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 59cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual bool CancelActiveTouches(GestureConsumer* consumer) OVERRIDE { 60cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return false; 61cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 62cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void AddGestureEventHelper(GestureEventHelper* helper) OVERRIDE {} 63cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void RemoveGestureEventHelper(GestureEventHelper* helper) OVERRIDE {} 64cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 65cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(GestureRecognizerImplMac); 66cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 67cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 68cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} // namespace 69cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 70cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// static 71cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)GestureRecognizer* GestureRecognizer::Get() { 72cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) CR_DEFINE_STATIC_LOCAL(GestureRecognizerImplMac, instance, ()); 73cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return &instance; 74cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 75cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 76cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} // namespace ui 77