Index: resolution_selector.cc |
diff --git a/resolution_selector.cc b/resolution_selector.cc |
index e13b0e0fe6a94e500388321fc81c181043f80026..52a7da390fcee7d0dc757fb37e594b274e10a109 100644 |
--- a/resolution_selector.cc |
+++ b/resolution_selector.cc |
@@ -18,16 +18,16 @@ const int ResolutionSelector::kMaxProjectorPixels = 1280 * 720; |
bool ResolutionSelector::FindBestResolutions( |
const vector<Mode>& lcd_modes, |
const vector<Mode>& external_modes, |
- string* lcd_resolution, |
- string* external_resolution, |
- string* screen_resolution) { |
+ Mode* lcd_resolution, |
+ Mode* external_resolution, |
+ Mode* screen_resolution) { |
DCHECK(!lcd_modes.empty()); |
// If there's no external display, just use the highest resolution |
// available from the LCD. |
if (external_modes.empty()) { |
- *lcd_resolution = *screen_resolution = lcd_modes[0].name; |
- external_resolution->clear(); |
+ *lcd_resolution = *screen_resolution = lcd_modes[0]; |
+ external_resolution->name.clear(); |
return true; |
} |
@@ -45,8 +45,8 @@ bool ResolutionSelector::FindBestResolutions( |
// forget about trying to choose a screen size that'll fit on the |
// built-in display. |
if (max_external_size > kMaxProjectorPixels) { |
- *external_resolution = *screen_resolution = external_modes[0].name; |
- lcd_resolution->clear(); |
+ *external_resolution = *screen_resolution = external_modes[0]; |
+ lcd_resolution->name.clear(); |
return true; |
} |
return FindNearestResolutions( |
@@ -58,9 +58,9 @@ bool ResolutionSelector::FindBestResolutions( |
bool ResolutionSelector::FindNearestResolutions( |
const vector<Mode>& larger_device_modes, |
const vector<Mode>& smaller_device_modes, |
- std::string* larger_resolution, |
- std::string* smaller_resolution, |
- std::string* screen_resolution) { |
+ Mode* larger_resolution, |
+ Mode* smaller_resolution, |
+ Mode* screen_resolution) { |
DCHECK(!larger_device_modes.empty()); |
DCHECK(!smaller_device_modes.empty()); |
DCHECK(larger_resolution); |
@@ -68,7 +68,7 @@ bool ResolutionSelector::FindNearestResolutions( |
DCHECK(screen_resolution); |
// Start with the best that the smaller device has to offer. |
- *smaller_resolution = smaller_device_modes[0].name; |
+ *smaller_resolution = smaller_device_modes[0]; |
*screen_resolution = *smaller_resolution; |
int smaller_width = smaller_device_modes[0].width; |
int smaller_height = smaller_device_modes[0].height; |
@@ -77,14 +77,14 @@ bool ResolutionSelector::FindNearestResolutions( |
larger_device_modes.rbegin(); |
it != larger_device_modes.rend(); ++it) { |
if (it->width >= smaller_width && it->height >= smaller_height) { |
- *larger_resolution = it->name; |
+ *larger_resolution = *it; |
return true; |
} |
} |
LOG(WARNING) << "Failed to find a resolution from larger device " |
<< "exceeding chosen resolution from smaller device (" |
- << *smaller_resolution << ")"; |
+ << smaller_resolution->name << ")"; |
return false; |
} |