OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef APPS_MOTERM_MOTERM_VIEW_H_ | 5 #ifndef APPS_MOTERM_MOTERM_VIEW_H_ |
6 #define APPS_MOTERM_MOTERM_VIEW_H_ | 6 #define APPS_MOTERM_MOTERM_VIEW_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "apps/moterm/moterm_driver.h" | 10 #include "apps/moterm/moterm_driver.h" |
11 #include "apps/moterm/moterm_model.h" | 11 #include "apps/moterm/moterm_model.h" |
12 #include "base/macros.h" | 12 #include "base/macros.h" |
13 #include "base/memory/weak_ptr.h" | 13 #include "base/memory/weak_ptr.h" |
14 #include "mojo/common/binding_set.h" | 14 #include "mojo/common/binding_set.h" |
15 #include "mojo/public/cpp/application/interface_factory.h" | |
16 #include "mojo/public/cpp/application/service_provider_impl.h" | 15 #include "mojo/public/cpp/application/service_provider_impl.h" |
17 #include "mojo/public/cpp/bindings/callback.h" | 16 #include "mojo/public/cpp/bindings/callback.h" |
18 #include "mojo/public/cpp/bindings/interface_request.h" | 17 #include "mojo/public/cpp/bindings/interface_request.h" |
19 #include "mojo/services/input_events/interfaces/input_event_constants.mojom.h" | 18 #include "mojo/services/input_events/interfaces/input_event_constants.mojom.h" |
20 #include "mojo/services/input_events/interfaces/input_events.mojom.h" | 19 #include "mojo/services/input_events/interfaces/input_events.mojom.h" |
21 #include "mojo/services/terminal/interfaces/terminal.mojom.h" | 20 #include "mojo/services/terminal/interfaces/terminal.mojom.h" |
22 #include "mojo/ui/choreographer.h" | 21 #include "mojo/ui/choreographer.h" |
23 #include "mojo/ui/ganesh_view.h" | 22 #include "mojo/ui/ganesh_view.h" |
24 #include "mojo/ui/input_handler.h" | 23 #include "mojo/ui/input_handler.h" |
25 #include "third_party/skia/include/core/SkBitmapDevice.h" | 24 #include "third_party/skia/include/core/SkBitmapDevice.h" |
26 #include "third_party/skia/include/core/SkTypeface.h" | 25 #include "third_party/skia/include/core/SkTypeface.h" |
27 | 26 |
28 class MotermView : public mojo::ui::GaneshView, | 27 class MotermView : public mojo::ui::GaneshView, |
29 public mojo::ui::ChoreographerDelegate, | 28 public mojo::ui::ChoreographerDelegate, |
30 public mojo::ui::InputListener, | 29 public mojo::ui::InputListener, |
31 public MotermModel::Delegate, | 30 public MotermModel::Delegate, |
32 public MotermDriver::Client, | 31 public MotermDriver::Client, |
33 public mojo::InterfaceFactory<mojo::terminal::Terminal>, | |
34 public mojo::terminal::Terminal { | 32 public mojo::terminal::Terminal { |
35 public: | 33 public: |
36 MotermView( | 34 MotermView( |
37 mojo::ApplicationImpl* app_impl, | 35 mojo::ApplicationImpl* app_impl, |
38 mojo::InterfaceRequest<mojo::ui::ViewOwner> view_owner_request, | 36 mojo::InterfaceRequest<mojo::ui::ViewOwner> view_owner_request, |
39 mojo::InterfaceRequest<mojo::ServiceProvider> service_provider_request); | 37 mojo::InterfaceRequest<mojo::ServiceProvider> service_provider_request); |
40 ~MotermView() override; | 38 ~MotermView() override; |
41 | 39 |
42 private: | 40 private: |
43 // |mojo::ui::GaneshView|: | 41 // |mojo::ui::GaneshView|: |
44 void OnPropertiesChanged(uint32_t old_scene_version, | 42 void OnPropertiesChanged(uint32_t old_scene_version, |
45 mojo::ui::ViewPropertiesPtr old_properties) override; | 43 mojo::ui::ViewPropertiesPtr old_properties) override; |
46 | 44 |
47 // |mojo::ui::ChoreographerDelegate|: | 45 // |mojo::ui::ChoreographerDelegate|: |
48 void OnDraw(const mojo::gfx::composition::FrameInfo& frame_info, | 46 void OnDraw(const mojo::gfx::composition::FrameInfo& frame_info, |
49 const base::TimeDelta& time_delta) override; | 47 const base::TimeDelta& time_delta) override; |
50 | 48 |
51 // |mojo::ui::InputListener|: | 49 // |mojo::ui::InputListener|: |
52 void OnEvent(mojo::EventPtr event, const OnEventCallback& callback) override; | 50 void OnEvent(mojo::EventPtr event, const OnEventCallback& callback) override; |
53 | 51 |
54 // |MotermModel::Delegate|: | 52 // |MotermModel::Delegate|: |
55 void OnResponse(const void* buf, size_t size) override; | 53 void OnResponse(const void* buf, size_t size) override; |
56 void OnSetKeypadMode(bool application_mode) override; | 54 void OnSetKeypadMode(bool application_mode) override; |
57 | 55 |
58 // |MotermDriver::Client|: | 56 // |MotermDriver::Client|: |
59 void OnDataReceived(const void* bytes, size_t num_bytes) override; | 57 void OnDataReceived(const void* bytes, size_t num_bytes) override; |
60 void OnClosed() override; | 58 void OnClosed() override; |
61 void OnDestroyed() override; | 59 void OnDestroyed() override; |
62 | 60 |
63 // |mojo::InterfaceFactory<mojo::terminal::Terminal>|: | |
64 void Create( | |
65 const mojo::ConnectionContext& connection_context, | |
66 mojo::InterfaceRequest<mojo::terminal::Terminal> request) override; | |
67 | |
68 // |mojo::terminal::Terminal| implementation: | 61 // |mojo::terminal::Terminal| implementation: |
69 void Connect(mojo::InterfaceRequest<mojo::files::File> terminal_file, | 62 void Connect(mojo::InterfaceRequest<mojo::files::File> terminal_file, |
70 bool force, | 63 bool force, |
71 const ConnectCallback& callback) override; | 64 const ConnectCallback& callback) override; |
72 void ConnectToClient( | 65 void ConnectToClient( |
73 mojo::InterfaceHandle<mojo::terminal::TerminalClient> terminal_client, | 66 mojo::InterfaceHandle<mojo::terminal::TerminalClient> terminal_client, |
74 bool force, | 67 bool force, |
75 const ConnectToClientCallback& callback) override; | 68 const ConnectToClientCallback& callback) override; |
76 void GetSize(const GetSizeCallback& callback) override; | 69 void GetSize(const GetSizeCallback& callback) override; |
77 void SetSize(uint32_t rows, | 70 void SetSize(uint32_t rows, |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 int line_height_; | 107 int line_height_; |
115 int advance_width_; | 108 int advance_width_; |
116 | 109 |
117 // Keyboard state. | 110 // Keyboard state. |
118 bool keypad_application_mode_; | 111 bool keypad_application_mode_; |
119 | 112 |
120 DISALLOW_COPY_AND_ASSIGN(MotermView); | 113 DISALLOW_COPY_AND_ASSIGN(MotermView); |
121 }; | 114 }; |
122 | 115 |
123 #endif // APPS_MOTERM_MOTERM_VIEW_H_ | 116 #endif // APPS_MOTERM_MOTERM_VIEW_H_ |
OLD | NEW |