1 // Copyright 2013 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_WINDOW_TREE_HOST_OZONE_H_
6 #define UI_AURA_WINDOW_TREE_HOST_OZONE_H_
10 #include "base/memory/scoped_ptr.h"
11 #include "base/message_loop/message_pump_dispatcher.h"
12 #include "ui/aura/window_tree_host.h"
13 #include "ui/events/event_source.h"
14 #include "ui/gfx/insets.h"
15 #include "ui/gfx/rect.h"
19 class WindowTreeHostOzone : public WindowTreeHost,
20 public ui::EventSource,
21 public base::MessagePumpDispatcher {
23 explicit WindowTreeHostOzone(const gfx::Rect& bounds);
24 virtual ~WindowTreeHostOzone();
27 // Overridden from Dispatcher overrides:
28 virtual uint32_t Dispatch(const base::NativeEvent& event) OVERRIDE;
30 // WindowTreeHost Overrides.
31 virtual RootWindow* GetRootWindow() OVERRIDE;
32 virtual gfx::AcceleratedWidget GetAcceleratedWidget() OVERRIDE;
33 virtual void Show() OVERRIDE;
34 virtual void Hide() OVERRIDE;
35 virtual void ToggleFullScreen() OVERRIDE;
36 virtual gfx::Rect GetBounds() const OVERRIDE;
37 virtual void SetBounds(const gfx::Rect& bounds) OVERRIDE;
38 virtual gfx::Insets GetInsets() const OVERRIDE;
39 virtual void SetInsets(const gfx::Insets& bounds) OVERRIDE;
40 virtual gfx::Point GetLocationOnNativeScreen() const OVERRIDE;
41 virtual void SetCapture() OVERRIDE;
42 virtual void ReleaseCapture() OVERRIDE;
43 virtual bool QueryMouseLocation(gfx::Point* location_return) OVERRIDE;
44 virtual bool ConfineCursorToRootWindow() OVERRIDE;
45 virtual void UnConfineCursor() OVERRIDE;
46 virtual void PostNativeEvent(const base::NativeEvent& event) OVERRIDE;
47 virtual void OnDeviceScaleFactorChanged(float device_scale_factor) OVERRIDE;
48 virtual void PrepareForShutdown() OVERRIDE;
49 virtual void SetCursorNative(gfx::NativeCursor cursor_type) OVERRIDE;
50 virtual void MoveCursorToNative(const gfx::Point& location) OVERRIDE;
51 virtual void OnCursorVisibilityChangedNative(bool show) OVERRIDE;
53 // ui::EventSource overrides.
54 virtual ui::EventProcessor* GetEventProcessor() OVERRIDE;
56 gfx::AcceleratedWidget widget_;
59 DISALLOW_COPY_AND_ASSIGN(WindowTreeHostOzone);
64 #endif // UI_AURA_WINDOW_TREE_HOST_OZONE_H_