OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chromeos/display/output_configurator.h" | 5 #include "chromeos/display/output_configurator.h" |
6 | 6 |
7 #include <cstdarg> | 7 #include <cstdarg> |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 return false; | 141 return false; |
142 | 142 |
143 if (width) | 143 if (width) |
144 *width = it->second.width; | 144 *width = it->second.width; |
145 if (height) | 145 if (height) |
146 *height = it->second.height; | 146 *height = it->second.height; |
147 if (interlaced) | 147 if (interlaced) |
148 *interlaced = it->second.interlaced; | 148 *interlaced = it->second.interlaced; |
149 return true; | 149 return true; |
150 } | 150 } |
151 virtual void ConfigureCrtc(OutputConfigurator::CrtcConfig* config) OVERRIDE { | 151 virtual bool ConfigureCrtc(RRCrtc crtc, |
152 AppendAction(GetCrtcAction(config->crtc, config->x, config->y, config->mode, | 152 RRMode mode, |
153 config->output)); | 153 RROutput output, |
| 154 int x, |
| 155 int y) OVERRIDE { |
| 156 AppendAction(GetCrtcAction(crtc, x, y, mode, output)); |
| 157 return true; |
154 } | 158 } |
155 virtual void CreateFrameBuffer( | 159 virtual void CreateFrameBuffer( |
156 int width, | 160 int width, |
157 int height, | 161 int height, |
158 const std::vector<OutputConfigurator::CrtcConfig>& configs) OVERRIDE { | 162 const std::vector<OutputConfigurator::OutputSnapshot>& outputs) OVERRIDE { |
159 AppendAction( | 163 AppendAction( |
160 GetFramebufferAction(width, | 164 GetFramebufferAction(width, |
161 height, | 165 height, |
162 configs.size() >= 1 ? configs[0].crtc : 0, | 166 outputs.size() >= 1 ? outputs[0].crtc : 0, |
163 configs.size() >= 2 ? configs[1].crtc : 0)); | 167 outputs.size() >= 2 ? outputs[1].crtc : 0)); |
164 } | 168 } |
165 virtual void ConfigureCTM( | 169 virtual void ConfigureCTM( |
166 int touch_device_id, | 170 int touch_device_id, |
167 const OutputConfigurator::CoordinateTransformation& ctm) OVERRIDE { | 171 const OutputConfigurator::CoordinateTransformation& ctm) OVERRIDE { |
168 AppendAction(GetCTMAction(touch_device_id, ctm)); | 172 AppendAction(GetCTMAction(touch_device_id, ctm)); |
169 } | 173 } |
170 virtual void SendProjectingStateToPowerManager(bool projecting) OVERRIDE { | 174 virtual void SendProjectingStateToPowerManager(bool projecting) OVERRIDE { |
171 AppendAction(projecting ? kProjectingOn : kProjectingOff); | 175 AppendAction(projecting ? kProjectingOn : kProjectingOff); |
172 } | 176 } |
173 | 177 |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 configurator_.set_state_controller(&state_controller_); | 260 configurator_.set_state_controller(&state_controller_); |
257 configurator_.set_mirroring_controller(&mirroring_controller_); | 261 configurator_.set_mirroring_controller(&mirroring_controller_); |
258 | 262 |
259 OutputConfigurator::OutputSnapshot* o = &outputs_[0]; | 263 OutputConfigurator::OutputSnapshot* o = &outputs_[0]; |
260 o->output = 1; | 264 o->output = 1; |
261 o->crtc = 10; | 265 o->crtc = 10; |
262 o->current_mode = kSmallModeId; | 266 o->current_mode = kSmallModeId; |
263 o->native_mode = kSmallModeId; | 267 o->native_mode = kSmallModeId; |
264 o->selected_mode = kSmallModeId; | 268 o->selected_mode = kSmallModeId; |
265 o->mirror_mode = kSmallModeId; | 269 o->mirror_mode = kSmallModeId; |
| 270 o->x = 0; |
266 o->y = 0; | 271 o->y = 0; |
267 o->height = kSmallModeHeight; | |
268 o->is_internal = true; | 272 o->is_internal = true; |
269 o->is_aspect_preserving_scaling = true; | 273 o->is_aspect_preserving_scaling = true; |
270 o->touch_device_id = 0; | 274 o->touch_device_id = 0; |
271 o->has_display_id = true; | 275 o->has_display_id = true; |
272 | 276 |
273 o = &outputs_[1]; | 277 o = &outputs_[1]; |
274 o->output = 2; | 278 o->output = 2; |
275 o->crtc = 11; | 279 o->crtc = 11; |
276 o->current_mode = kBigModeId; | 280 o->current_mode = kBigModeId; |
277 o->native_mode = kBigModeId; | 281 o->native_mode = kBigModeId; |
278 o->selected_mode = kBigModeId; | 282 o->selected_mode = kBigModeId; |
279 o->mirror_mode = kSmallModeId; | 283 o->mirror_mode = kSmallModeId; |
| 284 o->x = 0; |
280 o->y = 0; | 285 o->y = 0; |
281 o->height = kBigModeHeight; | |
282 o->is_internal = false; | 286 o->is_internal = false; |
283 o->is_aspect_preserving_scaling = true; | 287 o->is_aspect_preserving_scaling = true; |
284 o->touch_device_id = 0; | 288 o->touch_device_id = 0; |
285 o->has_display_id = true; | 289 o->has_display_id = true; |
286 | 290 |
287 UpdateOutputs(2); | 291 UpdateOutputs(2); |
288 delegate_->AddMode(kSmallModeId, kSmallModeWidth, kSmallModeHeight, false); | 292 delegate_->AddMode(kSmallModeId, kSmallModeWidth, kSmallModeHeight, false); |
289 delegate_->AddMode(kBigModeId, kBigModeWidth, kBigModeHeight, false); | 293 delegate_->AddMode(kBigModeId, kBigModeWidth, kBigModeHeight, false); |
290 } | 294 } |
291 | 295 |
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
757 test_api_.SendOutputChangeEvents(true); | 761 test_api_.SendOutputChangeEvents(true); |
758 EXPECT_EQ(STATE_DUAL_EXTENDED, configurator_.output_state()); | 762 EXPECT_EQ(STATE_DUAL_EXTENDED, configurator_.output_state()); |
759 | 763 |
760 outputs_[0].has_display_id = true; | 764 outputs_[0].has_display_id = true; |
761 UpdateOutputs(2); | 765 UpdateOutputs(2); |
762 test_api_.SendOutputChangeEvents(true); | 766 test_api_.SendOutputChangeEvents(true); |
763 EXPECT_EQ(STATE_DUAL_MIRROR, configurator_.output_state()); | 767 EXPECT_EQ(STATE_DUAL_MIRROR, configurator_.output_state()); |
764 } | 768 } |
765 | 769 |
766 } // namespace chromeos | 770 } // namespace chromeos |
OLD | NEW |