OLD | NEW |
| (Empty) |
1 // Copyright 2015 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 MANDOLINE_UI_AURA_WINDOW_TREE_HOST_MOJO_H_ | |
6 #define MANDOLINE_UI_AURA_WINDOW_TREE_HOST_MOJO_H_ | |
7 | |
8 #include "base/macros.h" | |
9 #include "components/mus/public/cpp/view_observer.h" | |
10 #include "ui/aura/window_tree_host.h" | |
11 #include "ui/events/event_source.h" | |
12 #include "ui/gfx/geometry/rect.h" | |
13 | |
14 class SkBitmap; | |
15 | |
16 namespace ui { | |
17 class Compositor; | |
18 } | |
19 | |
20 namespace mojo { | |
21 class Shell; | |
22 } | |
23 | |
24 namespace mandoline { | |
25 | |
26 class InputMethodMandoline; | |
27 class SurfaceContextFactory; | |
28 | |
29 class WindowTreeHostMojo : public aura::WindowTreeHost, | |
30 public mus::ViewObserver { | |
31 public: | |
32 WindowTreeHostMojo(mojo::Shell* shell, mus::View* view); | |
33 ~WindowTreeHostMojo() override; | |
34 | |
35 const gfx::Rect& bounds() const { return bounds_; } | |
36 | |
37 ui::EventDispatchDetails SendEventToProcessor(ui::Event* event) { | |
38 return ui::EventSource::SendEventToProcessor(event); | |
39 } | |
40 | |
41 private: | |
42 // WindowTreeHost: | |
43 ui::EventSource* GetEventSource() override; | |
44 gfx::AcceleratedWidget GetAcceleratedWidget() override; | |
45 void ShowImpl() override; | |
46 void HideImpl() override; | |
47 gfx::Rect GetBounds() const override; | |
48 void SetBounds(const gfx::Rect& bounds) override; | |
49 gfx::Point GetLocationOnNativeScreen() const override; | |
50 void SetCapture() override; | |
51 void ReleaseCapture() override; | |
52 void SetCursorNative(gfx::NativeCursor cursor) override; | |
53 void MoveCursorToNative(const gfx::Point& location) override; | |
54 void OnCursorVisibilityChangedNative(bool show) override; | |
55 | |
56 // mus::ViewObserver: | |
57 void OnViewBoundsChanged(mus::View* view, | |
58 const mojo::Rect& old_bounds, | |
59 const mojo::Rect& new_bounds) override; | |
60 | |
61 mus::View* view_; | |
62 | |
63 gfx::Rect bounds_; | |
64 | |
65 scoped_ptr<InputMethodMandoline> input_method_; | |
66 | |
67 scoped_ptr<SurfaceContextFactory> context_factory_; | |
68 | |
69 DISALLOW_COPY_AND_ASSIGN(WindowTreeHostMojo); | |
70 }; | |
71 | |
72 } // namespace mandoline | |
73 | |
74 #endif // MANDOLINE_UI_AURA_WINDOW_TREE_HOST_MOJO_H_ | |
OLD | NEW |