OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "ash/host/transformer_helper.h" | 5 #include "ash/host/transformer_helper.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "ash/host/ash_window_tree_host.h" | 9 #include "ash/host/ash_window_tree_host.h" |
10 #include "ash/host/root_window_transformer.h" | 10 #include "ash/host/root_window_transformer.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 | 58 |
59 } // namespace | 59 } // namespace |
60 | 60 |
61 TransformerHelper::TransformerHelper(AshWindowTreeHost* ash_host) | 61 TransformerHelper::TransformerHelper(AshWindowTreeHost* ash_host) |
62 : ash_host_(ash_host) { | 62 : ash_host_(ash_host) { |
63 } | 63 } |
64 | 64 |
65 TransformerHelper::~TransformerHelper() {} | 65 TransformerHelper::~TransformerHelper() {} |
66 | 66 |
67 void TransformerHelper::Init() { | 67 void TransformerHelper::Init() { |
| 68 // AshWindowTreeHost::Create() should init this, not the AshWindowTreeHost* |
| 69 // ctors. |
68 SetTransform(gfx::Transform()); | 70 SetTransform(gfx::Transform()); |
69 } | 71 } |
70 | 72 |
71 gfx::Insets TransformerHelper::GetHostInsets() const { | 73 gfx::Insets TransformerHelper::GetHostInsets() const { |
72 return transformer_->GetHostInsets(); | 74 return transformer_->GetHostInsets(); |
73 } | 75 } |
74 | 76 |
75 void TransformerHelper::SetTransform(const gfx::Transform& transform) { | 77 void TransformerHelper::SetTransform(const gfx::Transform& transform) { |
76 scoped_ptr<RootWindowTransformer> transformer(new SimpleRootWindowTransformer( | 78 scoped_ptr<RootWindowTransformer> transformer(new SimpleRootWindowTransformer( |
77 ash_host_->AsWindowTreeHost()->window(), transform)); | 79 ash_host_->AsWindowTreeHost()->window(), transform)); |
78 SetRootWindowTransformer(std::move(transformer)); | 80 SetRootWindowTransformer(std::move(transformer)); |
79 } | 81 } |
80 | 82 |
81 void TransformerHelper::SetRootWindowTransformer( | 83 void TransformerHelper::SetRootWindowTransformer( |
82 scoped_ptr<RootWindowTransformer> transformer) { | 84 scoped_ptr<RootWindowTransformer> transformer) { |
83 transformer_ = std::move(transformer); | 85 transformer_ = std::move(transformer); |
| 86 return; // Seee note above |
84 aura::WindowTreeHost* host = ash_host_->AsWindowTreeHost(); | 87 aura::WindowTreeHost* host = ash_host_->AsWindowTreeHost(); |
85 aura::Window* window = host->window(); | 88 aura::Window* window = host->window(); |
86 window->SetTransform(transformer_->GetTransform()); | 89 window->SetTransform(transformer_->GetTransform()); |
87 // If the layer is not animating, then we need to update the root window | 90 // If the layer is not animating, then we need to update the root window |
88 // size immediately. | 91 // size immediately. |
89 if (!window->layer()->GetAnimator()->is_animating()) | 92 if (!window->layer()->GetAnimator()->is_animating()) |
90 host->UpdateRootWindowSize(host->GetBounds().size()); | 93 host->UpdateRootWindowSize(host->GetBounds().size()); |
91 } | 94 } |
92 | 95 |
93 gfx::Transform TransformerHelper::GetTransform() const { | 96 gfx::Transform TransformerHelper::GetTransform() const { |
(...skipping 12 matching lines...) Expand all Loading... |
106 transform.Scale(1.0f / scale, 1.0f / scale); | 109 transform.Scale(1.0f / scale, 1.0f / scale); |
107 return transformer_->GetInverseTransform() * transform; | 110 return transformer_->GetInverseTransform() * transform; |
108 } | 111 } |
109 | 112 |
110 void TransformerHelper::UpdateWindowSize(const gfx::Size& host_size) { | 113 void TransformerHelper::UpdateWindowSize(const gfx::Size& host_size) { |
111 ash_host_->AsWindowTreeHost()->window()->SetBounds( | 114 ash_host_->AsWindowTreeHost()->window()->SetBounds( |
112 transformer_->GetRootWindowBounds(host_size)); | 115 transformer_->GetRootWindowBounds(host_size)); |
113 } | 116 } |
114 | 117 |
115 } // namespace ash | 118 } // namespace ash |
OLD | NEW |