Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(121)

Side by Side Diff: chrome/browser/android/vr_shell/ui_scene_manager.cc

Issue 2887773008: Update fullscreen ux, make floor and ceiling visible. (Closed)
Patch Set: adjust tests to fail if a new added element becomes visible at some future point Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 "chrome/browser/android/vr_shell/ui_scene_manager.h" 5 #include "chrome/browser/android/vr_shell/ui_scene_manager.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "chrome/browser/android/vr_shell/textures/close_button_texture.h" 9 #include "chrome/browser/android/vr_shell/textures/close_button_texture.h"
10 #include "chrome/browser/android/vr_shell/textures/ui_texture.h" 10 #include "chrome/browser/android/vr_shell/textures/ui_texture.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 static constexpr float kUrlBarDistance = 2.4; 50 static constexpr float kUrlBarDistance = 2.4;
51 static constexpr float kUrlBarWidth = 0.672 * kUrlBarDistance; 51 static constexpr float kUrlBarWidth = 0.672 * kUrlBarDistance;
52 static constexpr float kUrlBarHeight = 0.088 * kUrlBarDistance; 52 static constexpr float kUrlBarHeight = 0.088 * kUrlBarDistance;
53 static constexpr float kUrlBarVerticalOffset = -0.516 * kUrlBarDistance; 53 static constexpr float kUrlBarVerticalOffset = -0.516 * kUrlBarDistance;
54 54
55 static constexpr float kLoadingIndicatorWidth = 0.24 * kUrlBarDistance; 55 static constexpr float kLoadingIndicatorWidth = 0.24 * kUrlBarDistance;
56 static constexpr float kLoadingIndicatorHeight = 0.008 * kUrlBarDistance; 56 static constexpr float kLoadingIndicatorHeight = 0.008 * kUrlBarDistance;
57 static constexpr float kLoadingIndicatorOffset = 57 static constexpr float kLoadingIndicatorOffset =
58 -0.016 * kUrlBarDistance - kLoadingIndicatorHeight / 2; 58 -0.016 * kUrlBarDistance - kLoadingIndicatorHeight / 2;
59 59
60 static constexpr float kFullscreenWidth = 2.88;
61 static constexpr float kFullscreenHeight = 1.62;
62 static constexpr float kFullscreenDistance = 3;
63 static constexpr float kFullscreenVerticalOffset = -0.26;
64 static constexpr vr::Colorf kFullscreenBackgroundColor = {0.1, 0.1, 0.1, 1.0};
65
66 static constexpr float kSceneSize = 25.0; 60 static constexpr float kSceneSize = 25.0;
67 static constexpr float kSceneHeight = 4.0; 61 static constexpr float kSceneHeight = 4.0;
68 static constexpr int kFloorGridlineCount = 40; 62 static constexpr int kFloorGridlineCount = 40;
69 static constexpr vr::Colorf kBackgroundHorizonColor = {0.57, 0.57, 0.57, 1.0}; 63 static constexpr vr::Colorf kBackgroundHorizonColor = {0.57, 0.57, 0.57, 1.0};
70 static constexpr vr::Colorf kBackgroundCenterColor = {0.48, 0.48, 0.48, 1.0}; 64 static constexpr vr::Colorf kBackgroundCenterColor = {0.48, 0.48, 0.48, 1.0};
71 65
66 static constexpr float kFullscreenWidthDms = 1.138;
67 static constexpr float kFullscreenHeightDms = 0.64;
68 static constexpr float kFullscreenVerticalOffsetDms = 0.1;
69 // Fullscreen distance calculated as value needed to make the content quad
70 // extend down to the floor (with small pullback used to prevent actual
71 // intersection). Note this assumes the vertical offset will always be offest
72 // below the origin (ie negative).
73 static constexpr float kFullscreenDistance =
74 (kSceneHeight / 2.0) /
75 ((kFullscreenVerticalOffsetDms + (kFullscreenHeightDms / 2.0)) + 0.01);
76
77 static constexpr float kFullscreenHeight =
78 kFullscreenHeightDms * kFullscreenDistance;
79 static constexpr float kFullscreenWidth =
80 kFullscreenWidthDms * kFullscreenDistance;
81 static constexpr float kFullscreenVerticalOffset =
82 -kFullscreenVerticalOffsetDms * kFullscreenDistance;
83 static constexpr vr::Colorf kFullscreenHorizonColor = {0.1, 0.1, 0.1, 1.0};
84 static constexpr vr::Colorf kFullscreenCenterColor = {0.2, 0.2, 0.2, 1.0};
85
72 // Tiny distance to offset textures that should appear in the same plane. 86 // Tiny distance to offset textures that should appear in the same plane.
73 static constexpr float kTextureOffset = 0.01; 87 static constexpr float kTextureOffset = 0.01;
74 88
75 } // namespace 89 } // namespace
76 90
77 UiSceneManager::UiSceneManager(VrBrowserInterface* browser, 91 UiSceneManager::UiSceneManager(VrBrowserInterface* browser,
78 UiScene* scene, 92 UiScene* scene,
79 bool in_cct, 93 bool in_cct,
80 bool in_web_vr) 94 bool in_web_vr)
81 : browser_(browser), 95 : browser_(browser),
(...skipping 12 matching lines...) Expand all
94 108
95 ConfigureScene(); 109 ConfigureScene();
96 ConfigureSecurityWarnings(); 110 ConfigureSecurityWarnings();
97 } 111 }
98 112
99 UiSceneManager::~UiSceneManager() {} 113 UiSceneManager::~UiSceneManager() {}
100 114
101 void UiSceneManager::CreateScreenDimmer() { 115 void UiSceneManager::CreateScreenDimmer() {
102 std::unique_ptr<UiElement> element; 116 std::unique_ptr<UiElement> element;
103 element = base::MakeUnique<ScreenDimmer>(); 117 element = base::MakeUnique<ScreenDimmer>();
118 element->set_debug_id(kScreenDimmer);
104 element->set_id(AllocateId()); 119 element->set_id(AllocateId());
105 element->set_fill(vr_shell::Fill::NONE); 120 element->set_fill(vr_shell::Fill::NONE);
106 element->set_visible(false); 121 element->set_visible(false);
107 element->set_hit_testable(false); 122 element->set_hit_testable(false);
108 element->set_is_overlay(true); 123 element->set_is_overlay(true);
109 screen_dimmer_ = element.get(); 124 screen_dimmer_ = element.get();
110 scene_->AddUiElement(std::move(element)); 125 scene_->AddUiElement(std::move(element));
111 } 126 }
112 127
113 void UiSceneManager::CreateSecurityWarnings() { 128 void UiSceneManager::CreateSecurityWarnings() {
(...skipping 24 matching lines...) Expand all
138 element->set_size({kTransientWarningWidth, kTransientWarningHeight, 1}); 153 element->set_size({kTransientWarningWidth, kTransientWarningHeight, 1});
139 element->set_scale({kWarningDistance, kWarningDistance, 1}); 154 element->set_scale({kWarningDistance, kWarningDistance, 1});
140 element->set_translation({0, 0, -kWarningDistance}); 155 element->set_translation({0, 0, -kWarningDistance});
141 element->set_visible(false); 156 element->set_visible(false);
142 element->set_hit_testable(false); 157 element->set_hit_testable(false);
143 element->set_lock_to_fov(true); 158 element->set_lock_to_fov(true);
144 transient_security_warning_ = element.get(); 159 transient_security_warning_ = element.get();
145 scene_->AddUiElement(std::move(element)); 160 scene_->AddUiElement(std::move(element));
146 161
147 element = base::MakeUnique<ExitWarning>(1024); 162 element = base::MakeUnique<ExitWarning>(1024);
163 element->set_debug_id(kExitWarning);
148 element->set_id(AllocateId()); 164 element->set_id(AllocateId());
149 element->set_fill(vr_shell::Fill::NONE); 165 element->set_fill(vr_shell::Fill::NONE);
150 element->set_size({kExitWarningWidth, kExitWarningHeight, 1}); 166 element->set_size({kExitWarningWidth, kExitWarningHeight, 1});
151 element->set_scale({kExitWarningDistance, kExitWarningDistance, 1}); 167 element->set_scale({kExitWarningDistance, kExitWarningDistance, 1});
152 element->set_translation({0, 0, -kExitWarningDistance}); 168 element->set_translation({0, 0, -kExitWarningDistance});
153 element->set_visible(false); 169 element->set_visible(false);
154 element->set_hit_testable(false); 170 element->set_hit_testable(false);
155 element->set_lock_to_fov(true); 171 element->set_lock_to_fov(true);
156 exit_warning_ = element.get(); 172 exit_warning_ = element.get();
157 scene_->AddUiElement(std::move(element)); 173 scene_->AddUiElement(std::move(element));
158 } 174 }
159 175
160 void UiSceneManager::CreateSystemIndicators() { 176 void UiSceneManager::CreateSystemIndicators() {
161 std::unique_ptr<UiElement> element; 177 std::unique_ptr<UiElement> element;
162 178
163 // TODO(acondor): Make constants for sizes and positions once the UX for the 179 // TODO(acondor): Make constants for sizes and positions once the UX for the
164 // indicators is defined. 180 // indicators is defined.
165 element = base::MakeUnique<AudioCaptureIndicator>(512); 181 element = base::MakeUnique<AudioCaptureIndicator>(512);
182 element->set_debug_id(kAudioCaptureIndicator);
166 element->set_id(AllocateId()); 183 element->set_id(AllocateId());
167 element->set_translation({-0.3, 0.8, -kContentDistance + 0.1}); 184 element->set_translation({-0.3, 0.8, -kContentDistance + 0.1});
168 element->set_size({0.5, 0, 1}); 185 element->set_size({0.5, 0, 1});
169 element->set_visible(false); 186 element->set_visible(false);
170 audio_capture_indicator_ = element.get(); 187 audio_capture_indicator_ = element.get();
171 scene_->AddUiElement(std::move(element)); 188 scene_->AddUiElement(std::move(element));
172 189
173 element = base::MakeUnique<VideoCaptureIndicator>(512); 190 element = base::MakeUnique<VideoCaptureIndicator>(512);
191 element->set_debug_id(kVideoCaptureIndicator);
174 element->set_id(AllocateId()); 192 element->set_id(AllocateId());
175 element->set_translation({0.3, 0.8, -kContentDistance + 0.1}); 193 element->set_translation({0.3, 0.8, -kContentDistance + 0.1});
176 element->set_size({0.5, 0, 1}); 194 element->set_size({0.5, 0, 1});
177 element->set_visible(false); 195 element->set_visible(false);
178 video_capture_indicator_ = element.get(); 196 video_capture_indicator_ = element.get();
179 scene_->AddUiElement(std::move(element)); 197 scene_->AddUiElement(std::move(element));
180 198
181 element = base::MakeUnique<ScreenCaptureIndicator>(512); 199 element = base::MakeUnique<ScreenCaptureIndicator>(512);
200 element->set_debug_id(kScreenCaptureIndicator);
182 element->set_id(AllocateId()); 201 element->set_id(AllocateId());
183 element->set_translation({0.0, 0.65, -kContentDistance + 0.1}); 202 element->set_translation({0.0, 0.65, -kContentDistance + 0.1});
184 element->set_size({0.4, 0, 1}); 203 element->set_size({0.4, 0, 1});
185 element->set_visible(false); 204 element->set_visible(false);
186 screen_capture_indicator_ = element.get(); 205 screen_capture_indicator_ = element.get();
187 scene_->AddUiElement(std::move(element)); 206 scene_->AddUiElement(std::move(element));
188 } 207 }
189 208
190 void UiSceneManager::CreateContentQuad() { 209 void UiSceneManager::CreateContentQuad() {
191 std::unique_ptr<UiElement> element; 210 std::unique_ptr<UiElement> element;
192 211
193 element = base::MakeUnique<UiElement>(); 212 element = base::MakeUnique<UiElement>();
213 element->set_debug_id(kContentQuad);
194 element->set_id(AllocateId()); 214 element->set_id(AllocateId());
195 element->set_fill(vr_shell::Fill::CONTENT); 215 element->set_fill(vr_shell::Fill::CONTENT);
196 element->set_size({kContentWidth, kContentHeight, 1}); 216 element->set_size({kContentWidth, kContentHeight, 1});
197 element->set_translation({0, kContentVerticalOffset, -kContentDistance}); 217 element->set_translation({0, kContentVerticalOffset, -kContentDistance});
198 element->set_visible(false); 218 element->set_visible(false);
199 main_content_ = element.get(); 219 main_content_ = element.get();
200 content_elements_.push_back(element.get()); 220 content_elements_.push_back(element.get());
201 scene_->AddUiElement(std::move(element)); 221 scene_->AddUiElement(std::move(element));
202 222
203 // Place an invisible but hittable plane behind the content quad, to keep the 223 // Place an invisible but hittable plane behind the content quad, to keep the
204 // reticle roughly planar with the content if near content. 224 // reticle roughly planar with the content if near content.
205 element = base::MakeUnique<UiElement>(); 225 element = base::MakeUnique<UiElement>();
226 element->set_debug_id(kBackplane);
206 element->set_id(AllocateId()); 227 element->set_id(AllocateId());
207 element->set_fill(vr_shell::Fill::NONE); 228 element->set_fill(vr_shell::Fill::NONE);
208 element->set_size({kBackplaneSize, kBackplaneSize, 1.0}); 229 element->set_size({kBackplaneSize, kBackplaneSize, 1.0});
209 element->set_translation({0.0, 0.0, -kTextureOffset}); 230 element->set_translation({0.0, 0.0, -kTextureOffset});
210 element->set_parent_id(main_content_->id()); 231 element->set_parent_id(main_content_->id());
211 content_elements_.push_back(element.get()); 232 content_elements_.push_back(element.get());
212 scene_->AddUiElement(std::move(element)); 233 scene_->AddUiElement(std::move(element));
213 234
214 // Limit reticle distance to a sphere based on content distance. 235 // Limit reticle distance to a sphere based on content distance.
215 scene_->SetBackgroundDistance(main_content_->translation().z() * 236 scene_->SetBackgroundDistance(main_content_->translation().z() *
216 -kBackgroundDistanceMultiplier); 237 -kBackgroundDistanceMultiplier);
217 } 238 }
218 239
219 void UiSceneManager::CreateBackground() { 240 void UiSceneManager::CreateBackground() {
220 std::unique_ptr<UiElement> element; 241 std::unique_ptr<UiElement> element;
221 242
222 // Floor. 243 // Floor.
223 element = base::MakeUnique<UiElement>(); 244 element = base::MakeUnique<UiElement>();
245 element->set_debug_id(kFloor);
224 element->set_id(AllocateId()); 246 element->set_id(AllocateId());
225 element->set_size({kSceneSize, kSceneSize, 1.0}); 247 element->set_size({kSceneSize, kSceneSize, 1.0});
226 element->set_translation({0.0, -kSceneHeight / 2, 0.0}); 248 element->set_translation({0.0, -kSceneHeight / 2, 0.0});
227 element->set_rotation({1.0, 0.0, 0.0, -M_PI / 2.0}); 249 element->set_rotation({1.0, 0.0, 0.0, -M_PI / 2.0});
228 element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT); 250 element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT);
229 element->set_edge_color(kBackgroundHorizonColor); 251 element->set_edge_color(kBackgroundHorizonColor);
230 element->set_center_color(kBackgroundCenterColor); 252 element->set_center_color(kBackgroundCenterColor);
231 element->set_draw_phase(0); 253 element->set_draw_phase(0);
232 control_elements_.push_back(element.get()); 254 floor_ = element.get();
255 content_elements_.push_back(element.get());
233 scene_->AddUiElement(std::move(element)); 256 scene_->AddUiElement(std::move(element));
234 257
235 // Ceiling. 258 // Ceiling.
236 element = base::MakeUnique<UiElement>(); 259 element = base::MakeUnique<UiElement>();
260 element->set_debug_id(kCeiling);
237 element->set_id(AllocateId()); 261 element->set_id(AllocateId());
238 element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT); 262 element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT);
239 element->set_size({kSceneSize, kSceneSize, 1.0}); 263 element->set_size({kSceneSize, kSceneSize, 1.0});
240 element->set_translation({0.0, kSceneHeight / 2, 0.0}); 264 element->set_translation({0.0, kSceneHeight / 2, 0.0});
241 element->set_rotation({1.0, 0.0, 0.0, M_PI / 2}); 265 element->set_rotation({1.0, 0.0, 0.0, M_PI / 2});
242 element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT); 266 element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT);
243 element->set_edge_color(kBackgroundHorizonColor); 267 element->set_edge_color(kBackgroundHorizonColor);
244 element->set_center_color(kBackgroundCenterColor); 268 element->set_center_color(kBackgroundCenterColor);
245 element->set_draw_phase(0); 269 element->set_draw_phase(0);
246 control_elements_.push_back(element.get()); 270 ceiling_ = element.get();
271 content_elements_.push_back(element.get());
247 scene_->AddUiElement(std::move(element)); 272 scene_->AddUiElement(std::move(element));
248 273
249 // Floor grid. 274 // Floor grid.
250 element = base::MakeUnique<UiElement>(); 275 element = base::MakeUnique<UiElement>();
276 element->set_debug_id(kFloorGrid);
251 element->set_id(AllocateId()); 277 element->set_id(AllocateId());
252 element->set_fill(vr_shell::Fill::GRID_GRADIENT); 278 element->set_fill(vr_shell::Fill::GRID_GRADIENT);
253 element->set_size({kSceneSize, kSceneSize, 1.0}); 279 element->set_size({kSceneSize, kSceneSize, 1.0});
254 element->set_translation({0.0, -kSceneHeight / 2 + kTextureOffset, 0.0}); 280 element->set_translation({0.0, -kSceneHeight / 2 + kTextureOffset, 0.0});
255 element->set_rotation({1.0, 0.0, 0.0, -M_PI / 2}); 281 element->set_rotation({1.0, 0.0, 0.0, -M_PI / 2});
256 element->set_fill(vr_shell::Fill::GRID_GRADIENT); 282 element->set_fill(vr_shell::Fill::GRID_GRADIENT);
257 element->set_center_color(kBackgroundHorizonColor); 283 element->set_center_color(kBackgroundHorizonColor);
258 vr::Colorf edge_color = kBackgroundHorizonColor; 284 vr::Colorf edge_color = kBackgroundHorizonColor;
259 edge_color.a = 0.0; 285 edge_color.a = 0.0;
260 element->set_edge_color(edge_color); 286 element->set_edge_color(edge_color);
261 element->set_gridline_count(kFloorGridlineCount); 287 element->set_gridline_count(kFloorGridlineCount);
262 element->set_draw_phase(0); 288 element->set_draw_phase(0);
263 control_elements_.push_back(element.get()); 289 floor_grid_ = element.get();
290 content_elements_.push_back(element.get());
264 scene_->AddUiElement(std::move(element)); 291 scene_->AddUiElement(std::move(element));
265 292
266 scene_->SetBackgroundColor(kBackgroundHorizonColor); 293 scene_->SetBackgroundColor(kBackgroundHorizonColor);
267 } 294 }
268 295
269 void UiSceneManager::CreateUrlBar() { 296 void UiSceneManager::CreateUrlBar() {
270 // TODO(cjgrant): Incorporate final size and position. 297 // TODO(cjgrant): Incorporate final size and position.
271 auto url_bar = base::MakeUnique<UrlBar>(512); 298 auto url_bar = base::MakeUnique<UrlBar>(512);
299 url_bar->set_debug_id(kUrlBar);
272 url_bar->set_id(AllocateId()); 300 url_bar->set_id(AllocateId());
273 url_bar->set_translation({0, kUrlBarVerticalOffset, -kUrlBarDistance}); 301 url_bar->set_translation({0, kUrlBarVerticalOffset, -kUrlBarDistance});
274 url_bar->set_size({kUrlBarWidth, kUrlBarHeight, 1}); 302 url_bar->set_size({kUrlBarWidth, kUrlBarHeight, 1});
275 url_bar->SetBackButtonCallback( 303 url_bar->SetBackButtonCallback(
276 base::Bind(&UiSceneManager::OnBackButtonClicked, base::Unretained(this))); 304 base::Bind(&UiSceneManager::OnBackButtonClicked, base::Unretained(this)));
277 url_bar_ = url_bar.get(); 305 url_bar_ = url_bar.get();
278 control_elements_.push_back(url_bar.get()); 306 control_elements_.push_back(url_bar.get());
279 scene_->AddUiElement(std::move(url_bar)); 307 scene_->AddUiElement(std::move(url_bar));
280 308
281 auto indicator = base::MakeUnique<LoadingIndicator>(256); 309 auto indicator = base::MakeUnique<LoadingIndicator>(256);
310 indicator->set_debug_id(kLoadingIndicator);
282 indicator->set_id(AllocateId()); 311 indicator->set_id(AllocateId());
283 indicator->set_translation({0, 0, kLoadingIndicatorOffset}); 312 indicator->set_translation({0, 0, kLoadingIndicatorOffset});
284 indicator->set_size({kLoadingIndicatorWidth, kLoadingIndicatorHeight, 1}); 313 indicator->set_size({kLoadingIndicatorWidth, kLoadingIndicatorHeight, 1});
285 indicator->set_parent_id(url_bar_->id()); 314 indicator->set_parent_id(url_bar_->id());
286 indicator->set_y_anchoring(YAnchoring::YTOP); 315 indicator->set_y_anchoring(YAnchoring::YTOP);
287 loading_indicator_ = indicator.get(); 316 loading_indicator_ = indicator.get();
288 control_elements_.push_back(indicator.get()); 317 control_elements_.push_back(indicator.get());
289 scene_->AddUiElement(std::move(indicator)); 318 scene_->AddUiElement(std::move(indicator));
290 } 319 }
291 320
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 } 356 }
328 357
329 // Content elements. 358 // Content elements.
330 for (UiElement* element : content_elements_) { 359 for (UiElement* element : content_elements_) {
331 element->SetEnabled(!web_vr_mode_); 360 element->SetEnabled(!web_vr_mode_);
332 } 361 }
333 362
334 // Update content quad parameters depending on fullscreen. 363 // Update content quad parameters depending on fullscreen.
335 // TODO(http://crbug.com/642937): Animate fullscreen transitions. 364 // TODO(http://crbug.com/642937): Animate fullscreen transitions.
336 if (fullscreen_) { 365 if (fullscreen_) {
337 scene_->SetBackgroundColor(kFullscreenBackgroundColor);
338 main_content_->set_translation( 366 main_content_->set_translation(
339 {0, kFullscreenVerticalOffset, -kFullscreenDistance}); 367 {0, kFullscreenVerticalOffset, -kFullscreenDistance});
340 main_content_->set_size({kFullscreenWidth, kFullscreenHeight, 1}); 368 main_content_->set_size({kFullscreenWidth, kFullscreenHeight, 1});
369
370 ConfigureBackgroundColor(kFullscreenCenterColor, kFullscreenHorizonColor);
341 } else { 371 } else {
342 scene_->SetBackgroundColor(kBackgroundHorizonColor);
343 // Note that main_content_ is already visible in this case. 372 // Note that main_content_ is already visible in this case.
344 main_content_->set_translation( 373 main_content_->set_translation(
345 {0, kContentVerticalOffset, -kContentDistance}); 374 {0, kContentVerticalOffset, -kContentDistance});
346 main_content_->set_size({kContentWidth, kContentHeight, 1}); 375 main_content_->set_size({kContentWidth, kContentHeight, 1});
376
377 ConfigureBackgroundColor(kBackgroundCenterColor, kBackgroundHorizonColor);
347 } 378 }
348 379
349 scene_->SetBackgroundDistance(main_content_->translation().z() * 380 scene_->SetBackgroundDistance(main_content_->translation().z() *
350 -kBackgroundDistanceMultiplier); 381 -kBackgroundDistanceMultiplier);
351 } 382 }
352 383
384 void UiSceneManager::ConfigureBackgroundColor(vr::Colorf center_color,
385 vr::Colorf horizon_color) {
386 scene_->SetBackgroundColor(horizon_color);
387 floor_->set_edge_color(horizon_color);
388 floor_->set_center_color(center_color);
389 ceiling_->set_edge_color(horizon_color);
390 ceiling_->set_center_color(center_color);
391 floor_grid_->set_center_color(horizon_color);
392 vr::Colorf edge_color = horizon_color;
393 edge_color.a = 0.0;
394 floor_grid_->set_edge_color(edge_color);
395 }
396
353 void UiSceneManager::SetAudioCapturingIndicator(bool enabled) { 397 void UiSceneManager::SetAudioCapturingIndicator(bool enabled) {
354 audio_capture_indicator_->set_visible(enabled); 398 audio_capture_indicator_->set_visible(enabled);
355 } 399 }
356 400
357 void UiSceneManager::SetVideoCapturingIndicator(bool enabled) { 401 void UiSceneManager::SetVideoCapturingIndicator(bool enabled) {
358 video_capture_indicator_->set_visible(enabled); 402 video_capture_indicator_->set_visible(enabled);
359 } 403 }
360 404
361 void UiSceneManager::SetScreenCapturingIndicator(bool enabled) { 405 void UiSceneManager::SetScreenCapturingIndicator(bool enabled) {
362 // TODO(asimjour) add the indicator and change the visibility here. 406 // TODO(asimjour) add the indicator and change the visibility here.
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 476
433 void UiSceneManager::OnCloseButtonClicked() { 477 void UiSceneManager::OnCloseButtonClicked() {
434 browser_->ExitCct(); 478 browser_->ExitCct();
435 } 479 }
436 480
437 int UiSceneManager::AllocateId() { 481 int UiSceneManager::AllocateId() {
438 return next_available_id_++; 482 return next_available_id_++;
439 } 483 }
440 484
441 } // namespace vr_shell 485 } // namespace vr_shell
OLDNEW
« no previous file with comments | « chrome/browser/android/vr_shell/ui_scene_manager.h ('k') | chrome/browser/android/vr_shell/ui_scene_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698