1 // Copyright 2018 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef UI_EVENTS_GESTURES_GESTURE_RECOGNIZER_IMPL_MAC_H_ 6 #define UI_EVENTS_GESTURES_GESTURE_RECOGNIZER_IMPL_MAC_H_ 7 8 #include <stdint.h> 9 10 #include "base/macros.h" 11 #include "ui/events/event.h" 12 #include "ui/events/events_export.h" 13 #include "ui/events/gestures/gesture_recognizer.h" 14 15 namespace ui { 16 17 // Stub implementation of GestureRecognizer for Mac. Currently only serves to 18 // provide a no-op implementation of TransferEventsTo(). 19 class EVENTS_EXPORT GestureRecognizerImplMac : public GestureRecognizer { 20 public: 21 GestureRecognizerImplMac(); 22 ~GestureRecognizerImplMac() override; 23 24 private: 25 // GestureRecognizer: 26 bool ProcessTouchEventPreDispatch(TouchEvent* event, 27 GestureConsumer* consumer) override; 28 Gestures AckTouchEvent(uint32_t unique_event_id, 29 ui::EventResult result, 30 bool is_source_touch_event_set_non_blocking, 31 GestureConsumer* consumer) override; 32 bool CleanupStateForConsumer(GestureConsumer* consumer) override; 33 GestureConsumer* GetTouchLockedTarget(const TouchEvent& event) override; 34 GestureConsumer* GetTargetForLocation(const gfx::PointF& location, 35 int source_device_id) override; 36 void CancelActiveTouchesExcept(GestureConsumer* not_cancelled) override; 37 void CancelActiveTouchesOn( 38 const std::vector<GestureConsumer*>& consumers) override; 39 void TransferEventsTo( 40 GestureConsumer* current_consumer, 41 GestureConsumer* new_consumer, 42 TransferTouchesBehavior transfer_touches_behavior) override; 43 std::vector<std::unique_ptr<ui::TouchEvent>> ExtractTouches( 44 GestureConsumer* consumer) override; 45 void TransferTouches(GestureConsumer* consumer, 46 const std::vector<std::unique_ptr<ui::TouchEvent>>& 47 touch_events) override; 48 bool GetLastTouchPointForTarget(GestureConsumer* consumer, 49 gfx::PointF* point) override; 50 bool CancelActiveTouches(GestureConsumer* consumer) override; 51 void AddGestureEventHelper(GestureEventHelper* helper) override; 52 void RemoveGestureEventHelper(GestureEventHelper* helper) override; 53 54 DISALLOW_COPY_AND_ASSIGN(GestureRecognizerImplMac); 55 }; 56 57 } // namespace ui 58 59 #endif // UI_EVENTS_GESTURES_GESTURE_RECOGNIZER_IMPL_MAC_H_ 60