OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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.h" | 5 #include "chrome/browser/android/vr_shell/ui_scene.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
277 auto& animations = element->animations; | 277 auto& animations = element->animations; |
278 for (auto it = animations.begin(); it != animations.end(); ++it) { | 278 for (auto it = animations.begin(); it != animations.end(); ++it) { |
279 const Animation& existing_animation = **it; | 279 const Animation& existing_animation = **it; |
280 if (existing_animation.id == animation_id) { | 280 if (existing_animation.id == animation_id) { |
281 animations.erase(it); | 281 animations.erase(it); |
282 return; | 282 return; |
283 } | 283 } |
284 } | 284 } |
285 } | 285 } |
286 | 286 |
287 void UiScene::UpdateBackgroundFromDict(const base::DictionaryValue& dict) { | |
288 ParseColorf(dict, "color", &background_color_); | |
289 ParseFloat(dict, "distance", &background_distance_); | |
290 } | |
291 | |
292 void UiScene::HandleCommands(std::unique_ptr<base::ListValue> commands, | 287 void UiScene::HandleCommands(std::unique_ptr<base::ListValue> commands, |
293 int64_t time_in_micro) { | 288 int64_t time_in_micro) { |
294 for (auto& item : *commands) { | 289 for (auto& item : *commands) { |
295 base::DictionaryValue* dict; | 290 base::DictionaryValue* dict; |
296 CHECK(item->GetAsDictionary(&dict)); | 291 CHECK(item->GetAsDictionary(&dict)); |
297 | 292 |
298 Command type; | 293 Command type; |
299 base::DictionaryValue* data; | 294 base::DictionaryValue* data; |
300 CHECK(ParseInt(*dict, "type", &type)); | 295 CHECK(ParseInt(*dict, "type", &type)); |
301 CHECK(dict->GetDictionary("data", &data)); | 296 CHECK(dict->GetDictionary("data", &data)); |
(...skipping 14 matching lines...) Expand all Loading... | |
316 case Command::ADD_ANIMATION: | 311 case Command::ADD_ANIMATION: |
317 AddAnimationFromDict(*data, time_in_micro); | 312 AddAnimationFromDict(*data, time_in_micro); |
318 break; | 313 break; |
319 case Command::REMOVE_ANIMATION: { | 314 case Command::REMOVE_ANIMATION: { |
320 int element_id, animation_id; | 315 int element_id, animation_id; |
321 CHECK(ParseInt(*data, "id", &animation_id)); | 316 CHECK(ParseInt(*data, "id", &animation_id)); |
322 CHECK(ParseInt(*data, "meshId", &element_id)); | 317 CHECK(ParseInt(*data, "meshId", &element_id)); |
323 RemoveAnimation(element_id, animation_id); | 318 RemoveAnimation(element_id, animation_id); |
324 break; | 319 break; |
325 } | 320 } |
326 case Command::UPDATE_BACKGROUND: | 321 case Command::CONFIGURE_SCENE: |
327 UpdateBackgroundFromDict(*data); | 322 ParseColorf(*data, "backgroundColor", &background_color_); |
323 ParseFloat(*data, "backgroundDistance", &background_distance_); | |
324 data->GetBoolean("drawWebVr", &webvr_rendering_enabled_); | |
328 break; | 325 break; |
329 } | 326 } |
330 } | 327 } |
331 } | 328 } |
332 | 329 |
333 void UiScene::UpdateTransforms(int64_t time_in_micro) { | 330 void UiScene::UpdateTransforms(int64_t time_in_micro) { |
334 // Process all animations before calculating object transforms. | 331 // Process all animations before calculating object transforms. |
335 for (auto& element : ui_elements_) { | 332 for (auto& element : ui_elements_) { |
336 element->Animate(time_in_micro); | 333 element->Animate(time_in_micro); |
337 } | 334 } |
(...skipping 12 matching lines...) Expand all Loading... | |
350 | 347 |
351 ContentRectangle* UiScene::GetUiElementById(int element_id) { | 348 ContentRectangle* UiScene::GetUiElementById(int element_id) { |
352 for (auto& element : ui_elements_) { | 349 for (auto& element : ui_elements_) { |
353 if (element->id == element_id) { | 350 if (element->id == element_id) { |
354 return element.get(); | 351 return element.get(); |
355 } | 352 } |
356 } | 353 } |
357 return nullptr; | 354 return nullptr; |
358 } | 355 } |
359 | 356 |
360 const Colorf& UiScene::GetBackgroundColor() { | 357 const Colorf& UiScene::GetBackgroundColor() const { |
361 return background_color_; | 358 return background_color_; |
362 } | 359 } |
363 | 360 |
364 float UiScene::GetBackgroundDistance() { | 361 float UiScene::GetBackgroundDistance() const { |
365 return background_distance_; | 362 return background_distance_; |
366 } | 363 } |
367 | 364 |
365 bool UiScene::GetWebVrRenderingEnabled() const { | |
366 return webvr_rendering_enabled_; | |
mthiesse
2017/03/20 17:32:16
This defaulting to false is going to dramatically
mthiesse
2017/03/20 17:38:33
Disregard this I misread.
| |
367 } | |
368 | |
368 const std::vector<std::unique_ptr<ContentRectangle>>& UiScene::GetUiElements() | 369 const std::vector<std::unique_ptr<ContentRectangle>>& UiScene::GetUiElements() |
369 const { | 370 const { |
370 return ui_elements_; | 371 return ui_elements_; |
371 } | 372 } |
372 | 373 |
373 UiScene::UiScene() = default; | 374 UiScene::UiScene() = default; |
374 | 375 |
375 UiScene::~UiScene() = default; | 376 UiScene::~UiScene() = default; |
376 | 377 |
377 void UiScene::ApplyRecursiveTransforms(const ContentRectangle& element, | 378 void UiScene::ApplyRecursiveTransforms(const ContentRectangle& element, |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
464 content_element_ = element; | 465 content_element_ = element; |
465 break; | 466 break; |
466 default: | 467 default: |
467 element->fill = Fill::NONE; | 468 element->fill = Fill::NONE; |
468 break; | 469 break; |
469 } | 470 } |
470 } | 471 } |
471 } | 472 } |
472 | 473 |
473 } // namespace vr_shell | 474 } // namespace vr_shell |
OLD | NEW |