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

Side by Side Diff: ash/common/display/display_info.cc

Issue 2095193002: clang-format all of //ash (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 unified diff | Download patch
« no previous file with comments | « ash/common/display/display_info.h ('k') | ash/common/focus_cycler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/common/display/display_info.h" 5 #include "ash/common/display/display_info.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <string> 10 #include <string>
(...skipping 19 matching lines...) Expand all
30 // Use larger than max int to catch overflow early. 30 // Use larger than max int to catch overflow early.
31 const int64_t kSynthesizedDisplayIdStart = 2200000000LL; 31 const int64_t kSynthesizedDisplayIdStart = 2200000000LL;
32 32
33 int64_t synthesized_display_id = kSynthesizedDisplayIdStart; 33 int64_t synthesized_display_id = kSynthesizedDisplayIdStart;
34 34
35 const float kDpi96 = 96.0; 35 const float kDpi96 = 96.0;
36 bool use_125_dsf_for_ui_scaling = true; 36 bool use_125_dsf_for_ui_scaling = true;
37 37
38 // Check the content of |spec| and fill |bounds| and |device_scale_factor|. 38 // Check the content of |spec| and fill |bounds| and |device_scale_factor|.
39 // Returns true when |bounds| is found. 39 // Returns true when |bounds| is found.
40 bool GetDisplayBounds( 40 bool GetDisplayBounds(const std::string& spec,
41 const std::string& spec, gfx::Rect* bounds, float* device_scale_factor) { 41 gfx::Rect* bounds,
42 float* device_scale_factor) {
42 int width = 0; 43 int width = 0;
43 int height = 0; 44 int height = 0;
44 int x = 0; 45 int x = 0;
45 int y = 0; 46 int y = 0;
46 if (sscanf(spec.c_str(), "%dx%d*%f", 47 if (sscanf(spec.c_str(), "%dx%d*%f", &width, &height, device_scale_factor) >=
47 &width, &height, device_scale_factor) >= 2 || 48 2 ||
48 sscanf(spec.c_str(), "%d+%d-%dx%d*%f", &x, &y, &width, &height, 49 sscanf(spec.c_str(), "%d+%d-%dx%d*%f", &x, &y, &width, &height,
49 device_scale_factor) >= 4) { 50 device_scale_factor) >= 4) {
50 bounds->SetRect(x, y, width, height); 51 bounds->SetRect(x, y, width, height);
51 return true; 52 return true;
52 } 53 }
53 return false; 54 return false;
54 } 55 }
55 56
56 // Display mode list is sorted by: 57 // Display mode list is sorted by:
57 // * the area in pixels in ascending order 58 // * the area in pixels in ascending order
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 // DSF=1.25 is special on internal display. The screen is drawn with DSF=1.25 97 // DSF=1.25 is special on internal display. The screen is drawn with DSF=1.25
97 // but it doesn't affect the screen size computation. 98 // but it doesn't affect the screen size computation.
98 if (use_125_dsf_for_ui_scaling && is_internal && device_scale_factor == 1.25f) 99 if (use_125_dsf_for_ui_scaling && is_internal && device_scale_factor == 1.25f)
99 return gfx::ToFlooredSize(size_dip); 100 return gfx::ToFlooredSize(size_dip);
100 size_dip.Scale(1.0f / device_scale_factor); 101 size_dip.Scale(1.0f / device_scale_factor);
101 return gfx::ToFlooredSize(size_dip); 102 return gfx::ToFlooredSize(size_dip);
102 } 103 }
103 104
104 bool DisplayMode::IsEquivalent(const DisplayMode& other) const { 105 bool DisplayMode::IsEquivalent(const DisplayMode& other) const {
105 const float kEpsilon = 0.0001f; 106 const float kEpsilon = 0.0001f;
106 return size == other.size && 107 return size == other.size && std::abs(ui_scale - other.ui_scale) < kEpsilon &&
107 std::abs(ui_scale - other.ui_scale) < kEpsilon && 108 std::abs(device_scale_factor - other.device_scale_factor) < kEpsilon;
108 std::abs(device_scale_factor - other.device_scale_factor) < kEpsilon;
109 } 109 }
110 110
111 // satic 111 // satic
112 DisplayInfo DisplayInfo::CreateFromSpec(const std::string& spec) { 112 DisplayInfo DisplayInfo::CreateFromSpec(const std::string& spec) {
113 return CreateFromSpecWithID(spec, display::Display::kInvalidDisplayID); 113 return CreateFromSpecWithID(spec, display::Display::kInvalidDisplayID);
114 } 114 }
115 115
116 // static 116 // static
117 DisplayInfo DisplayInfo::CreateFromSpecWithID(const std::string& spec, 117 DisplayInfo DisplayInfo::CreateFromSpecWithID(const std::string& spec,
118 int64_t id) { 118 int64_t id) {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 float highest_refresh_rate = -1.0f; 184 float highest_refresh_rate = -1.0f;
185 main_spec = parts[0]; 185 main_spec = parts[0];
186 std::string resolution_list = parts[1]; 186 std::string resolution_list = parts[1];
187 parts = base::SplitString(resolution_list, "|", base::KEEP_WHITESPACE, 187 parts = base::SplitString(resolution_list, "|", base::KEEP_WHITESPACE,
188 base::SPLIT_WANT_NONEMPTY); 188 base::SPLIT_WANT_NONEMPTY);
189 for (size_t i = 0; i < parts.size(); ++i) { 189 for (size_t i = 0; i < parts.size(); ++i) {
190 DisplayMode mode; 190 DisplayMode mode;
191 gfx::Rect mode_bounds; 191 gfx::Rect mode_bounds;
192 std::vector<std::string> resolution = base::SplitString( 192 std::vector<std::string> resolution = base::SplitString(
193 parts[i], "%", base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY); 193 parts[i], "%", base::KEEP_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
194 if (GetDisplayBounds( 194 if (GetDisplayBounds(resolution[0], &mode_bounds,
195 resolution[0], &mode_bounds, &mode.device_scale_factor)) { 195 &mode.device_scale_factor)) {
196 mode.size = mode_bounds.size(); 196 mode.size = mode_bounds.size();
197 if (resolution.size() > 1) 197 if (resolution.size() > 1)
198 sscanf(resolution[1].c_str(), "%f", &mode.refresh_rate); 198 sscanf(resolution[1].c_str(), "%f", &mode.refresh_rate);
199 if (mode.size.GetArea() >= largest_area && 199 if (mode.size.GetArea() >= largest_area &&
200 mode.refresh_rate > highest_refresh_rate) { 200 mode.refresh_rate > highest_refresh_rate) {
201 // Use mode with largest area and highest refresh rate as native. 201 // Use mode with largest area and highest refresh rate as native.
202 largest_area = mode.size.GetArea(); 202 largest_area = mode.size.GetArea();
203 highest_refresh_rate = mode.refresh_rate; 203 highest_refresh_rate = mode.refresh_rate;
204 native_mode = i; 204 native_mode = i;
205 } 205 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 device_dpi_(kDpi96), 261 device_dpi_(kDpi96),
262 overscan_insets_in_dip_(0, 0, 0, 0), 262 overscan_insets_in_dip_(0, 0, 0, 0),
263 configured_ui_scale_(1.0f), 263 configured_ui_scale_(1.0f),
264 native_(false), 264 native_(false),
265 is_aspect_preserving_scaling_(false), 265 is_aspect_preserving_scaling_(false),
266 clear_overscan_insets_(false), 266 clear_overscan_insets_(false),
267 color_profile_(ui::COLOR_PROFILE_STANDARD) {} 267 color_profile_(ui::COLOR_PROFILE_STANDARD) {}
268 268
269 DisplayInfo::DisplayInfo(const DisplayInfo& other) = default; 269 DisplayInfo::DisplayInfo(const DisplayInfo& other) = default;
270 270
271 DisplayInfo::~DisplayInfo() { 271 DisplayInfo::~DisplayInfo() {}
272 }
273 272
274 void DisplayInfo::SetRotation(display::Display::Rotation rotation, 273 void DisplayInfo::SetRotation(display::Display::Rotation rotation,
275 display::Display::RotationSource source) { 274 display::Display::RotationSource source) {
276 rotations_[source] = rotation; 275 rotations_[source] = rotation;
277 rotations_[display::Display::ROTATION_SOURCE_ACTIVE] = rotation; 276 rotations_[display::Display::ROTATION_SOURCE_ACTIVE] = rotation;
278 active_rotation_source_ = source; 277 active_rotation_source_ = source;
279 } 278 }
280 279
281 display::Display::Rotation DisplayInfo::GetActiveRotation() const { 280 display::Display::Rotation DisplayInfo::GetActiveRotation() const {
282 return GetRotation(display::Display::ROTATION_SOURCE_ACTIVE); 281 return GetRotation(display::Display::ROTATION_SOURCE_ACTIVE);
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 415
417 return result; 416 return result;
418 } 417 }
419 418
420 std::string DisplayInfo::ToFullString() const { 419 std::string DisplayInfo::ToFullString() const {
421 std::string display_modes_str; 420 std::string display_modes_str;
422 std::vector<DisplayMode>::const_iterator iter = display_modes_.begin(); 421 std::vector<DisplayMode>::const_iterator iter = display_modes_.begin();
423 for (; iter != display_modes_.end(); ++iter) { 422 for (; iter != display_modes_.end(); ++iter) {
424 if (!display_modes_str.empty()) 423 if (!display_modes_str.empty())
425 display_modes_str += ","; 424 display_modes_str += ",";
426 base::StringAppendF(&display_modes_str, 425 base::StringAppendF(&display_modes_str, "(%dx%d@%f%c%s)",
427 "(%dx%d@%f%c%s)", 426 iter->size.width(), iter->size.height(),
428 iter->size.width(), 427 iter->refresh_rate, iter->interlaced ? 'I' : 'P',
429 iter->size.height(),
430 iter->refresh_rate,
431 iter->interlaced ? 'I' : 'P',
432 iter->native ? "(N)" : ""); 428 iter->native ? "(N)" : "");
433 } 429 }
434 return ToString() + ", display_modes==" + display_modes_str; 430 return ToString() + ", display_modes==" + display_modes_str;
435 } 431 }
436 432
437 void DisplayInfo::SetColorProfile(ui::ColorCalibrationProfile profile) { 433 void DisplayInfo::SetColorProfile(ui::ColorCalibrationProfile profile) {
438 if (IsColorProfileAvailable(profile)) 434 if (IsColorProfileAvailable(profile))
439 color_profile_ = profile; 435 color_profile_ = profile;
440 } 436 }
441 437
(...skipping 15 matching lines...) Expand all
457 453
458 void DisplayInfo::ClearInputDevices() { 454 void DisplayInfo::ClearInputDevices() {
459 input_devices_.clear(); 455 input_devices_.clear();
460 } 456 }
461 457
462 void ResetDisplayIdForTest() { 458 void ResetDisplayIdForTest() {
463 synthesized_display_id = kSynthesizedDisplayIdStart; 459 synthesized_display_id = kSynthesizedDisplayIdStart;
464 } 460 }
465 461
466 } // namespace ash 462 } // namespace ash
OLDNEW
« no previous file with comments | « ash/common/display/display_info.h ('k') | ash/common/focus_cycler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698