1 // Copyright (c) 2012 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.
5 #ifndef UI_AURA_ROOT_WINDOW_HOST_DELEGATE_H_
6 #define UI_AURA_ROOT_WINDOW_HOST_DELEGATE_H_
8 #include "ui/aura/aura_export.h"
28 // A private interface used by RootWindowHost implementations to communicate
29 // with their owning RootWindow.
30 class AURA_EXPORT RootWindowHostDelegate
{
32 virtual bool OnHostKeyEvent(ui::KeyEvent
* event
) = 0;
33 virtual bool OnHostMouseEvent(ui::MouseEvent
* event
) = 0;
34 virtual bool OnHostScrollEvent(ui::ScrollEvent
* event
) = 0;
35 virtual bool OnHostTouchEvent(ui::TouchEvent
* event
) = 0;
36 virtual void OnHostCancelMode() = 0;
38 // Called when the windowing system activates the window.
39 virtual void OnHostActivated() = 0;
41 // Called when system focus is changed to another window.
42 virtual void OnHostLostWindowCapture() = 0;
44 // Called when the windowing system has mouse grab because it's performing a
45 // window move on our behalf, but we should still paint as if we're active.
46 virtual void OnHostLostMouseGrab() = 0;
48 virtual void OnHostPaint(const gfx::Rect
& damage_rect
) = 0;
50 virtual void OnHostMoved(const gfx::Point
& origin
) = 0;
51 virtual void OnHostResized(const gfx::Size
& size
) = 0;
53 virtual float GetDeviceScaleFactor() = 0;
55 virtual RootWindow
* AsRootWindow() = 0;
58 virtual ~RootWindowHostDelegate() {}
63 #endif // UI_AURA_ROOT_WINDOW_HOST_DELEGATE_H_