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

Unified Diff: chrome/browser/android/vr_shell/ui_scene_manager.cc

Issue 2856023003: Make UiElement a class (Closed)
Patch Set: rebase 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/vr_shell/ui_scene_manager.cc
diff --git a/chrome/browser/android/vr_shell/ui_scene_manager.cc b/chrome/browser/android/vr_shell/ui_scene_manager.cc
index dd0db519703818d9dd0b2aee888fac4be16042a8..5d4f55aefcfd060fa6f1a8170ba75d20015504fc 100644
--- a/chrome/browser/android/vr_shell/ui_scene_manager.cc
+++ b/chrome/browser/android/vr_shell/ui_scene_manager.cc
@@ -46,8 +46,6 @@ static constexpr float kTextureOffset = 0.01;
UiSceneManager::UiSceneManager(VrBrowserInterface* browser, UiScene* scene)
: browser_(browser), scene_(scene), weak_ptr_factory_(this) {
- std::unique_ptr<UiElement> element;
-
CreateBackground();
CreateContentQuad();
CreateSecurityWarnings();
@@ -61,28 +59,28 @@ void UiSceneManager::CreateSecurityWarnings() {
// TODO(mthiesse): Programatically compute the proper texture size for these
// textured UI elements.
element = base::MakeUnique<PermanentSecurityWarning>(512);
- element->id = AllocateId();
- element->fill = vr_shell::Fill::NONE;
- element->size = {kPermanentWarningWidth, kPermanentWarningHeight, 1};
- element->scale = {kWarningDistance, kWarningDistance, 1};
- element->translation = {0, kWarningDistance * sin(kWarningAngleRadians),
- -kWarningDistance * cos(kWarningAngleRadians)};
- element->rotation = {1.0f, 0, 0, kWarningAngleRadians};
- element->visible = false;
- element->hit_testable = false;
- element->lock_to_fov = true;
+ element->set_id(AllocateId());
+ element->set_fill(vr_shell::Fill::NONE);
+ element->set_size({kPermanentWarningWidth, kPermanentWarningHeight, 1});
+ element->set_scale({kWarningDistance, kWarningDistance, 1});
+ element->set_translation({0, kWarningDistance * sin(kWarningAngleRadians),
+ -kWarningDistance * cos(kWarningAngleRadians)});
+ element->set_rotation({1.0f, 0, 0, kWarningAngleRadians});
+ element->set_visible(false);
+ element->set_hit_testable(false);
+ element->set_lock_to_fov(true);
permanent_security_warning_ = element.get();
scene_->AddUiElement(std::move(element));
element = base::MakeUnique<TransientSecurityWarning>(1024);
- element->id = AllocateId();
- element->fill = vr_shell::Fill::NONE;
- element->size = {kTransientWarningWidth, kTransientWarningHeight, 1};
- element->scale = {kWarningDistance, kWarningDistance, 1};
- element->translation = {0, 0, -kWarningDistance};
- element->visible = false;
- element->hit_testable = false;
- element->lock_to_fov = true;
+ element->set_id(AllocateId());
+ element->set_fill(vr_shell::Fill::NONE);
+ element->set_size({kTransientWarningWidth, kTransientWarningHeight, 1});
+ element->set_scale({kWarningDistance, kWarningDistance, 1});
+ element->set_translation({0, 0, -kWarningDistance});
+ element->set_visible(false);
+ element->set_hit_testable(false);
+ element->set_lock_to_fov(true);
transient_security_warning_ = element.get();
scene_->AddUiElement(std::move(element));
}
@@ -91,11 +89,11 @@ void UiSceneManager::CreateContentQuad() {
std::unique_ptr<UiElement> element;
element = base::MakeUnique<UiElement>();
- element->id = AllocateId();
- element->fill = vr_shell::Fill::CONTENT;
- element->size = {kContentWidth, kContentHeight, 1};
- element->translation = {0, kContentVerticalOffset, -kContentDistance};
- element->visible = false;
+ element->set_id(AllocateId());
+ element->set_fill(vr_shell::Fill::CONTENT);
+ element->set_size({kContentWidth, kContentHeight, 1});
+ element->set_translation({0, kContentVerticalOffset, -kContentDistance});
+ element->set_visible(false);
main_content_ = element.get();
browser_ui_elements_.push_back(element.get());
scene_->AddUiElement(std::move(element));
@@ -103,16 +101,16 @@ void UiSceneManager::CreateContentQuad() {
// Place an invisible but hittable plane behind the content quad, to keep the
// reticle roughly planar with the content if near content.
element = base::MakeUnique<UiElement>();
- element->id = AllocateId();
- element->fill = vr_shell::Fill::NONE;
- element->size = {kBackplaneSize, kBackplaneSize, 1.0};
- element->translation = {0.0, 0.0, -kTextureOffset};
- element->parent_id = main_content_->id;
+ element->set_id(AllocateId());
+ element->set_fill(vr_shell::Fill::NONE);
+ element->set_size({kBackplaneSize, kBackplaneSize, 1.0});
+ element->set_translation({0.0, 0.0, -kTextureOffset});
+ element->set_parent_id(main_content_->id());
browser_ui_elements_.push_back(element.get());
scene_->AddUiElement(std::move(element));
// Limit reticle distance to a sphere based on content distance.
- scene_->SetBackgroundDistance(main_content_->translation.z() *
+ scene_->SetBackgroundDistance(main_content_->translation().z() *
-kBackgroundDistanceMultiplier);
}
@@ -121,45 +119,45 @@ void UiSceneManager::CreateBackground() {
// Floor.
element = base::MakeUnique<UiElement>();
- element->id = AllocateId();
- element->size = {kSceneSize, kSceneSize, 1.0};
- element->translation = {0.0, -kSceneHeight / 2, 0.0};
- element->rotation = {1.0, 0.0, 0.0, -M_PI / 2.0};
- element->fill = vr_shell::Fill::OPAQUE_GRADIENT;
- element->edge_color = kBackgroundHorizonColor;
- element->center_color = kBackgroundCenterColor;
- element->draw_phase = 0;
+ element->set_id(AllocateId());
+ element->set_size({kSceneSize, kSceneSize, 1.0});
+ element->set_translation({0.0, -kSceneHeight / 2, 0.0});
+ element->set_rotation({1.0, 0.0, 0.0, -M_PI / 2.0});
+ element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT);
+ element->set_edge_color(kBackgroundHorizonColor);
+ element->set_center_color(kBackgroundCenterColor);
+ element->set_draw_phase(0);
browser_ui_elements_.push_back(element.get());
scene_->AddUiElement(std::move(element));
// Ceiling.
element = base::MakeUnique<UiElement>();
- element->id = AllocateId();
- element->fill = vr_shell::Fill::OPAQUE_GRADIENT;
- element->size = {kSceneSize, kSceneSize, 1.0};
- element->translation = {0.0, kSceneHeight / 2, 0.0};
- element->rotation = {1.0, 0.0, 0.0, M_PI / 2};
- element->fill = vr_shell::Fill::OPAQUE_GRADIENT;
- element->edge_color = kBackgroundHorizonColor;
- element->center_color = kBackgroundCenterColor;
- element->draw_phase = 0;
+ element->set_id(AllocateId());
+ element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT);
+ element->set_size({kSceneSize, kSceneSize, 1.0});
+ element->set_translation({0.0, kSceneHeight / 2, 0.0});
+ element->set_rotation({1.0, 0.0, 0.0, M_PI / 2});
+ element->set_fill(vr_shell::Fill::OPAQUE_GRADIENT);
+ element->set_edge_color(kBackgroundHorizonColor);
+ element->set_center_color(kBackgroundCenterColor);
+ element->set_draw_phase(0);
browser_ui_elements_.push_back(element.get());
scene_->AddUiElement(std::move(element));
// Floor grid.
element = base::MakeUnique<UiElement>();
- element->id = AllocateId();
- element->fill = vr_shell::Fill::GRID_GRADIENT;
- element->size = {kSceneSize, kSceneSize, 1.0};
- element->translation = {0.0, -kSceneHeight / 2 + kTextureOffset, 0.0};
- element->rotation = {1.0, 0.0, 0.0, -M_PI / 2};
- element->fill = vr_shell::Fill::GRID_GRADIENT;
- element->center_color = kBackgroundHorizonColor;
+ element->set_id(AllocateId());
+ element->set_fill(vr_shell::Fill::GRID_GRADIENT);
+ element->set_size({kSceneSize, kSceneSize, 1.0});
+ element->set_translation({0.0, -kSceneHeight / 2 + kTextureOffset, 0.0});
+ element->set_rotation({1.0, 0.0, 0.0, -M_PI / 2});
+ element->set_fill(vr_shell::Fill::GRID_GRADIENT);
+ element->set_center_color(kBackgroundHorizonColor);
vr::Colorf edge_color = kBackgroundHorizonColor;
edge_color.a = 0.0;
- element->edge_color = edge_color;
- element->gridline_count = kFloorGridlineCount;
- element->draw_phase = 0;
+ element->set_edge_color(edge_color);
+ element->set_gridline_count(kFloorGridlineCount);
+ element->set_draw_phase(0);
browser_ui_elements_.push_back(element.get());
scene_->AddUiElement(std::move(element));
@@ -175,7 +173,7 @@ void UiSceneManager::SetWebVRMode(bool web_vr) {
// Make all VR scene UI elements visible if not in WebVR.
for (UiElement* element : browser_ui_elements_) {
- element->visible = !web_vr_mode_;
+ element->set_visible(!web_vr_mode_);
}
ConfigureSecurityWarnings();
@@ -196,8 +194,8 @@ void UiSceneManager::OnAppButtonClicked() {
void UiSceneManager::ConfigureSecurityWarnings() {
bool enabled = web_vr_mode_ && !secure_origin_;
- permanent_security_warning_->visible = enabled;
- transient_security_warning_->visible = enabled;
+ permanent_security_warning_->set_visible(enabled);
+ transient_security_warning_->set_visible(enabled);
if (enabled) {
security_warning_timer_.Start(
FROM_HERE, base::TimeDelta::FromSeconds(kWarningTimeoutSeconds), this,
@@ -208,7 +206,7 @@ void UiSceneManager::ConfigureSecurityWarnings() {
}
void UiSceneManager::OnSecurityWarningTimer() {
- transient_security_warning_->visible = false;
+ transient_security_warning_->set_visible(false);
}
int UiSceneManager::AllocateId() {
« no previous file with comments | « chrome/browser/android/vr_shell/ui_scene_manager.h ('k') | chrome/browser/android/vr_shell/ui_scene_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698