|  | // Copyright 2014 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef UI_AURA_TEST_EVENT_GENERATOR_DELEGATE_AURA_H_ | 
|  | #define UI_AURA_TEST_EVENT_GENERATOR_DELEGATE_AURA_H_ | 
|  |  | 
|  | #include "ui/events/test/event_generator.h" | 
|  |  | 
|  | namespace aura { | 
|  | class Window; | 
|  | class WindowTreeHost; | 
|  |  | 
|  | namespace client { | 
|  | class ScreenPositionClient; | 
|  | } | 
|  |  | 
|  | namespace test { | 
|  |  | 
|  | void InitializeAuraEventGeneratorDelegate(); | 
|  |  | 
|  | // Implementation of ui::test::EventGeneratorDelegate for Aura. | 
|  | class EventGeneratorDelegateAura : public ui::test::EventGeneratorDelegate { | 
|  | public: | 
|  | EventGeneratorDelegateAura(); | 
|  | virtual ~EventGeneratorDelegateAura(); | 
|  |  | 
|  | // Returns the host for given point. | 
|  | virtual WindowTreeHost* GetHostAt(const gfx::Point& point) const = 0; | 
|  |  | 
|  | // Returns the screen position client that determines the | 
|  | // coordinates used in EventGenerator. EventGenerator uses | 
|  | // root Window's coordinate if this returns NULL. | 
|  | virtual client::ScreenPositionClient* GetScreenPositionClient( | 
|  | const aura::Window* window) const = 0; | 
|  |  | 
|  | // Overridden from ui::test::EventGeneratorDelegate: | 
|  | virtual ui::EventTarget* GetTargetAt(const gfx::Point& location) override; | 
|  | virtual ui::EventSource* GetEventSource(ui::EventTarget* target) override; | 
|  | virtual gfx::Point CenterOfTarget( | 
|  | const ui::EventTarget* target) const override; | 
|  | virtual gfx::Point CenterOfWindow(gfx::NativeWindow window) const override; | 
|  | virtual void ConvertPointFromTarget(const ui::EventTarget* target, | 
|  | gfx::Point* point) const override; | 
|  | virtual void ConvertPointToTarget(const ui::EventTarget* target, | 
|  | gfx::Point* point) const override; | 
|  | virtual void ConvertPointFromHost(const ui::EventTarget* hosted_target, | 
|  | gfx::Point* point) const override; | 
|  |  | 
|  | private: | 
|  | DISALLOW_COPY_AND_ASSIGN(EventGeneratorDelegateAura); | 
|  | }; | 
|  |  | 
|  | }  // namespace test | 
|  | }  // namespace aura | 
|  |  | 
|  | #endif  // UI_AURA_TEST_EVENT_GENERATOR_DELEGATE_AURA_H_ |