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 #include "apps/moterm/moterm_view.h" | 5 #include "apps/moterm/moterm_view.h" |
6 | 6 |
7 #ifndef GL_GLEXT_PROTOTYPES | 7 #ifndef GL_GLEXT_PROTOTYPES |
8 #define GL_GLEXT_PROTOTYPES | 8 #define GL_GLEXT_PROTOTYPES |
9 #endif | 9 #endif |
10 | 10 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 advance_width_(0), | 51 advance_width_(0), |
52 keypad_application_mode_(false) { | 52 keypad_application_mode_(false) { |
53 // TODO(vtl): |service_provider_impl_|'s ctor doesn't like an invalid request, | 53 // TODO(vtl): |service_provider_impl_|'s ctor doesn't like an invalid request, |
54 // so we have to conditionally, explicitly bind. | 54 // so we have to conditionally, explicitly bind. |
55 if (service_provider_request.is_pending()) { | 55 if (service_provider_request.is_pending()) { |
56 // TODO(vtl): The connection context should probably be plumbed here, which | 56 // TODO(vtl): The connection context should probably be plumbed here, which |
57 // means that mojo::ui::ViewProviderApp::CreateView() should probably have a | 57 // means that mojo::ui::ViewProviderApp::CreateView() should probably have a |
58 // connection context argument. | 58 // connection context argument. |
59 service_provider_impl_.Bind(mojo::ConnectionContext(), | 59 service_provider_impl_.Bind(mojo::ConnectionContext(), |
60 service_provider_request.Pass()); | 60 service_provider_request.Pass()); |
61 service_provider_impl_.AddService<mojo::terminal::Terminal>(this); | 61 service_provider_impl_.AddService<mojo::terminal::Terminal>([this]( |
| 62 const mojo::ConnectionContext& connection_context, |
| 63 mojo::InterfaceRequest<mojo::terminal::Terminal> terminal_request) { |
| 64 terminal_bindings_.AddBinding(this, terminal_request.Pass()); |
| 65 }); |
62 } | 66 } |
63 | 67 |
64 regular_typeface_ = skia::AdoptRef(SkTypeface::CreateFromStream( | 68 regular_typeface_ = skia::AdoptRef(SkTypeface::CreateFromStream( |
65 new SkMemoryStream(font_data::kDejaVuSansMonoRegular.data, | 69 new SkMemoryStream(font_data::kDejaVuSansMonoRegular.data, |
66 font_data::kDejaVuSansMonoRegular.size))); | 70 font_data::kDejaVuSansMonoRegular.size))); |
67 | 71 |
68 // TODO(vtl): This duplicates some code. | 72 // TODO(vtl): This duplicates some code. |
69 SkPaint fg_paint; | 73 SkPaint fg_paint; |
70 fg_paint.setTypeface(regular_typeface_.get()); | 74 fg_paint.setTypeface(regular_typeface_.get()); |
71 fg_paint.setTextSize(16); | 75 fg_paint.setTextSize(16); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 | 130 |
127 void MotermView::OnDestroyed() { | 131 void MotermView::OnDestroyed() { |
128 DCHECK(!driver_); | 132 DCHECK(!driver_); |
129 if (!on_closed_callback_.is_null()) { | 133 if (!on_closed_callback_.is_null()) { |
130 mojo::Closure callback; | 134 mojo::Closure callback; |
131 std::swap(callback, on_closed_callback_); | 135 std::swap(callback, on_closed_callback_); |
132 callback.Run(); | 136 callback.Run(); |
133 } | 137 } |
134 } | 138 } |
135 | 139 |
136 void MotermView::Create( | |
137 const mojo::ConnectionContext& connection_context, | |
138 mojo::InterfaceRequest<mojo::terminal::Terminal> request) { | |
139 terminal_bindings_.AddBinding(this, request.Pass()); | |
140 } | |
141 | |
142 void MotermView::Connect( | 140 void MotermView::Connect( |
143 mojo::InterfaceRequest<mojo::files::File> terminal_file, | 141 mojo::InterfaceRequest<mojo::files::File> terminal_file, |
144 bool force, | 142 bool force, |
145 const ConnectCallback& callback) { | 143 const ConnectCallback& callback) { |
146 if (driver_) { | 144 if (driver_) { |
147 // We already have a connection. | 145 // We already have a connection. |
148 if (force) { | 146 if (force) { |
149 OnClosed(); | 147 OnClosed(); |
150 } else { | 148 } else { |
151 // TODO(vtl): Is this error code right? | 149 // TODO(vtl): Is this error code right? |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 | 334 |
337 void MotermView::OnKeyPressed(mojo::EventPtr key_event) { | 335 void MotermView::OnKeyPressed(mojo::EventPtr key_event) { |
338 std::string input_sequence = | 336 std::string input_sequence = |
339 GetInputSequenceForKeyPressedEvent(*key_event, keypad_application_mode_); | 337 GetInputSequenceForKeyPressedEvent(*key_event, keypad_application_mode_); |
340 if (input_sequence.empty()) | 338 if (input_sequence.empty()) |
341 return; | 339 return; |
342 | 340 |
343 if (driver_) | 341 if (driver_) |
344 driver_->SendData(input_sequence.data(), input_sequence.size()); | 342 driver_->SendData(input_sequence.data(), input_sequence.size()); |
345 } | 343 } |
OLD | NEW |