15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#ifndef UI_AURA_TEST_EVENT_GENERATOR_DELEGATE_AURA_H_ 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#define UI_AURA_TEST_EVENT_GENERATOR_DELEGATE_AURA_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "ui/events/test/event_generator.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace aura { 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class Window; 12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class WindowTreeHost; 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace client { 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class ScreenPositionClient; 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace test { 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 206e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)void InitializeAuraEventGeneratorDelegate(); 216e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Implementation of ui::test::EventGeneratorDelegate for Aura. 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass EventGeneratorDelegateAura : public ui::test::EventGeneratorDelegate { 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch EventGeneratorDelegateAura(); 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual ~EventGeneratorDelegateAura(); 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 28a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // Returns the host for given point. 29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) virtual WindowTreeHost* GetHostAt(const gfx::Point& point) const = 0; 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Returns the screen position client that determines the 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // coordinates used in EventGenerator. EventGenerator uses 33a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // root Window's coordinate if this returns NULL. 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual client::ScreenPositionClient* GetScreenPositionClient( 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const aura::Window* window) const = 0; 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // Overridden from ui::test::EventGeneratorDelegate: 38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual ui::EventTarget* GetTargetAt(const gfx::Point& location) OVERRIDE; 39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual ui::EventSource* GetEventSource(ui::EventTarget* target) OVERRIDE; 40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual gfx::Point CenterOfTarget( 41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const ui::EventTarget* target) const OVERRIDE; 42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual gfx::Point CenterOfWindow(gfx::NativeWindow window) const OVERRIDE; 43116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual void ConvertPointFromTarget(const ui::EventTarget* target, 44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch gfx::Point* point) const OVERRIDE; 45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual void ConvertPointToTarget(const ui::EventTarget* target, 46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch gfx::Point* point) const OVERRIDE; 47116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual void ConvertPointFromHost(const ui::EventTarget* hosted_target, 48116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch gfx::Point* point) const OVERRIDE; 49f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 51116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch DISALLOW_COPY_AND_ASSIGN(EventGeneratorDelegateAura); 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace test 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace aura 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#endif // UI_AURA_TEST_EVENT_GENERATOR_DELEGATE_AURA_H_ 58