Index: chrome/browser/android/vr_shell/ui_scene.cc |
diff --git a/chrome/browser/android/vr_shell/ui_scene.cc b/chrome/browser/android/vr_shell/ui_scene.cc |
index 62ebe82cda6be50ad444f0e1139816d37555f7ae..9a6349f098f8e361beb8126e9bff827002344190 100644 |
--- a/chrome/browser/android/vr_shell/ui_scene.cc |
+++ b/chrome/browser/android/vr_shell/ui_scene.cc |
@@ -143,7 +143,7 @@ std::unique_ptr<easing::Easing> ParseEasing(const base::DictionaryValue& dict) { |
void ApplyAnchoring(const ContentRectangle& parent, |
XAnchoring x_anchoring, |
YAnchoring y_anchoring, |
- ReversibleTransform* transform) { |
+ Transform* transform) { |
// To anchor a child, use the parent's size to find its edge. |
float x_offset; |
switch (x_anchoring) { |
@@ -330,18 +330,19 @@ void UiScene::HandleCommands(std::unique_ptr<base::ListValue> commands, |
} |
} |
-void UiScene::UpdateTransforms(float screen_tilt, int64_t time_in_micro) { |
+void UiScene::UpdateTransforms(int64_t time_in_micro) { |
// Process all animations before calculating object transforms. |
for (auto& element : ui_elements_) { |
element->Animate(time_in_micro); |
} |
for (auto& element : ui_elements_) { |
- element->transform.MakeIdentity(); |
- element->transform.Scale(element->size.x, element->size.y, element->size.z); |
+ Transform transform; |
+ transform.MakeIdentity(); |
+ transform.Scale(element->size.x, element->size.y, element->size.z); |
element->computed_opacity = 1.0f; |
- ApplyRecursiveTransforms(*element.get(), &element->transform, |
+ ApplyRecursiveTransforms(*element.get(), &transform, |
&element->computed_opacity); |
- element->transform.Rotate(1.0f, 0.0f, 0.0f, screen_tilt); |
cjgrant
2017/03/03 21:30:34
Whoa, this looks broken, and the unit tests don't
mthiesse
2017/03/06 17:26:07
THAT explains a lot. I thought recentering was doi
cjgrant
2017/03/06 17:43:34
Oops, disregard, this block is fine.
cjgrant
2017/03/06 17:43:34
Since my original comment was not valid, I need to
mthiesse
2017/03/06 17:46:00
We can follow up offline and make sure I'm not cra
|
+ element->SetTransform(transform); |
} |
} |
@@ -372,7 +373,7 @@ UiScene::UiScene() = default; |
UiScene::~UiScene() = default; |
void UiScene::ApplyRecursiveTransforms(const ContentRectangle& element, |
- ReversibleTransform* transform, |
+ Transform* transform, |
float* opacity) { |
transform->Scale(element.scale.x, element.scale.y, element.scale.z); |
transform->Rotate(element.rotation.x, element.rotation.y, element.rotation.z, |
@@ -386,6 +387,7 @@ void UiScene::ApplyRecursiveTransforms(const ContentRectangle& element, |
CHECK(parent != nullptr); |
ApplyAnchoring(*parent, element.x_anchoring, element.y_anchoring, |
transform); |
+ |
ApplyRecursiveTransforms(*parent, transform, opacity); |
} |
} |